Sunforger

Sunforger

隨機逼近:Robbins - Monro算法

參考論文如下:
Robbins, Herbert, and Sutton Monro. "A stochastic approximation method." The annals of mathematical statistics (1951): 400-407.

問題定義#

函數 M(x)M(x) 表達式未知。給定一個 xx 值,我們無法觀測到其對應 M(x)M(x) 的準確值,因為我們的觀察往往還包含有噪聲,此謂隨機

y=M(x)+εy = M(x) + \varepsilon

我們認為,雖有噪聲,所得觀測值 yy 還是有跡可循的,它服從概率分布 Y=Y(x)Y=Y(x)。其累積分布函數(或稱概率分布函數、分布函數) Cumulative Distribution Function (CDF) 為:

H(yx)=Pr(Y(x)y)H(y|x) = {\rm Pr}(Y(x)\leq y)

並且滿足隨機變量 Y(x)Y(x) 的期望與真實值 M(x)M(x) 相等:

M(x)=y dH(yx)M(x) = \int_{-\infty}^\infty y~{\rm d}H(y|x)

儘管不知道函數 M(x)M(x) 確切的表達式,我們經常要求方程 M(x)=αM(x)=\alpha 的根(其中 α\alpha 是常數)

為方便起見,我們假設函數 M(x)M(x) 單調,這樣我們能保證方程 M(x)=αM(x)=\alpha 只有唯一的根,記作 x=θx=\theta 由於 M(x)M(x) 未知, θ\theta 對於我們來說,也是未知的。

Robbins - Monro 算法利用現有的觀測值,通過一次接一次的迭代逼近實現 “曲線救國”,達到求根的最終目的。

方程求根問題可以很容易轉化為函數零點問題。
Robbins - Monro 算法的核心思想就是利用當前函數的取值位置去推算函數的零點位置。

Robbins - Monro 算法#

Robbins - Monro 算法是迭代求根算法。由於 M(x)M(x) 未知,我們無法使用牛頓法。即便我們能夠得知 M(x)M^\prime(x) 的表達式,應用牛頓法也未必會收斂。

在介紹算法結論前,我們給出一個重要前提:觀測值 yy 有界,這是算法能夠成立的基石。在實際使用中,這個前提一般是能夠滿足的。
用數學語言描述,就是對於概率分布 Y(x)Y(x) 來說,Pr(Y(x)C)=cc dH(yx)=1{\rm Pr}(|Y(x)|\leq C) = \int_{-c}^c ~{\rm d}H(y|x) = 1 恒成立。

我們直接給出 Robbins - Monro 算法的迭代公式

xn+1=xn+an(αyn)x_{n+1} = x_n + a_n(\alpha - y_n)

注意到,當常數 α=0\alpha = 0 時,迭代公式可以寫作 xn+1=xnanynx_{n+1} = x_n-a_ny_n

那麼迭代序列 {an}\{a_n\} 該如何選取呢?

迭代步長序列 {an}\{a_n\} 應當是非負序列,並且滿足:

limiai=0,i=1ai=i=1ai2<\lim\limits_{i\rightarrow\infty} a_i = 0, \quad\sum\limits_{i=1}^\infty a_i = \infty,\quad\sum\limits_{i=1}^\infty a_i^2 \lt \infty

以保證算法能夠收斂,且誤差可控。

我們取 an=1na_n = \frac1n 是滿足上述條件的一個序列。實際上,所有形似 cnancn\frac{c^\prime}{n}\leq a_n\leq \frac{c^{\prime\prime}}{n} 都是滿足條件的序列。其中 c, cc^\prime, ~c^{\prime\prime} 都是正實數常量。這樣的序列,我們稱作 1n\frac1n 型序列。


定理:如果序列 {an}\{a_n\}1n\frac1n 型序列,M(x)M(x) 單調不減,方程 M(x)=αM(x) = \alpha 存在唯一的根 θ\theta 且滿足導數 M(θ)>0M^\prime(\theta)>0 則 Robbins-Monro 算法有效。迭代逼近得到的根 xnx_n 依概率收斂到真實根 θ\theta


直觀理解#

上文曾提到,方程求根問題可以轉化為函數零點問題,Robbins - Monro 算法利用當前函數的取值去推算函數的零點位置。

如果函數是非降函數,函數取值為正,那麼意味著下一次迭代需要負向修正(使得函數取值能夠向 0 靠近),反之如果函數取值為負,則需要正向修正。

由於函數取值最終需要趨向於 0(零點),迭代步長也需要逐漸減小且須保證最終趨於 0。且為確保收斂,累積的方差應當有窮。

算法證明#

要保證算法成立,迭代得到的根 xnx_{n} 須要依概率收斂到真實根 θ\theta
用數學語言描述就是:當 nn\rightarrow \infty 時,P(xnθ<εxn1)1\mathbb P(|x_n-\theta|\lt\varepsilon|x_{n-1})\rightarrow 1P(xnθ>εxn1)0\mathbb P(|x_n-\theta|\gt\varepsilon|x_{n-1})\rightarrow 0 其中,ε\varepsilon 是任意正實數。

從依概率收斂的充分條件入手。 limnE(xnθ)2=0\lim_{n\rightarrow\infty}\mathbb E(x_n-\theta)^2=0 是依概率收斂的一個充分條件。

當二階矩極限為 0 時,結合方差的非負性,可得 Var(xnθ)=E(xnθ)=0Var(x_n-\theta) = \mathbb E(x_n-\theta) = 0 然後根據切比雪夫不等式可保證依概率收的斂條件成立

充分條件和必要條件:
有 A 必有 B,則 A 是 B 的充分條件。
無 A 比無 B,則 A 是 B 的必要條件。

切比雪夫不等式 Chebyshev's Inequality

P(XE[X]b)Var[X]b2\mathbb P(|X-\mathbb E[X]|\geq b)\leq \frac{Var[X]}{b^2}

因此,我們只需要能夠證明 limnE(xnθ)2=0\lim_{n\rightarrow\infty}\mathbb E(x_n-\theta)^2=0 即可。

根據迭代方程,我們列出:

E[(xn+1θ)2]=E[E[(xn+1θ)2xn]]=E[(xn+an(αy)θ)2 dH(yxn)]=E[((xnθ)2+2(xnθ)an(αyn)+an2(αyn)2) dH(yxn)]=E[(xnθ)2]2anE[(xnθ)(M(xn)α)]+an2E[(αy)2 dH(yxn)]\begin{align*} \mathbb E [(x_{n+1}-\theta)^2] &= \mathbb E[\mathbb E[(x_{n+1}-\theta)^2|x_n] ]\\ &=\mathbb E\left[\int_{-\infty}^\infty (x_n+a_n(\alpha-y)-\theta)^2 ~{\rm d}H(y|x_n) \right] \\ &=\mathbb E\left[\int_{-\infty}^\infty \left((x_n-\theta)^2 +2(x_n-\theta)a_n(\alpha-y_n) + a_n^2(\alpha-y_n)^2 \right) ~{\rm d}H(y|x_n) \right] \\ &= \mathbb E[(x_n-\theta)^2]-2a_n\mathbb E[(x_n-\theta)(M(x_n)-\alpha)] + a_n^2\mathbb E\left[\int_{-\infty}^\infty (\alpha-y)^2~{\rm d}H(y|x_n)\right] \end{align*}

其中 E(E(X))=E(X)\mathbb E(\mathbb E(X)) = \mathbb E(X)

我們對上式中的記號,做一些替換,簡化式子。

bn=E[(xnθ)2]dn=E[(xnθ)(M(xn)α)]en=E[(αy)2 dH(yxn)]\begin{align*} & b_n = \mathbb E[(x_n-\theta)^2]\\ & d_n = \mathbb E[(x_n-\theta)(M(x_n)-\alpha)]\\ & e_n = \mathbb E\left[\int_{-\infty}^\infty(\alpha -y)^2~{\rm d}H(y|x_n)\right] \end{align*}

所以,上式也可以寫成 bn+1bn=2andnan2enb_{n+1}-b_n = 2a_nd_n - a_n^2e_n

我們曾假設 M(x)M(x) 是單調的。不妨更進一步,令其單調不減
易得:

dn=E[(xnθ)(M(xn)α)]=(xnθ)(M(xn)α)>0\begin{align*} d_n &= \mathbb E[(x_n-\theta)(M(x_n)-\alpha)] \\ &= (x_n-\theta)(M(x_n)-\alpha) \\ &\gt 0 \end{align*}

由於觀測值 yy 有界,ene_n 也有界。

en(C+α)2<\begin{align*} e_n \leq (C+|\alpha|)^2 \lt\infty \end{align*}

bn+1bn=2andnan2enb_{n+1}-b_n = 2a_nd_n - a_n^2e_n 求和,得到

bn+1=b1+j=1naj2ej2j=1najdjb_{n+1} = b_1+\sum_{j=1}^n a_j^2e_j-2\sum_{j=1}^n a_j d_j

因為 bn+1=E[(xn+1θ)2]0b_{n+1} = \mathbb E [(x_{n+1}-\theta)^2] \geq0

j=1najdj12(b1+j=1nan2en)<\begin{align*} \sum_{j=1}^n a_jd_j \leq \frac12\left( b_1+\sum_{j=1}^n a_n^2 e_n \right) \lt \infty \end{align*}

因此,正項級數 positive-term series 1andn\sum_1^\infty a_nd_n 是收斂的。

所以,極限 limnbn=limnE(xnθ)2\lim_{n\rightarrow\infty} b_n = \lim_{n\rightarrow\infty}\mathbb E(x_n-\theta)^2 必定存在


引理 1 若非負常數序列 {kn}\{k_n\} 滿足 dnknbn,n=1ankn=d_n\geq k_nb_n, \sum_{n=1}^\infty a_nk_n=\inftylimnE(xnθ)2=0\lim_{n\rightarrow\infty}\mathbb E(x_n-\theta)^2=0 成立

已經證明, n=1andn\sum_{n=1}^\infty a_nd_n 收斂,又有 n=1andnn=1anknbn\sum_{n=1}^\infty a_nd_n \geq \sum_{n=1}^\infty a_nk_nb_n,因此級數 n=1anknbn\sum_{n=1}^\infty a_nk_nb_n 理應收斂。但 n=1ankn\sum_{n=1}^\infty a_nk_n 發散,所以必有 limnbn=0\lim_{n\rightarrow\infty}b_n=0


根據 Robbins-Monro 算法的遞推公式 xn+1xn=an(αyn)x_{n+1} - x_n = a_n(\alpha - y_n),由於觀測值有界,結合遞推公式,我們定義

xnθAn=x1θ+(C+α)(a1+a2++an1)|x_n-\theta| \leq A_n = |x_1-\theta| + (C+|\alpha|)(a_1+a_2+\cdots+a_{n-1})

可得 Pr(xnθAn)=1{\rm Pr}(|x_n-\theta|\leq A_n) = 1,取

kn=inf{M(x)αxθ}for0<xθAn\overline k_n = \inf\left\{ \frac{M(x)-\alpha}{x-\theta} \right\}, \quad {\rm for} \quad 0 \lt|x-\theta|\leq A_n

由於前面假設了函數單調不減,所以 kn0\overline k_n\geq0 成立。因此

dn=xθAn(xθ)(M(x)α) dPn(x)xθAnkn(xθ)2 dPn(x)=knbnd_n=\int_{|x-\theta|\leq A_n}(x-\theta)(M(x)-\alpha)~{\rm d}P_n(x)\geq \int_{|x-\theta|\leq A_n}\overline k_n(x-\theta)^2~{\rm d}P_n(x) = \overline k_n b_n

假設:對正常數 KK,當 nn 足夠大時

  1. knKAn\overline k_n\geq\frac K{A_n},且
  2. n=2an(a1++an1)=\sum_{n=2}^\infty \frac{a_n}{(a_1+\cdots+a_{n-1})} = \infty

很明顯可得:1an=\sum_1^\infty a_n = \infty 因此,當 nn 足夠大時:

An=x1θ+(C+α)(a1+a2++an1)2(C+α)(a1+a2++an1)A_n = |x_1-\theta| + (C+|\alpha|)(a_1+a_2+\cdots+a_{n-1}) \leq 2(C+|\alpha|)(a_1+a_2+\cdots+a_{n-1})

可以證明,當 nn 足夠大時

anknanKAnanK2(C+α)(a1+a2++an1)a_n\overline k_n\geq a_n\frac K{A_n}\geq \frac{a_nK}{2(C+|\alpha|)(a_1+a_2+\cdots+a_{n-1})}

n=1ankn=\sum_{n=1}^\infty a_nk_n=\infty 發散。根據引理 1 推出:


引理 2 若存在正常數 KK,當 nn 足夠大時,若 {kn}\{\overline k_n\}{an}\{a_n\} 滿足以下假設

  1. knKAn\overline k_n\geq\frac K{A_n},且
  2. n=2an(a1++an1)=\sum_{n=2}^\infty \frac{a_n}{(a_1+\cdots+a_{n-1})} = \infty

那麼必有 limnbn=0\lim_{n\rightarrow\infty}b_n=0


前文我們提到,an=1na_n = \frac1n 是滿足條件的一個 {an}\{a_n\} 序列。我們只需證明存在符合假設條件的 {kn}\{k_n\} 即可。

直觀來講,迭代式中不存在 knk_n 的表達形式,我們也應當避免結論顯式依賴於 knk_n 才對。在引理 2 的推導過程中,我們將 knk_nM(x)M(x) 聯繫在了一起,於是很自然地,我們轉而對 M(x)M(x) 的性質提出要求。


定理 1 當 {an}\{a_n\}1n\frac 1n 型序列,且 M(x)M(x) 滿足

M(x){αδfor  x<θα+δfor  x>θfor some δ>0.M(x)\left\{ \begin{align*} &\leq \alpha - \delta && {\rm for}~~ x\lt\theta\\ &\geq \alpha+\delta && {\rm for}~~x\gt\theta \end{align*}\right. \quad {\rm for~some~}\delta\gt 0.

那麼必有 limnbn=0\lim_{n\rightarrow\infty}b_n=0


可根據引理 2 證明這個結論。由於

M(x)αxθδAn,for  0<xθAn \frac{M(x)-\alpha}{x-\theta} \geq \frac\delta{A_n},\quad {\rm for}~~0\lt|x-\theta|\leq A_n

因此 knδAn\overline k_n\geq \frac\delta{A_n} ,取 K=δK=\delta 引理 2 成立。

定理 1 中對於 M(x)M(x) 的限制條件比較強(難以滿足),我們希望能夠得到一個較寬鬆的條件(不那麼難滿足的條件)。


定理 2 當函數 M(x)M(x) 滿足條件:

  1. M(x)M(x) 單調不減
  2. M(θ)=αM(\theta) = \alpha
  3. M(θ)>0M^\prime(\theta)\gt 0

必有 limnbn=0\lim_{n\rightarrow\infty}b_n=0


我們同樣根據引理 2 進行證明。
首先:

M(x)α=(xθ)(M(x)+o(xθ))M(x)-\alpha = (x-\theta)(M^\prime(x) + o(x-\theta))

其中 o(xθ)o(x-\theta) 是高階無窮小,根據假設條件,結合函數圖像容易理解: o(xθ)0o(x-\theta) \geq 0。顯然存在常數 δ>0\delta\gt0 使得 xθδ|x-\theta|\leq\deltao(xθ)12M(θ)o(x-\theta) \geq -\frac12M^\prime(\theta)

因此:

M(x)αxθ{M(θ+δ)αAnδM(θ)2Anfor θ+δxθ+An=αM(x)θxαM(θδ)AnδM(θ)2Anfor θAnxθδ\frac{M(x)-\alpha}{x-\theta} \left\{\begin{align*} &\geq \frac{M(\theta+\delta)-\alpha}{A_n} \geq \frac{\delta M^\prime(\theta)}{2A_n} && {\rm for}~\theta+\delta\leq x\leq \theta+A_n \\ & = \frac{\alpha-M(x)}{\theta-x}\geq \frac{\alpha-M(\theta-\delta)}{A_n}\geq \frac{\delta M^\prime(\theta)}{2A_n} && {\rm for}~\theta-A_n\leq x\leq \theta-\delta \end{align*} \right.

K=δM(θ)2>0K=\frac{\delta M^\prime(\theta)}{2}\gt0 引理 2 成立。

至此,定理證畢

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。