使用機器學習方法解決實際問題時,我們通常要用l1或l2範數做正則化(regularization) ,從而限制權值大小,減少過擬合風險。特別是在使用梯度下降來做目標函式優化時,很常見的說法是, l1正則化產生稀疏的權值, l2正則化產生平滑的權值。為什麼會這樣?這裡面的本質原因是什麼呢?下面我們從兩個角度來解釋這個問題。
l1正則化表示式
l2正則化表示式
一、數學角度
這個角度從權值的更新公式來看權值的收斂結果。
首先來看看l1和l2的梯度(導數的反方向):
所以(不失一般性,我們假定:wi等於不為0的某個正的浮點數,學習速率η 為0.5):
l1的權值更新公式為wi = wi - η * 1 = wi - 0.5 * 1,也就是說權值每次更新都固定減少乙個特定的值(比如0.5),那麼經過若干次迭代之後,權值就有可能減少到0。
l2的權值更新公式為wi = wi - η * wi = wi - 0.5 * wi,也就是說權值每次都等於上一次的1/2,那麼,雖然權值不斷變小,但是因為每次都等於上一次的一半,所以很快會收斂到較小的值但不為0。
下面的圖很直觀的說明了這個變化趨勢:
二、空間角度
這個角度從幾何位置關係來看權值的取值情況
高維我們無法想象,簡化到2維的情形,如上圖所示。其中,左邊是l1圖示,右邊是l2圖示,左邊的方形線上是l1中w1/w2取值區間,右邊的圓形線上是l2中w1/w2的取值區間,綠色的圓圈表示w1/w2取不同值時整個正則化項的值的等高線(凸函式),從等高線和w1/w2取值區間的交點可以看到,l1中兩個權值傾向於乙個較大另乙個為0,l2中兩個權值傾向於均為非零的較小數。這也就是l1稀疏,l2平滑的效果。
總結:l1是模型各個引數的絕對值之和,l2則是模型各個引數的平方和的開方子值;
l1會趨向於產生少量特徵,其他特徵都為0,l2則會選擇更多的特徵,這些特徵特徵都會接近與零。
L1與L2正則化
在機器學習中,我們茶廠聽到l1和l2正則化,用他們來防止過擬合,但是在什麼情況下使用它們和它們的原理是什麼樣的可能一知半解。所以在本部落格中將對l1和l2做簡單的介紹和應用場景。如果引數過多,模型過於複雜,容易造成過擬合 overfit 即模型在訓練樣本資料上表現的很好,但在實際測試樣本上表現的較差...
L1與L2正則化
尊重原創,我沒有改動乙個字。過擬合示意圖 我們知道,過擬合就是所謂的模型對可見的資料過度自信,非常完美的擬合上了這些資料,如果具備過擬合的能力,那麼這個方程就可能是乙個比較複雜的非線性方程 正是因為這裡的 x 3 和 x 2 使得這條虛線能夠被彎來彎去,所以整個模型就會特別努力地去學習作用在 x 3...
L1 與 L2 正則化
參考這篇文章 1.l2 正則化直觀解釋 l2 正則化公式非常簡單,直接在原來的損失函式基礎上加上權重引數的平方和 l ein jw2j l ein jwj2 其中,ein 是未包含正則化項的訓練樣本誤差,是正則化引數,可調。但是正則化項是如何推導的?接下來,我將詳細介紹其中的物理意義。我們知道,正則...