一、易混概念
對於一些常見的距離先做一個簡單的說明
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,產生稀疏解。