LO,L1和L2范式


監督機器學習問題無非就是再規則化參數的同時最小化誤差。

  • *最小化誤差是為了讓我們的模型擬合我們的訓練數據,而規則化參數是防止我們的模型過分擬合我們的訓練數據

規則化參數的作用:

  • *使得模型簡單,且具有好的泛化性能(也就是測試誤差小)
  • *將人對這個模型的先驗知識融入到模型的學習當中,使得模型具有稀疏、低秩、平滑等等特性。

規則化符合奧卡姆剃刀原理

  • *思想:在所有可能選擇的模型中,我們應該選擇很好地解釋已知數據並且十分簡單的模型。規則化是結構風險最小化策略的實現,是在經驗風險上加了一個正則化項(regularizer)或者懲罰項(penalty term).

一般監督學習可以看做最小化下面的目標函數:

這里寫圖片描述 
- *機器學習大部分模型目標函數基本都是如此,無非就是變換這兩項而已。 
-第一項LOSS函數: 
– square loss, 那就是最小二乘; 
– log-Loss, 那就是Logistic Regression; 
–Hinge Loss, 那就是SVM; 
–exp-Losss, 那就是牛逼的Boosting了;

Lo,L1和L2范式的介紹如下:

L0:計算非零個數,用於產生稀疏性,但是在實際研究中很少用,因為L0范數很難優化求解,是一個NP-hard問題,因此更多情況下我們是使用L1范數
L1:計算絕對值之和,用以產生稀疏性,因為它是L0范式的一個最優凸近似,容易優化求解
L2:計算平方和再開根號,L2范數更多是防止過擬合,並且讓優化求解變得穩定很快速(這是因為加入了L2范式之后,滿足了強凸)。
計算方式分別是:
L1范數:  ||x||_1 = \sum_{i=1}^N|x_i|,即向量元素絕對值之和。
 
L2范數: ||\textbf{x}||_2 =\sqrt{\sum_{i=1}^Nx_i^2},Euclid范數(歐幾里得范數,常用計算向量長度),即向量元素絕對值的平方和再開方
 

上圖中,藍色的圓圈表示原問題可能的解范圍,橘色的表示正則項可能的解范圍。而整個目標函數(原問題+正則項)有解當且僅當兩個解范圍相切。從上圖可以很容易地看出,由於2范數解范圍是圓,所以相切的點有很大可能不在坐標軸上(感謝評論區@臨熙指出表述錯誤),而由於1范數是菱形(頂點是凸出來的),其相切的點更可能在坐標軸上,而坐標軸上的點有一個特點,其只有一個坐標分量不為零,其他坐標分量為零,即是稀疏的。所以有如下結論,1范數可以導致稀疏解,2范數導致稠密解。那么為什么不用0范數呢,理論上它是求稀疏解最好的規范項了。然而在機器學習中,特征的維度往往很大,解0范數又是NP-hard問題,所以在實際中不可行。但是用1范數解是可行的,並且也可以得到稀疏解,所以實際稀疏模型中用1范數約束。

至此,我們總結一下,在機器學習中,以0范數和1范數作為正則項,可以求得稀疏解,但是0范數的求解是NP-hard問題; 以2范數作為正則項可以得到稠密解,並且由於其良好的性質,其解的定義很好,往往可以得到閉式解,所以用的很多。

為什么L1正則項可以做到把權重參數調整為0,實現稀疏化: https://liam0205.me/2017/03/30/L1-and-L2-regularizer/ 這篇文章講的不錯

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM