計算均值的新方法
有兩種方法。第一種方法很直接,即收集所有樣本后計算平均值;但這種方法的缺點是,若樣本是在一段時間內逐個收集的,我們必須等到所有樣本都收集完畢。第二種方法可避免此缺點,因為它以增量迭代的方式計算平均值,來幾個就計算幾個,不需要等了。
步驟
假設
由此可得
則有
最終推導出?增量更新公式:
一般性替換
此算法是一種特殊的?SA 算法(隨機近似算法),也是一種特殊的?隨機梯度下降算法
Robbins-Monro 算法?
隨機梯度下降算法是 RM 算法的特殊形式
RM算法的目的是在不知道方程表達式、只進行采樣的前提下求方程的解
為了求解的解,我們采用
(*),其中
是第k次帶噪聲的觀測
具體的實現步驟是,輸入一個,我們可以得到一個帶噪聲的觀測值
,通過(*)式可以得到
,又可以據此我們可以得到一個帶噪聲的觀測值
,由
通過(*)式可以得到
......
如果我們能證明這樣的序列會收斂于
的解
,那這樣的一個算法就是可行的
下面我們引入Robbins-Monro定理來證明這個序列收斂于
的解
Robbins-Monro定理
若有
滿足的一個典型序列是
,其無窮級數發散,其無窮平方和=
,實際常把
選為足夠小的常數,這雖然違反條件,但是可以避免
帶來的后端序列權重過低的問題
是一種特殊的RM算法
隨機梯度下降
Stochastic Gradient Descent (SGD)
隨機梯度下降算法是為了解決一個優化問題?
我們要優化來使
的值最小
是隨機變量,
是
和
的函數;
這個隨機變量的概率分布已經給定但是暫時是未知的,
的
就是對
求期望;
和
既可以是向量也可以是標量,
的值是標量
方法一:梯度下降GD
隨機梯度下降通過在每次迭代中,沿著目標函數期望梯度的負方向來更新參數 ,逐步逼近目標函數的最小值點。實際應用中,由于計算整個數據集上目標函數的期望梯度(全量梯度)計算量過大,通常會采用小批量數據或者單個數據來近似計算期望梯度,從而實現高效的參數更新。
方法二:批量梯度下降BGD
當?n = 1時,就是每次只用一個樣本進行梯度更新,即SGD;當?n?為整個數據集樣本數時,就退化為批量梯度下降。 這種基于樣本近似計算梯度的方式,在大規模數據場景下極大地降低了計算復雜度,使得優化算法能夠高效運行
方法三:隨機梯度下降SGD
式子等號右邊,原來的變成了對
的隨機采樣
;true gradient
變成了stochastic gradient
。這就是BGD里令n=1的情況
例子
考慮一個優化問題
其中
其最優解為
GD
SGD

收斂性
從GD到SGD:
可以看作是
的帶噪聲的觀測值:
下面我們證明SGD是一個特殊的RM算法,由此來證明SGD在滿足某些條件的情況下是收斂的
proof:
SGD是要解決一個優化問題:,令
最小。這樣的優化問題可以轉化為尋找
的根,因為其梯度為0是取得極小值的必要條件。
下面即求的根
我們用RM算法來求的根
?這實際上就是SGD算法
SGD算法的有趣性質
由于隨機梯度是隨機的,因此其近似并不精確,那么隨機梯度下降法(SGD)的收斂過程是緩慢的還是隨機的呢?
上述等式揭示了隨機梯度下降法(SGD)一種有趣的收斂模式:
BGD & MBGD & SGD
總結
參考文章
S. Zhao. Mathematical Foundations of Reinforcement Learning. Springer Nature Press, 2025. ?【【強化學習的數學原理】課程:從零開始到透徹理解(完結)】
https://www.bilibili.com/video/BV1sd4y167NS/?? p=2&share_source=copy_web&vd_source=52164f68a5f27ac2e86f0e7963ea966c?