嶺(Ridge 線性回歸大結局、 Lasso回歸原理、公式推導),你想要的這里都有( 三 )


為什么正則化懲罰項Work?上面談到模型出現過擬合的現象,而加上\(L_2\)損失可以一直過擬合現象,我在這里簡單給大家說說我得觀點,不一定正確 , 希望可以幫助大家理解為什么\(L_2\)懲罰項可以在一定程度上抑制過擬合現象 。首先看一下真實數據:

嶺(Ridge 線性回歸大結局、 Lasso回歸原理、公式推導),你想要的這里都有

文章插圖
如果需要擬合的話 , 下面的結果應該是最好的,即一個正弦函數:
嶺(Ridge 線性回歸大結局、 Lasso回歸原理、公式推導),你想要的這里都有

文章插圖
下圖是一個過擬合的情況:
嶺(Ridge 線性回歸大結局、 Lasso回歸原理、公式推導),你想要的這里都有

文章插圖
我們可以觀察一下它真實規律正弦曲線的之間的差異:過擬合的曲線將每個點都考慮到了,因此他會有一個非常大的缺點就是”突變“,即曲線的斜率的絕對值非常大,如:
嶺(Ridge 線性回歸大結局、 Lasso回歸原理、公式推導),你想要的這里都有

文章插圖
對于一般的一次函數 \(y = ax + b\) 來說,當 \(a\) 很大的時候,斜率會很大 , 推廣到復雜模型也是一樣的,當模型參數很大的時候模型可能會發生劇烈的變化,即可能發生過擬合現象 ?,F在我們來看為什么在線性回歸中加入了一個 \(L_2\) 懲罰項會減少過擬合的現象 。因為在損失函數中有權重的二范數的平方,當權重過大的時候模型的損失就會越大,但是模型需要降低損失 , 那么就需要降低權重的值,權重的值一旦低下來,突變的可能性就會變小,因此在一定程度上可以抑制過擬合現象 。而參數 \(\alpha\) 就是來調控權重在損失中的比例,當 \(\lambda\) 越大的時候對權重懲罰的越狠 , 這在實際調參的過程中需要了解 。后面的 \(Lasso\) 回歸參數 \(\alpha\) 的意義也是相似的 。
Lasso回歸嶺回歸是在損失函數中加一個\(L_2\)損失,而\(Lasso\)回歸是在損失函數\(\mathcal{L(\hat{w})}\)后面加一個\(L_1\)的損失,即:
\[\mathcal{L(\hat{w})} = ||X\hat{w} - Y||_2^2 + \alpha\sum_{j=0}^{m}|{\hat{w}}_j| \tag{25}\]對公式\((25)\)求導:
\[\frac{\partial \mathcal{L(\hat{w})}}{\partial \hat{w}} = 2X^TX\hat{w} - 2X^TY + \alpha C = 0 \tag{26}\\\]\[\left\{\begin{matrix}c_i = -1\ ,\ if\\hat{w}_i < 0;\\c_i = 1\ ,\ if\\hat{w}_i \ge 0;\\\end{matrix}\right.\]其中\(C\)是和\(\hat{w}\)同維度的向量 。則可以得到:
\[\hat{w} = (X^TX)^{-1}(X^TY-\frac{\alpha}{2} C)\tag{27}\]線性回歸實現過程上面提到\(\mathcal{L(w, b)}\)是一個關于 \(\hat{w}\) 的凸函數,則當它關于\(\hat{w}\)導數為0時求出的\(\hat{w}\)是\(\hat{w}\)的最優解,因此在編碼實現線性回歸的過程中,如果數據集比較小可以直接將所有的數據同時進行計算 , 節省計算資源,因為只需要計算一次 \(\hat{w}\) 的導數 。但是如果數據量過大的話,計算無法一次性完成,可以使用隨機梯度下降法 , 或者其他的優化算法,進行多次迭代學習,得到最終的結果 。
Ridge回歸和Lasso回歸區別上面談到了 \(Ridge\) 和 \(Lasso\) 的具體的實現方法,還簡要談到了 \(Ridge\) 可以有效防止模型過擬合,和他在數據個數小于數據維度的時候的使用 。那么都是增加一個懲罰項 , 那么 \(Ridge\) 和 \(Lasso\) 有什么區別呢?
  • \(Ridge\) 和 \(Lasso\) 都可以在一定程度上防止模型過擬合
  • \(Ridge\) 在數據個數小于數據維度的時候比較適合
  • \(Lasso\) 的數據的屬性之間有共線性的時候比較適合
  • \(Ridge\) 會限制參數的大??,暑欫逼近?
  • \(Lasso\) 是一種稀疏模型,可以做特征選擇
為什么 \(Lasso\) 是一種稀疏模型,因為它在訓練的過程中可以使得權重 \(\hat{w}\) 中的某些值變成0(稀疏權重) , 如果一個屬性對應的權重為0,那么該屬性在最終的預測當中并沒有發揮作用,這就相當與模型選擇了部分屬性(他們你的權重不為0) 。我們很容易知道既然這些屬性對應的權值為0 , 即他對于模型來說并不重要,模型只選擇了些權重不為0的屬性,所以說 \(Lasso\) 可以做特征選擇 。而\(Ridge\) 也會不斷降低權值的大小,但是他不會讓權值變成0,只會不斷的縮小權值,使其逼近于0 。
Ridge和Lasso對權值的影響在正式討論這個問題之間我們首先先來分析不同的權值所對應的\(RSS\)(殘差平方和)值是多少 。\(RSS\)的定義如下:
\[RSS = \sum_{i=0}^{n}(x_i\hat{w} - y_i)^2\]對于一個只有兩個屬性的數據,對不同的權值計算整個數據集在相應權值下的 \(RSS\)。然后將 \(RSS\) 值相等的點連接起來做成一個等高線圖,看看相同的\(RSS\) 值下權值圍成了一個什么圖形 。

推薦閱讀