【机器学习基础】一文搞懂机器学习里的L1与L2正则化
文章來源于SAMshare,作者flora
特征錦囊:今天一起搞懂機器學習里的L1與L2正則化
今天我們來講講一個理論知識,也是老生常談的內容,在模型開發相關崗位中出場率較高的,那就是L1與L2正則化了,這個看似簡單卻十分重要的概念,還是需要深入了解的。網上有蠻多的學習資料,今天我就著自己的理解也寫一下筆記。????
從西瓜書????里我們可以了解到正則項的作用,那就是降低模型過擬合的風險,通常常用的有L1范數正則化與L2范數正則化,作為單獨一項(正則項)加入到損失函數中,也可以自己作為損失函數。????
???? L1 and L2范數
在了解L1和L2范數之前,我們可以先來了解一下范數(norm)的定義,根據參考文獻[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.
簡單來說也就是范數其實在 [0,∞)范圍內的值,是向量的投影大小,在機器學習中一般會勇于衡量向量的距離。范數有很多種,我們常見的有L1-norm和L2-norm,其實還有L3-norm、L4-norm等等,所以抽象來表示,我們會寫作Lp-norm,一般表示為 :
對于上面這個抽象的公式,如果我們代入p值,
若p為1,則就是我們常說的L1-norm:
若p為2,則是我們常說的L2-norm:
我們引用文章里的圖片,L2-norm的距離就是兩個黑點之間的綠線,而另外的3條線,都是L1-norm的大小。
?? L1 and L2正則項
在上面我們有提及到,L1、L2范數可以用于損失函數里的一個正則化項,作用就是降低模型復雜度,減小過擬合的風險。這里的正則化項,存在的目的就是作為一個“懲罰項”,對損失函數中的某一些參數做一些限制,是結構風險最小化策略的體現,就是選擇經驗風險(平均損失函數)和模型復雜度同時較小的模型。
針對線性回歸模型,假設對其代價函數里加入正則化項,其中L1和L2正則化項的表示分別如下所示,其中λ >= 0,是用來平衡正則化項和經驗風險的系數。
(1)使用L1范數正則化,其模型也被叫作Lasso回歸(Least Absolute Shrinkage and Selection Operator,最小絕對收縮選擇算子)。
(2)使用L2范數正則化,其模型被叫做Ridge回歸,中文為嶺回歸。
???? 機器學習中一般怎么選擇正則項
上面介紹的L1和L2范數正則化都有著降低過擬合風險的功能,但它們有什么不同?我們到底應該選擇哪一個呢,兩者之間各有什么優勢和適用場景?別急,我們一一來展開講講。
Q1:L1和L2正則化項的區別?
首先,我們從上面那張二維的圖可以看出,對于L2-norm,其解是唯一的,也就是綠色的那條;而對于L1-norm,其解不唯一,因此L1正則化項,其計算難度通常會高于L2的。
其次,L1通常是比L2更容易得到稀疏輸出的,會把一些不重要的特征直接置零,至于為什么L1正則化為什么更容易得到稀疏解,可以看下圖:
上圖代表的意思就是目標函數-平方誤差項的等值線和L1、L2范數等值線(左邊是L1),我們正則化后的代價函數需要求解的目標就是在經驗風險和模型復雜度之間的平衡取舍,在圖中形象地表示就是黑色線與彩色線的交叉點。
對于L1范數,其圖形為菱形,二維屬性的等值線有4個角(高維的會有更多),“突出來的角”更容易與平方誤差項進行交叉,而這些“突出來的角”都是在坐標軸上,即W1或則W2為0;
而對于L2范數,交叉點一般都是在某個象限中,很少有直接在坐標軸上交叉的。
因此L1范數正則化項比L2的更容易得到稀疏解。
Q2:各有什么優勢,如何作選擇?
直接上結論:
1)因為L1范數正則化項的“稀疏解”特性,L1更適合用于特征選擇,找出較為“關鍵”的特征,而把一些不那么重要的特征置為零。
2)L2范數正則化項可以產生很多參數值很小的模型,也就是說這類的模型抗干擾的能力很強,可以適應不同的數據集,適應不同的“極端條件”。
???? 如何作為Loss Function
講完了作為正則化項的內容了,那么講講L1、L2范數作為損失函數的情況。假設我們有一個線性回歸模型,我們需要評估模型的效果,很常規的,我們會用“距離”來衡量誤差!
若使用L1-norm來衡量距離,那就是我們的LAD(Least Absolute Deviation,最小絕對偏差),其優化的目標函數如下:
實際意義上的解釋就是預測值與真實值之間的絕對值。
若使用L2-norm,那就是我們的LSE(Least Squares Error,最小二乘誤差),其優化的目標函數如下:
針對兩者的差異,可以看下表:
L1損失函數的結果更具魯棒性,也就是說對于異常值更加不敏感。而根據其范數“天性”,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
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯獲取一折本站知識星球優惠券,復制鏈接直接打開:https://t.zsxq.com/662nyZF本站qq群704220115。加入微信群請掃碼進群(如果是博士或者準備讀博士請說明):總結
以上是生活随笔為你收集整理的【机器学习基础】一文搞懂机器学习里的L1与L2正则化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【深度学习】深入理解LSTM
- 下一篇: 【数学基础】算法工程师必备的机器学习--