参考论文如下:
Robbins, Herbert, and Sutton Monro. "A stochastic approximation method." The annals of mathematical statistics (1951): 400-407.
问题定义#
函数 M(x) 表达式未知。给定一个 x 值,我们无法观测到其对应 M(x) 的准确值,因为我们的观察往往还包含有噪声,此谓随机:
y=M(x)+ε
我们认为,虽有噪声,所得观测值 y 还是有迹可循的,它服从概率分布 Y=Y(x)。其累积分布函数(或称概率分布函数、分布函数) Cumulative Distribution Function (CDF) 为:
H(y∣x)=Pr(Y(x)≤y)
并且满足随机变量 Y(x) 的期望与真实值 M(x) 相等:
M(x)=∫−∞∞y dH(y∣x)
尽管不知道函数 M(x) 确切的表达式,我们经常要求方程 M(x)=α 的根(其中 α 是常数)
为方便起见,我们假设函数 M(x) 单调,这样我们能保证方程 M(x)=α 只有唯一的根,记作 x=θ。 由于 M(x) 未知, θ 对于我们来说,也是未知的。
Robbins - Monro 算法利用现有的观测值,通过一次接一次的迭代逼近实现 “曲线救国”,达到求根的最终目的。
方程求根问题可以很容易转化为函数零点问题。
Robbins - Monro 算法的核心思想就是利用当前函数的取值位置去推算函数的零点位置。
Robbins - Monro 算法#
Robbins - Monro 算法是迭代求根算法。由于 M(x) 未知,我们无法使用牛顿法。即便我们能够得知 M′(x) 的表达式,应用牛顿法也未必会收敛。
在介绍算法结论前,我们给出一个重要前提:观测值 y 有界,这是算法能够成立的基石。在实际使用中,这个前提一般是能够满足的。
用数学语言描述,就是对于概率分布 Y(x) 来说,Pr(∣Y(x)∣≤C)=∫−cc dH(y∣x)=1 恒成立。
我们直接给出 Robbins - Monro 算法的迭代公式
xn+1=xn+an(α−yn)
注意到,当常数 α=0 时,迭代公式可以写作 xn+1=xn−anyn
那么迭代序列 {an} 该如何选取呢?
迭代步长序列 {an} 应当是非负序列,并且满足:
i→∞limai=0,i=1∑∞ai=∞,i=1∑∞ai2<∞
以保证算法能够收敛,且误差可控。
我们取 an=n1 是满足上述条件的一个序列。实际上,所有形似 nc′≤an≤nc′′ 都是满足条件的序列。其中 c′, c′′ 都是正实数常量。这样的序列,我们称作 n1 型序列。
定理:如果序列 {an} 是 n1 型序列,M(x) 单调不减,方程 M(x)=α 存在唯一的根 θ 且满足导数 M′(θ)>0 则 Robbins-Monro 算法有效。迭代逼近得到的根 xn 依概率收敛到真实根 θ。
直观理解#
上文曾提到,方程求根问题可以转化为函数零点问题,Robbins - Monro 算法利用当前函数的取值去推算函数的零点位置。
如果函数是非降函数,函数取值为正,那么意味着下一次迭代需要负向修正(使得函数取值能够向 0 靠近),反之如果函数取值为负,则需要正向修正。
由于函数取值最终需要趋向于 0(零点),迭代步长也需要逐渐减小且须保证最终趋于 0。且为确保收敛,累积的方差应当有穷。
算法证明#
要保证算法成立,迭代得到的根 xn 须要依概率收敛到真实根 θ。
用数学语言描述就是:当 n→∞ 时,P(∣xn−θ∣<ε∣xn−1)→1 或 P(∣xn−θ∣>ε∣xn−1)→0 其中,ε 是任意正实数。
从依概率收敛的充分条件入手。 limn→∞E(xn−θ)2=0 是依概率收敛的一个充分条件。
当二阶矩极限为 0 时,结合方差的非负性,可得 Var(xn−θ)=E(xn−θ)=0 然后根据切比雪夫不等式可保证依概率收的敛条件成立。
充分条件和必要条件:
有 A 必有 B,则 A 是 B 的充分条件。
无 A 比无 B,则 A 是 B 的必要条件。
切比雪夫不等式 Chebyshev's Inequality
P(∣X−E[X]∣≥b)≤b2Var[X]
因此,我们只需要能够证明 limn→∞E(xn−θ)2=0 即可。
根据迭代方程,我们列出:
E[(xn+1−θ)2]=E[E[(xn+1−θ)2∣xn]]=E[∫−∞∞(xn+an(α−y)−θ)2 dH(y∣xn)]=E[∫−∞∞((xn−θ)2+2(xn−θ)an(α−yn)+an2(α−yn)2) dH(y∣xn)]=E[(xn−θ)2]−2anE[(xn−θ)(M(xn)−α)]+an2E[∫−∞∞(α−y)2 dH(y∣xn)]
其中 E(E(X))=E(X)
我们对上式中的记号,做一些替换,简化式子。
bn=E[(xn−θ)2]dn=E[(xn−θ)(M(xn)−α)]en=E[∫−∞∞(α−y)2 dH(y∣xn)]
所以,上式也可以写成 bn+1−bn=2andn−an2en
我们曾假设 M(x) 是单调的。不妨更进一步,令其单调不减。
易得:
dn=E[(xn−θ)(M(xn)−α)]=(xn−θ)(M(xn)−α)>0
由于观测值 y 有界,en 也有界。
en≤(C+∣α∣)2<∞
将 bn+1−bn=2andn−an2en 求和,得到
bn+1=b1+j=1∑naj2ej−2j=1∑najdj
因为 bn+1=E[(xn+1−θ)2]≥0,
j=1∑najdj≤21(b1+j=1∑nan2en)<∞
因此,正项级数 positive-term series ∑1∞andj 是收敛的。
所以,极限 limn→∞bn=limn→∞E(xn−θ)2 必定存在。
引理 1 若非负常数序列 {kn} 满足 dn≥knbn,∑n=1∞ankn=∞ 则 limn→∞E(xn−θ)2=0 成立。
已经证明, ∑n=1∞andn 收敛,又有 ∑n=1∞andn≥∑n=1∞anknbn,因此级数 ∑n=1∞anknbn 理应收敛。但 ∑n=1∞ankn 发散,所以必有 limn→∞bn=0
根据 Robbins-Monro 算法的递推公式 xn+1−xn=an(α−yn),由于观测值有界,结合递推公式,我们定义
∣xn−θ∣≤An=∣x1−θ∣+(C+∣α∣)(a1+a2+⋯+an−1)
可得 Pr(∣xn−θ∣≤An)=1,取
kn=inf{x−θM(x)−α},for0<∣x−θ∣≤An
由于前面假设了函数单调不减,所以 kn≥0 成立。因此
dn=∫∣x−θ∣≤An(x−θ)(M(x)−α) dPn(x)≥∫∣x−θ∣≤Ankn(x−θ)2 dPn(x)=knbn
假设:对正常数 K,当 n 足够大时
- kn≥AnK,且
- ∑n=2∞(a1+⋯+an−1)an=∞
很显然可得:∑1∞an=∞ 因此,当 n 足够大时:
An=∣x1−θ∣+(C+∣α∣)(a1+a2+⋯+an−1)≤2(C+∣α∣)(a1+a2+⋯+an−1)
可以证明,当 n 足够大时
ankn≥anAnK≥2(C+∣α∣)(a1+a2+⋯+an−1)anK
即 ∑n=1∞ankn=∞ 发散。根据引理 1 推出:
引理 2 若存在正常数 K,当 n 足够大时,若 {kn} 和 {an} 满足以下假设
- kn≥AnK,且
- ∑n=2∞(a1+⋯+an−1)an=∞
那么必有 limn→∞bn=0
前文我们提到,an=n1 是满足条件的一个 {an} 序列。我们只需证明存在符合假设条件的 {kn} 即可。
直观来讲,迭代式中不存在 kn 的表达形式,我们也应当避免结论显式依赖于 kn 才对。在引理 2 的推导过程中,我们将 kn 与 M(x) 联系在了一起,于是很自然地,我们转而对 M(x) 的性质提出要求。
定理 1 当 {an} 是 n1 型序列,且 M(x) 满足
M(x){≤α−δ≥α+δfor x<θfor x>θfor some δ>0.
那么必有 limn→∞bn=0
可根据引理 2 证明这个结论。由于
x−θM(x)−α≥Anδ,for 0<∣x−θ∣≤An
因此 kn≥Anδ ,取 K=δ 引理 2 成立。
定理 1 中对于 M(x) 的限制条件比较强(难以满足),我们希望能够得到一个较宽松的条件(不那么难满足的条件)。
定理 2 当函数 M(x) 满足条件:
- M(x) 单调不减
- M(θ)=α
- M′(θ)>0
必有 limn→∞bn=0
我们同样根据引理 2 进行证明。
首先:
M(x)−α=(x−θ)(M′(x)+o(x−θ))
其中 o(x−θ) 是高阶无穷小,根据假设条件,结合函数图像容易理解: o(x−θ)≥0。显然存在常数 δ>0 使得 ∣x−θ∣≤δ 时 o(x−θ)≥−21M′(θ)
因此:
x−θM(x)−α⎩⎨⎧≥AnM(θ+δ)−α≥2AnδM′(θ)=θ−xα−M(x)≥Anα−M(θ−δ)≥2AnδM′(θ)for θ+δ≤x≤θ+Anfor θ−An≤x≤θ−δ
取 K=2δM′(θ)>0 引理 2 成立。
至此,定理证毕