L1和L2 詳解(范數、損失函數、正則化)


一、易混概念

對於一些常見的距離先做一個簡單的說明

1.歐式距離

假設X和Y都是一個n維的向量,即 [公式]

則歐氏距離: [公式]

2.L2范數

假設X是n維的特征 [公式]

L2范數: [公式]

3.閔可夫斯基距離

這里的p值是一個變量,當p=2的時候就得到了歐氏距離。

[公式]

4.曼哈頓距離

來源於美國紐約市曼哈頓區,因為曼哈頓是方方正正的。

[公式]

二、損失函數

L1和L2都可以做損失函數使用。

1. L2損失函數

L2范數損失函數,也被稱為最小平方誤差(LSE)。它是把目標值 [公式] 與估計值 [公式] 的差值的平方和最小化。一般回歸問題會使用此損失,離群點對次損失影響較大。

[公式]

2. L1損失函數

也被稱為最小絕對值偏差(LAD),絕對值損失函數(LAE)。總的說來,它是把目標值 [公式] 與估計值 [公式] 的絕對差值的總和最小化。

[公式]

3. 二者對比

L1損失函數相比於L2損失函數的魯棒性更好。

因為L2范數將誤差平方化(如果誤差大於1,則誤差會放大很多),模型的誤差會比L1范數大的多,因此模型會對這種類型的樣本更加敏感,這就需要調整模型來最小化誤差。但是很大可能這種類型的樣本是一個異常值,模型就需要調整以適應這種異常值,那么就導致訓練模型的方向偏離目標了。

三、正則化

1. 正則化為什么可以避免過擬合?

正規化是防止過擬合的一種重要技巧。

正則化通過降低模型的復雜性, 緩解過擬合。過擬合發生的情況,擬合函數的系數往往非常大,為什么?

如下圖所示,就是過擬合的情況,擬合函數考慮到了每一個樣本點,最終形成的擬合函數波動很大,也就是在某些很小的區間里,函數值的變化很劇烈。這就意味着函數在某些小區間里的系數非常大,就是模型中的w會很大。

 

2. L1正則

L1正則常被用來進行特征選擇,主要原因在於L1正則化會使得較多的參數為0,從而產生稀疏解,我們可以將0對應的特征遺棄,進而用來選擇特征。一定程度上L1正則也可以防止模型過擬合。

假設 [公式] 是未加正則項的損失, [公式] 是一個超參,控制正則化項的大小。

對應的損失函數: [公式]

3. L2正則

主要用來防止模型過擬合,直觀上理解就是L2正則化是對於大數值的權重向量進行嚴厲懲罰。鼓勵參數是較小值,如果 [公式] 小於1,那么 [公式] 會更小。

對應的損失函數: [公式]

4. 為什么L1會產生稀疏解

稀疏性:很多參數值為0。

1)梯度的方式:

對其中的一個參數 [公式] 計算梯度,其他參數同理, [公式] 是步進, [公式] 是符號函數

[公式] >0,[公式]=1;[公式] <0,[公式]=-1。

L1的梯度:

[公式]

L2的梯度:

[公式]

當 [公式] 小於1的時候,L2的懲罰項會越來越小,而L1還是會非常大,所以L1會使參數為0,而L2很難。

2)圖形的方式:

損失函數L與參數 [公式] 的關系圖,綠點是最優點。

 

 

如果加上L2正則,損失函數L為 [公式] ,對應的函數是藍線,最優點是黃點。

 

 

如果是加上L1損失,那么損失函數L是 [公式] ,對應的函數是粉線,最優點是紅點,參數 [公式] 變為0。

 

兩種正則化,能不能將最優的參數變為0,取決於最原始的損失函數在0點處的導數,如果原始損失函數在0點處的導數 [公式] 不為0,則加上L2正則化項 [公式] 之后,導數依然不為0,說明在0這點不是極值點,最優值不在w=0處。

而施加 [公式] 正則項時,導數在 [公式] 這點不可導。不可導點是否是極值點,就是看不可導點左右的單調性。單調性可以通過這個點左、右兩側的導數符號判斷,導數符號相同則不是極值點,左側導數正,右側導數負,則是極大值,左側導數負,右側導數正,極小值。

根據極值點判斷原則, [公式] 左側導數 [公式] ,只要正則項的系數 [公式] 大於[公式] ,那么左側導數小於0, [公式] 右側導數 [公式] ,所以 [公式] 就會變成一個極小值點,所以L1經常會把參數變為0,產生稀疏解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM