機(jī)器學(xué)習(xí)——線性回歸(二)梯度下降求解

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

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

??求出每一個(gè)變量的梯度,然后順著梯度的負(fù)方向按著一定的步長(zhǎng)\alpha進(jìn)行更新;
??對(duì)每一個(gè)w_{i}進(jìn)行梯度分解:\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*}
??對(duì)于每一個(gè)變量,求出其梯度,帶入下式進(jìn)行迭代:
??Repeat until convergence {
????w_{j}:=w_{j}+\alpha \sum_{i=1}^{m}(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})x_{i}
}
??上式是批量梯度下降,每一次更新都要將樣本的梯度加起來(lái),數(shù)據(jù)量大的時(shí)候效率較低。下面還有一種按樣本個(gè)體進(jìn)行優(yōu)化,就是隨機(jī)梯度下降:
??Loop{
????for i = 1 to m,,{
????????????w_{j}:=w_{j}+\alpha(y_{i}^{(i)}-w_{i}^{T}x_{i}^{(i)})x_{i}
????????????}
}
??當(dāng)模型的復(fù)雜度提高的時(shí)候,對(duì)訓(xùn)練集的數(shù)據(jù)擬合很好,但會(huì)出現(xiàn)過(guò)擬合現(xiàn)象,為防止出現(xiàn)過(guò)擬合應(yīng)該加入懲罰項(xià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回歸
??采用不同的正則項(xiàng)對(duì)模型有不同的影響,有時(shí)間再繼續(xù)分享。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容