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/ 這篇文章講的不錯測試

 

 

相關文章
相關標籤/搜索