有點類似動量梯度下降法,其過程為:
我們在神經網路中,算出了dw,
dbdw,db
dw,d
b,然後令:
s dw
:=βs
dw+(
1−β)
dw2s
db:=
βsdb
+(1−
β)db
2w:=
w−α⋅
dwsd
w+10
−8b:
=b−α
⋅dbs
db+1
0−8sdw:=\beta sdw+(1-\beta)dw^2\\ sdb:=\beta sdb+(1-\beta)db^2\\ \;\\ w:=w-\alpha\cdot \frac+10^}\\ b:=b-\alpha\cdot \frac+10^}
sdw:=β
sdw+
(1−β
)dw2
sdb:
=βsd
b+(1
−β)d
b2w:
=w−α
⋅sdw
+10
−8dw
b:=
b−α⋅
sdb
+10−
8db
還是那張圖:
對於乙個變化較大的方向(上圖中的垂直方向),其dw2
dw^2
dw2會很大,所以除上sdw
\sqrt
sdw
很變得很小,所以可以做到減緩其變化。
而較小的方向,其dw2
dw^2
dw2會很小,所以除上sdw
\sqrt
sdw
很變得很大,所以可以做到加速變化。
分母加上乙個較小的數是為了避免除乙個極小的數的問題。
rmsprop梯度下降法是用除上變化幅度來完成的降幅或增幅,而momentum梯度下降法是通過求平均的方式消除不正確的方向上的波動,增進正確方向的速度。
梯度下降法和隨機梯度下降法
批量梯度下降法 batch gradient descent 在更新引數時使用所有的樣本來進行更新 隨機梯度下降法 stochastic gradient descent 求梯度時沒有用所有的m個樣本的資料,而是僅僅選取乙個樣本j來求梯度。小批量梯度下降法 mini batch gradient d...
梯度下降法
梯度下降法 是乙個一階 最優化演算法 通常也稱為 最速下降法 我之前也沒有關注過這類演算法。最近,聽史丹福大學的機器學習課程時,碰到了用梯度下降演算法求解線性回歸問題,於是看了看這類演算法的思想。今天只寫了一些入門級的知識。我們知道,函式的曲線如下 程式設計實現 c code cpp view pl...
梯度下降法
回歸 regression 梯度下降 gradient descent 發表於332 天前 技術,科研 被圍觀 1152 次 前言 這個系列主要想能夠用數學去描述機器學習,想要學好機器學習,首先得去理解其中的數學意義,不一定要到能夠輕鬆自如的推導中間的公式,不過至少得認識這些 式子吧,不然看一些相關...