線性回歸函數(shù)的梯度下降算法求解流程


1.對于線性回歸,假設(shè)函數(shù)表示為:
h_\theta \left( x_{1}, x_{2}, ..., x_{n} \right) = \theta_{0} + \theta_{1}x_{1} + ... + \theta_{n}x_{n} ,
其中:

  • \theta_i(i=0,1,2,...,n)為模型參數(shù)
  • x_{i}(i=0,1,2,...,n)為每個樣本的n個特征值

2.同樣是線性回歸,對應(yīng)于上面的假設(shè)函數(shù),代價(損失)函數(shù)為:
J \left( \theta_0, \theta_1, ... , \theta_n \right) = \frac {1}{2m}\sum\limits_{i=1}^m \left( h_{\theta}(x_{0}^{(i)}, x_{1}^{(i)}, ... , x_{n}^{(i)})-y^{(i)} \right)^{2}
(PS: 為了評估模型擬合的好壞,通常用損失函數(shù)來度量擬合的程度。損失函數(shù)極小化,意味著擬合程度最好,對應(yīng)的模型參數(shù)即為最優(yōu)參數(shù)。在線性回歸中,損失函數(shù)通常為樣本輸出和假設(shè)函數(shù)的差取平方。)


3.通過求解代價函數(shù)的最小值, 得到與數(shù)據(jù)最匹配的擬合函數(shù)


4.通過梯度下降算法, 求解代價函數(shù)的最小值。
? ? 先決條件: 確認(rèn)優(yōu)化模型的假設(shè)函數(shù)和損失函數(shù)
? ? a. 初始化算法相關(guān)參數(shù):
? ? ? - \theta_0, \theta_1, ... , \theta_n,我喜歡將所有的θ初始化為0
? ? ? - 將步長α 初始化為1
? ? ? - 算法終止距離ε
? ? b. 算法過程:
? ? ? - 1)確定當(dāng)前位置的代價函數(shù)的梯度,對于θi,其梯度表達(dá)式如下:
? ? ?? ? ?\frac{\partial }{\partial {{\theta }_{i}}}J \left( \theta_0, \theta_1, ... , \theta_n \right)
? ? ? - 2) 用步長乘以損失函數(shù)的梯度,得到當(dāng)前位置下降的距離,即:
? ? ?? ? ?\alpha \frac{\partial }{\partial {{\theta }_{i}}}J \left( \theta_0, \theta_1, ... , \theta_n \right) , 對應(yīng)于前面登山例子中的某一步。
? ? ? - 3) 確定是否所有的\theta_{i}梯度下降都小于終止距離ε ?
? ? ?? ? ? ? ?- 都小于終止距離ε則算法終止,當(dāng)前所有的\theta_i(i=0,1,2,...,n)即為最終結(jié)果。
? ? ?? ? ? ? ?- 否則進(jìn)入步驟4
? ? ? - 4)更新所有的\theta 對于 \theta_{i} , 更新完畢后繼續(xù)轉(zhuǎn)入步驟1。更新表達(dá)式為:
? ? ?? ? ?{\theta_{i}}:={\theta_{i}}-\alpha \frac{\partial }{\partial {\theta_{i}}}J\left(\theta_{0}, \theta_{1}, ... , \theta_{n} \right)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容