機器學習——線性回歸(二)梯度下降求解

??在上文中利用矩陣運算的方法對損失函數(shù)進行優(yōu)化,但其有一定的局限性,其要求矩陣必須可逆,下面用梯度下降的方法對其進行優(yōu)化。J(w)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-w^{T}x^{(i)})^{2}

??初始化w,沿著負梯度方向迭代,更新后的w,使J(w)更小:w=w-\alpha \frac{\partial J(w)}{\partial w} \quad\quad\quad\partial:學習率,步長

??求出每一個變量的梯度,然后順著梯度的負方向按著一定的步長\alpha進行更新;
??對每一個w_{i}進行梯度分解:\begin{align*} \frac{\partial }{\partial w_{i}}J(w_{i})&= \frac{\partial }{\partial w}\frac{1}{2}\sum_{i=1}^{m}(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})^{2}\\ &={m}(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})\sum_{i=1}^{m}\frac{\partial }{\partial w_{i}}(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})\\ &=(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})x_{i} \end{align*}
??對于每一個變量,求出其梯度,帶入下式進行迭代:
??Repeat until convergence {
????w_{j}:=w_{j}+\alpha \sum_{i=1}^{m}(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})x_{i}
}
??上式是批量梯度下降,每一次更新都要將樣本的梯度加起來,數(shù)據(jù)量大的時候效率較低。下面還有一種按樣本個體進行優(yōu)化,就是隨機梯度下降:
??Loop{
????for i = 1 to m,,{
????????????w_{j}:=w_{j}+\alpha(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})x_{i}
????????????}
}
??當模型的復(fù)雜度提高的時候,對訓(xùn)練集的數(shù)據(jù)擬合很好,但會出現(xiàn)過擬合現(xiàn)象,為防止出現(xiàn)過擬合應(yīng)該加入懲罰項,根據(jù)懲罰因子的不同可分為以下幾種:
J(w)=\frac{1}{2}\sum_{i=1}^{m}(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})^{2}+\lambda \sum_{i=1}^{m}\left | w_{j} \right |\quad L_{1}正則—Ridge回歸
J(w)=\frac{1}{2}\sum_{i=1}^{m}(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})^{2}+\lambda \sum_{i=1}^{m}w_{j}^2 \quad \quad L_{2}正則—Lasso回歸
J(w)=\frac{1}{2}\sum_{i=1}^{m}(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})^{2}+\lambda (\rho \sum_{i=1}^{m}\left | w_{j} \right |+(1-\rho )\sum_{i=1}^{m}w_{j}^2) \quad L_{3}正則—Elastic Net回歸
??采用不同的正則項對模型有不同的影響,有時間再繼續(xù)分享。

最后編輯于
?著作權(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)容