當前位置:
首頁 > 最新 > 梯度下降演算法以及與線性回歸模型的結合

梯度下降演算法以及與線性回歸模型的結合

梯度下降演算法在機器學習領域是非常重要的一個解決問題的方法,目的就是基於歷史數據,擬合出一個理想的模型。

一、梯度下降演算法闡述

1.1 梯度下降闡述

梯度下降演算法是對損失函數(cost function)進行求導,最後目標是獲得使損失函數的導數最小或者相對最小的參數值。

具體分析,損失函數 J(θ0,θ1),圖形化表示損失函數如圖:

梯度下降演算法的目的就是將(θ0,θ1)對應的 J(θ0,θ1)從較高的地方,逐步改變到低谷的 J(θ0,θ1)值,也就是讓 J(θ0,θ1)儘可能的小,可以理解成從山上下山,逐漸下到較低或最低的山底。

梯度下降演算法如下:

(其中alpha>0, j=0,1)

舉個例子:

例如損失函數如圖所示,alpha>0,如果初始值在A1點,A1點的斜率是正數,那麼θ1會往左移動,往更加接近最低點的位置移動。

如果初始值處於B1點,斜率為負數,那麼θ1會往右移動,也是往更加接近最低點的位置移動。

1.2 alpha的作用

alpha表示學習速率,直觀的表現是影響梯度下降過程中的步長。alpha越大,學習速率越大,收斂越快,alpha越小,學習速率越小,收斂越慢。

另外,alpha的值如果過於小,會是學習速率過於慢,影響效率,另外,很容易得出局部最優解的結果。alpha的值過大也會引發另一個問題,導致梯度下降的過程中錯過最優解,而導致發散不收斂。

1.3 alpha大小的影響

1.4 收斂速率

即使不調節alpha的值,隨著梯度下降過程中越來越接近最優點或局部最優點,由於斜率在接近最優點的過程中是逐漸降低的,收斂速率也是逐步降低的。

例如,A1的斜率大於A2的斜率,B1的斜率大於B2的斜率。

1.5 局部最優解

當cost function如下圖所示的時候,很容易求出的θ值是局部最優解。局部最優解的表現是導師為0,達到局部最優解的位置之後,無論怎麼進行梯度下降,由於其導數為0,都不會改變θ值。

1.6 θ參數同時更新

有一點需要說明,所有θ的更新需要同步進行,不能單獨進行,下面對θ的更新進行了比較,一定要謹記。

二、線性回歸模型的梯度下降

2.1 總體闡述

左側是梯度下降演算法,右側是線性回歸模型以及相應的cost function

2.2 梯度下降的演算法求解

以下就是梯度下降演算法的求解過程,一般對微積分和求導有所了解的話,還是比較簡單的。

2.3 線性函數的cost function(凸函數)

線性回歸的cost function是凸函數,所謂的凸函數簡單點理解就是一個弓形函數,在梯度下降的時候,只會求出最優解。

2.4 線性回歸模型的梯度下降過程

三、總結

以上就是針對梯度下降演算法,以及結合線性回歸模型的梯度下降的演算法解釋。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數據之下 的精彩文章:

TAG:數據之下 |