1. 程式人生 > >(3)梯度下降法Gradient Descent

(3)梯度下降法Gradient Descent

作用 http 方程 優化方法 radi 方法 分享 移動 最優解

梯度下降法

  • 不是一個機器學習算法
  • 是一種基於搜索的最優化方法
  • 作用:最小化一個損失函數
  • 梯度上升法:最大化一個效用函數

舉個栗子

技術分享圖片

直線方程:導數代表斜率

曲線方程:導數代表切線斜率

導數可以代表方向,對應J增大的方向。對於藍點,斜率為負,西塔減少時J增加,西塔增加時J減少,我們想讓J減小,對應導數的負方向,因此前面需要加上負號。

技術分享圖片(伊塔對應步長)-------(1)

技術分享圖片

用當前點的西塔加上(1)式,得到新的西塔。因為導數是負值,前面又有負號,所以整個是正值,加上一個正值對應西塔在增大。

多維函數中,對各維求導數,其實就是梯度。

技術分享圖片

當點取在右邊時,(1)式也成立。此時斜率為正,西塔增加J增加,西塔減少J減少,我們想讓J減少因此我們前面也要加上負號。此時相當於 西塔減去一個正值 -> 西塔變小了 -> 在向著左邊移動。

我們可以想成這是一個山谷,放一個球下來,球自然會滾到最低處。梯度下降即在模擬這個過程。球滾落的速率 即由 伊塔 決定。

技術分享圖片

技術分享圖片

技術分享圖片

並不是所有函數都有唯一的極值點

如果從最右側的點開始搜索,找到局部最優解後就結束了。

技術分享圖片

技術分享圖片

註:對於線性回歸來說,

技術分享圖片

(3)梯度下降法Gradient Descent