參考論文如下:
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∞andn 是收斂的。
所以,極限 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 成立。
至此,定理證畢