徹底搞懂機器學習里的L1與L2正則化

極市導讀
?本文主要講述機器學習中L1與L2正則化的理論知識,關(guān)于兩者的區(qū)別、優(yōu)勢以及如何選擇,還有關(guān)于L1、L2范數(shù)作為損失函數(shù)的情況。?>>極市福利贈書活動:機器學習“蜥蜴書”最新版來了!豆瓣評分9.9!
今日錦囊
特征錦囊:今天一起搞懂機器學習里的L1與L2正則化
今天我們來講講一個理論知識,也是老生常談的內(nèi)容,在模型開發(fā)相關(guān)崗位中出場率較高的,那就是L1與L2正則化了,這個看似簡單卻十分重要的概念,還是需要深入了解的。網(wǎng)上有蠻多的學習資料,今天我就著自己的理解也寫一下筆記。
從西瓜書里我們可以了解到正則項的作用,那就是降低模型過擬合的風險,通常常用的有L1范數(shù)正則化與L2范數(shù)正則化,作為單獨一項(正則項)加入到損失函數(shù)中,也可以自己作為損失函數(shù)。
?L1 and L2范數(shù)
在了解L1和L2范數(shù)之前,我們可以先來了解一下范數(shù)(norm)的定義,根據(jù)參考文獻[2]的說明:
A norm is a mathematical thing that is applied to a vector (like the vector?β?above). The norm of a vector maps vector values to values in?[0,∞). In machine learning, norms are useful because they are used to express distances: this vector and this vector are so-and-so far apart, according to this-or-that norm.


我們引用文章里的圖片,L2-norm的距離就是兩個黑點之間的綠線,而另外的3條線,都是L1-norm的大小。

L1 and L2正則項
在上面我們有提及到,L1、L2范數(shù)可以用于損失函數(shù)里的一個正則化項,作用就是降低模型復雜度,減小過擬合的風險。這里的正則化項,存在的目的就是作為一個“懲罰項”,對損失函數(shù)中的某一些參數(shù)做一些限制,是結(jié)構(gòu)風險最小化策略的體現(xiàn),就是選擇經(jīng)驗風險(平均損失函數(shù))和模型復雜度同時較小的模型。
針對線性回歸模型,假設對其代價函數(shù)里加入正則化項,其中L1和L2正則化項的表示分別如下所示,其中λ >= 0,是用來平衡正則化項和經(jīng)驗風險的系數(shù)。

機器學習中一般怎么選擇正則項
Q1:L1和L2正則化項的區(qū)別?
首先,我們從上面那張二維的圖可以看出,對于L2-norm,其解是唯一的,也就是綠色的那條;而對于L1-norm,其解不唯一,因此L1正則化項,其計算難度通常會高于L2的。
其次,L1通常是比L2更容易得到稀疏輸出的,會把一些不重要的特征直接置零,至于為什么L1正則化為什么更容易得到稀疏解,可以看下圖:

上圖代表的意思就是目標函數(shù)-平方誤差項的等值線和L1、L2范數(shù)等值線(左邊是L1),我們正則化后的代價函數(shù)需要求解的目標就是在經(jīng)驗風險和模型復雜度之間的平衡取舍,在圖中形象地表示就是黑色線與彩色線的交叉點。
對于L1范數(shù),其圖形為菱形,二維屬性的等值線有4個角(高維的會有更多),“突出來的角”更容易與平方誤差項進行交叉,而這些“突出來的角”都是在坐標軸上,即W1或則W2為0;
而對于L2范數(shù),交叉點一般都是在某個象限中,很少有直接在坐標軸上交叉的。
因此L1范數(shù)正則化項比L2的更容易得到稀疏解。
Q2:各有什么優(yōu)勢,如何作選擇?
直接上結(jié)論:
1)因為L1范數(shù)正則化項的“稀疏解”特性,L1更適合用于特征選擇,找出較為“關(guān)鍵”的特征,而把一些不那么重要的特征置為零。
2)L2范數(shù)正則化項可以產(chǎn)生很多參數(shù)值很小的模型,也就是說這類的模型抗干擾的能力很強,可以適應不同的數(shù)據(jù)集,適應不同的“極端條件”。
?如何作為Loss Function
講完了作為正則化項的內(nèi)容了,那么講講L1、L2范數(shù)作為損失函數(shù)的情況。假設我們有一個線性回歸模型,我們需要評估模型的效果,很常規(guī)的,我們會用“距離”來衡量誤差!
若使用L1-norm來衡量距離,那就是我們的LAD(Least Absolute Deviation,最小絕對偏差),其優(yōu)化的目標函數(shù)如下:

L1損失函數(shù)的結(jié)果更具魯棒性,也就是說對于異常值更加不敏感。而根據(jù)其范數(shù)“天性”,L2的求解更為簡單與“唯一”。?
Reference
[1] Differences between L1 and L2 as Loss Function and Regularization
http://www.chioka.in/differences-between-l1-and-l2-as-loss-function-and-regularization/
[2] L1 Norms versus L2 Norms
https://www.kaggle.com/residentmario/l1-norms-versus-l2-norms
?ACCV 2020國際細粒度網(wǎng)絡圖像識別競賽正式開賽!

