機器學習 - 線性回歸中的正則化

  • 為什么要正則化?
  • 正則化的本質(zhì)是什么?
  • 正則化有哪些方法?

1.為什么要正則化?

正則化可以解決模型過擬合的問題,產(chǎn)生過擬合一般有三個原因:

  • 訓練數(shù)據(jù)過少
    如果數(shù)據(jù)本身就不夠多,無法覆蓋真實的數(shù)據(jù)分布,那么數(shù)據(jù)訓練會對現(xiàn)有的片面數(shù)據(jù)訓練過度


    訓練數(shù)據(jù)過少
  • 數(shù)據(jù)特征過多(也屬于模型過于復雜)
    大道至簡,雖然影響一件事情的因素有很多,即使是有多元思維模型的人也難以窮盡這些因素,求解模型也一樣,總有幾個或者沒有那么多的特征才值得去重用,其他的權重稍微影響稍微有存在感即可
  • 模型過于復雜
    人腦善于把復雜的東西,進行歸納和總結,甚至是抽象出“概念”,即是越復雜的東西越難尋根問底,越難的東西不一定越高級、越好,數(shù)學公式向來都是美妙而簡潔(一般來說)。

2.正則化的本質(zhì)是什么?

本質(zhì)是對權重W的約束。某個特征的權重越小,該特征就越不能起決定作用,改無關緊要的特征只能對模型進行微調(diào),擾動較小,可以讓模型專注于有決定性的那些特征。

3.正則化有哪些方法?

梯度下降推導中,我們希望調(diào)整W,使得損失函數(shù)\mathbf{}J(\mathbf{w})越來越小,所以可以給損失函數(shù)添加一個關于w的懲罰項,用來約束w,即\mathbf{J}(\mathbf{}w)_{new} = \mathbf{J}(\mathbf{}w)_{old} +\mathbf{H}(\mathbf{w})
常見的懲罰項有L2和L1的罰項
L2:||w||_2 = \sqrt{\sum_{j = 1}^mw_j^2}
可以防止模型過擬合(overfitting)
L1:||w||_1 = \sum_{j = 1}^m|w_j|
可以產(chǎn)生稀疏權值矩陣,即產(chǎn)生一個稀疏模型,可以用于特征選擇,一定程度上也可以防止過擬合

  • 嶺回歸
    \begin{align} \mathbf{J}(\mathbf{w})_{Ridge} & = \sum_{i = 1}^n(y^{(i)} - \hat{y}^{(i)})^2 + \lambda{L2^2} \\ & = \sum_{i = 1}^n(y^{(i)} - \hat{y}^{(i)})^2 + \lambda{\sum_{j = 1}^mw_j^2} \end{align}
    嶺回歸可以使得某些不重要的權重w變小
  • LASSO回歸
    \begin{align} \mathbf{J}(\mathbf{w})_{LASSO} & = \sum_{i = 1}^n(y^{(i)} - \hat{y}^{(i)})^2 + \lambda{L1} \\ & = \sum_{i = 1}^n(y^{(i)} - \hat{y}^{(i)})^2 + \lambda{\sum_{j = 1}^m|w_j|} \end{align}
    LASSO回歸可以使某些權重在訓練的過程中變?yōu)?
    注意:\lambda是需要我們自己指定,是懲罰項的懲罰力度 ,L1本身就有很大的懲罰力度,可以使得某些w為0, 可以進行特征選擇。L2常用,模型屬于L2的多。

4.對L1、L2的圖解(以2維權值為例)

無懲罰項的梯度下降過程(三維).png

無懲罰項的梯度下降(二維)

帶L2懲罰項的梯度下降(二維)

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

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

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