天天看點

梯度下降法參數更新公式的推導

先來回顧一下梯度下降法的參數更新公式:

梯度下降法參數更新公式的推導

(其中,α是學習速率,

梯度下降法參數更新公式的推導

是梯度)

這個公式是怎麼來的呢?下面進行推導:

首先,如果一個函數 n 階可導,那麼我們可以用多項式仿造一個相似的函數,這就是泰勒展開式。其在a點處的表達式如下:

梯度下降法參數更新公式的推導

可以看出,随着式子的展開,這個展開式越來越接近于原函數。

如果用一階泰勒展開式,得到的函數近似表達式就是:

梯度下降法參數更新公式的推導

。想像梯度下降就是站在山坡上往下走,

梯度下降法參數更新公式的推導

是原點,

梯度下降法參數更新公式的推導

是往下走一步後所處的點。

我們知道梯度下降每走一步都是朝着最快下山的方向,是以應該最小化

梯度下降法參數更新公式的推導

我們使用一個向量來表示

梯度下降法參數更新公式的推導

梯度下降法參數更新公式的推導

梯度下降法參數更新公式的推導

也是一個向量,那麼上式可寫成:

梯度下降法參數更新公式的推導

既然我們要使

梯度下降法參數更新公式的推導

最小,那麼隻有當

梯度下降法參數更新公式的推導

等于-1,也就是

梯度下降法參數更新公式的推導

梯度下降法參數更新公式的推導

這兩個向量反方向時,

梯度下降法參數更新公式的推導

才會最小。

梯度下降法參數更新公式的推導
梯度下降法參數更新公式的推導

反方向時,我們可以用

梯度下降法參數更新公式的推導

向量來表示

梯度下降法參數更新公式的推導
梯度下降法參數更新公式的推導

。(其中

梯度下降法參數更新公式的推導

表示長度大小)

因為:

梯度下降法參數更新公式的推導

,代入可得:

梯度下降法參數更新公式的推導

這樣就可以得到參數更新公式:

梯度下降法參數更新公式的推導
梯度下降法參數更新公式的推導

是步長,

梯度下降法參數更新公式的推導

是函數在

梯度下降法參數更新公式的推導

時的梯度)

因為我們使用的是一階泰勒展開式,是以

梯度下降法參數更新公式的推導

要非常小,式子才成立。也就是說學習速率要非常小才行。是以如果你要讓你的損失函數越來越小的話,梯度下降的學習速率就要非常小。如果學習速率沒有設好,有可能更新參數的時候,函數近似表達式是不成立的,這樣就會導緻損失函數沒有越變越小。

繼續閱讀