MachineLearning—L1、L2正則化介紹

 

防止過擬合,也是爲了限制模型的複雜度,避免將噪聲也學習進去,通常考慮如下方法來限制懲罰模型:

 

0範數,向量中非零元素的個數最小,|W|0

1範數(L1正則),爲絕對值之和最小。

2範數(L2正則),就是通常意義上的模。

正則化Regularization,常用的機器學習損失函數後面都會多一個項,這個懲罰項目的是爲了對損失函數中的某些參數做一些限制(防止過擬合有時也會從減小W=(w0,w1 ,w2 ,w3,...wN )中w的個數方向考慮)。對於線性迴歸,使用L1正則的模型叫做Lasso迴歸,使用L2正則的模型叫做Ridge嶺迴歸,L1、L2正則化項分別如下所示:

 

注意L1正則化是指權值向量w中每個元素的絕對值之和,L2正則化是指權值向量w中每個元素的平方和再求開方,同時每個正則化項前面會有一個α係數。L1正則化可以產生稀疏權值矩陣,並一定程度防止過擬合,通常機器學習任務中特徵的維度會比較高,尤其在文本和圖像領域,特徵維度可能高達百萬,特徵的選擇比較困難。代入稀疏矩陣之後,大量的特徵權值爲零,這樣就可以只關注那些對模型結果有顯著影響的參數就可以了。L2正則化可以防止過擬合。

 

L1正則爲什麼可以得到稀疏權值矩陣:

其中J0是原始的損失函數,後面是L1正則化項,α是正則化係數,可以通過梯度下降法求出損失函數最小值, ,此時我們要求出L約束下,J的最小值。假設有二維情況w1,w2,L=|w1|+|w2|

其中等高線就是J0,L就是方框,兩者的交匯點就是最優解,此時(w1,w2)=(0,w),可以想象當特徵的維度很高時,會有很多這樣的頂點,與J0相交的概率很大,如此L1正則化便可以產生稀疏矩陣。

 

 

爲什麼L2正則可以防止過擬合

 

L2正則化中,J0與L相交時w1、w2等於零的機率很小,所以L2正則化不具有稀疏性。

在擬合模型的過程中,一般模型的權值越小越好,因爲如果模型的參數比較大,則數據有一點變化其結果都會發生較大改變,而當權值都比較小時,模型的抗擾動能力就比較大,同時避免過擬合想象一下如果權值比較大,即使當前模型擬合的訓練數據集很好,當面臨測試集時,數據的改變導致預測結果大大改變,這就是過擬合的表現)。那麼L2正則是如何讓權值都比較小的呢

梯度下降權值更新公式:

α是學習率,加上L2正則後

λ是正則化係數

可以發現每一次迭代θj都要乘以一個小於1的因子,從而使得θj不斷的減小。

L2正則是指向量各元素的平方和然後求平方根。我們讓L2的正則項||W||2最小,可以使得W的每個元素都很小,都接近於0,但與L1正則不同,它不會讓它等於0,而是接近於0,這裏是有很大的區別,所以大家比起L1正則,更偏向L2正則。

 

參考資料:https://blog.csdn.net/jinping_shi/article/details/52433975

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章