簡單讀了一些文章,總結一下l1和l2正則化的區別吧,似乎是非常容易被問到的乙個問題。
機器學習中, 損失函式後面一般會加上乙個額外項,常用的是l1-norm和l2-norm,即l1範數和l2範數。
可以看作是損失函式的懲罰項。正則化項一般是模型複雜度的單調遞增函式,模型越複雜,正則化值就越大。
上面的目標函式,第一項是模型要最小化的誤差,第二項是正則化項,λ>=0調節兩者之間關係的係數。
正則化項可以取不同的形式。
l0範數
是指正則化項是引數矩陣w中非0元素的個數,也就是說希望w的大部分元素都是0,w是稀疏的。
由於l0正則項非連續非凸不可求導,難以找到有效解,轉而使用l1範數。
l1範數
正則化項是向量中各個元素的絕對值之和。
l0和l1範數可以實現讓引數矩陣稀疏,讓引數稀疏的好處,可以實現對特徵的選擇(權重為0表示對應的特徵沒有作用,被丟掉),也可以增強模型可解釋性(例如研究影響疾病的因素,只有少數幾個非零元素,就可以知道這些對應的因素和疾病相關)
l1又稱lasso。
l2範數
功效是解決過擬合問題。當模型過於複雜,就會容易出現過擬合問題。
l2範數是指向量各個元素的平方,求和,然後再求平方根。
使l2範數最小,可以使得w的每個元素都很小,都接近於0,但和l1範數不同,l2不能實現稀疏,不會讓值等於0,而是接近於0。一般認為,越小的引數,模型越簡單,越簡單的模型就不容易產生過擬合現象。
l2又稱ridge,也稱嶺回歸。
公式:
區別:使用l1範數,可以使得引數稀疏化;
使用l2範數,傾向於使引數稠密地接近於0,避免過擬合。
文章同步在我的部落格
L1,L2正則化的區別
1,l1會趨向於產生少量的特徵,而其他不重要的特徵都為0,會產生稀疏性,可以用來選擇特徵,也能一定程度上防止過擬合。而l 2會選擇更多的特徵,特徵值都趨近於0,防止過擬合。lasso在選擇特徵時非常有用,而ridge就只是規則化而已。所以在所有特徵中只有少數特徵起重要作用的情況下,選擇lasso進行...
L1 L2損失 和 L1 L2正則化
1 l1損失 最小絕對值誤差 最小化 值 真實值 的絕對值,魯棒性強。2 l2損失 最小平方誤差 最小化 值 真實值 的平方,對於大於1的數,平方更大,因此對樣本敏感。3 l1正則化 l1正則化和l2正則化可以看做是損失函式的懲罰項,l1正則化是指權值向量中各個元素的絕對值之和。l1正則化可以產生稀...
L1 L2正則化介紹
1 正則化 regularization 對引數w的影響 說明 loss 代表原始的代價函式,後面那一項就是l2正則化項,它是這樣來的 所有引數w的平方的和,除以訓練集的樣本大小n。就是正則項係數,權衡正則項.在這裡並沒有除以樣本數量和2,是因為使用了絕對值誤差。一般情況下,los s y y 2 ...