一、易混概念
對於一些常見的距離先做一個簡單的說明
1.歐式距離
假設X和Y都是一個n維的向量,即$X=(x_1, x_2, x_3, … x_n),Y=(y_1, y_2, y_3, … y_n)$
則歐氏距離:$D(X,Y)=\sqrt{\sum_{i=1}^n(x_i-y_i)^2}$
2.L2范數
假設X是n維的特征$X=(x_1, x_2, x_3, … x_n)$
L2范數:$||X||_2=\sqrt{\sum_{i=1}^nx_i^2}$
3.閔可夫斯基距離
這里的p值是一個變量,當p=2的時候就得到了歐氏距離。
$D(X,Y)=(\sum_{i=1}^n|x_i-y_i|^p)^{\frac{1}{p}}$
4.曼哈頓距離
來源於美國紐約市曼哈頓區,因為曼哈頓是方方正正的。
$D(X,Y)=\sum_{i=1}^n|x_i-y_i|$
二、損失函數
L1和L2都可以做損失函數使用。
1. L2損失函數
L2范數損失函數,也被稱為最小平方誤差(LSE)。它是把目標值$y_i$與估計值$f(x_i)$的差值的平方和最小化。一般回歸問題會使用此損失,離群點對次損失影響較大。
$L=\sum_{i=1}^n(y_i−f(x_i))^2$
2. L1損失函數
也被稱為最小絕對值偏差(LAD),絕對值損失函數(LAE)。總的說來,它是把目標值$y_i$與估計值$f(x_i)$的絕對差值的總和最小化。
$L=\sum_{i=1}^n|y_i−f(x_i)|$
3. 二者對比
與最小平方相比,最小絕對值偏差方法的魯棒性更好。因為L2范數將誤差平方化(如果誤差大於1,則誤差會放大很多),模型的誤差會比L1范數大的多,因此模型會對這個樣本更加敏感,這就需要調整模型來最小化誤差。如果這個樣本是一個異常值,模型就需要調整以適應單個的異常值,這會犧牲許多其它正常的樣本,因為這些正常樣本的誤差比這單個的異常值的誤差小。
三、正則化
1. 正則化為什么可以避免過擬合?
正規化是防止過擬合的一種重要技巧。正則化通過降低模型的復雜性, 達到避免過擬合的問題。
過擬合的時候,擬合函數的系數往往非常大,為什么?如下圖所示,過擬合,就是擬合函數需要顧忌每一個點,最終形成的擬合函數波動很大。在某些很小的區間里,函數值的變化很劇烈。這就意味着函數在某些小區間里的導數值(絕對值)非常大,由於自變量值可大可小,所以只有系數足夠大,才能保證導數值很大。
2. L1正則
L1正則常被用來進行特征選擇,主要原因在於L1正則化會使得較多的參數為0,從而產生稀疏解,我們可以將0對應的特征遺棄,進而用來選擇特征。一定程度上L1正則也可以防止模型過擬合。
假設$L(W)$是未加正則項的損失,$\lambda$是一個超參,控制正則化項的大小。
則最終的損失函數:$L=L(W)+\lambda \sum_{i=1}^n |w_i|$
3. L2正則
主要用來防止模型過擬合,直觀上理解就是L2正則化是對於大數值的權重向量進行嚴厲懲罰。
則最終的損失函數:$L=L(W)+\lambda \sum_{i=1}^n w_i^2$
4. 為什么L1會產生稀疏解
稀疏性:很多參數值為0。
1)梯度的方式:
對其中的一個參數$w_i$計算梯度,其他參數同理,$\eta$是步進,$sign(w_i)$是符號函數。
L1的梯度:
$L=L(W)+\lambda \sum_{i=1}^n |w_i|$
$\frac{\partial L}{\partial w_i}=\frac{\partial L(W)}{\partial w_i}+\lambda
sign(w_i)$
$w_i=w_i-\eta \frac{\partial L(W)}{\partial w_i}-\eta \lambda sign(w_i)$
L2的梯度:
$L=L(W)+\lambda \sum_{i=1}^n w_i^2$
$\frac{\partial L}{\partial w_i}=\frac{\partial L(W)}{\partial w_i}+2\lambda w_i$
$w_i=w_i-\eta \frac{\partial L(W)}{\partial w_i}-\eta 2\lambda w_i$
當$w_i$小於1的時候,L2的懲罰項會越來越小,而L1還是會非常大,所以L1會使參數為0,而L2很難。
2)圖形的方式:
損失函數L與參數$w$的關系圖,綠點是最優點。
如果加上L2正則,損失函數L為$L+\lambda w^2$,對應的函數是藍線,最優點是黃點。
如果是加上L1損失,那么損失函數L是$L+\lambda |w|$,對應的函數是粉線,最優點是紅點,參數$w$變為0。
兩種正則化,能不能將最優的參數變為0,取決於最原始的損失函數在0點處的導數,如果原始損失函數在0點處的導數$\frac{\partial L}{\partial w}$不為0,則加上L2正則化項$2 \lambda w$之后,導數依然不為0,說明在0這點不是極值點,最優值不在w=0處。
而施加 $L1 =L+\lambda |w|$正則項時,導數在$w=0$這點不可導。不可導點是否是極值點,就是看不可導點左右的單調性。單調性可以通過這個點左、右兩側的導數符號判斷,導數符號相同則不是極值點,左側導數正,右側導數負,則是極小值,左側導數負,右側導數正,極大值。
根據極值點判斷原則,$w=0$左側導數$\frac{\partial L1}{\partial w}=\frac{\partial L}{\partial w}-\lambda$,只要正則項的系數 $\lambda$ 大於$\frac{\partial L}{\partial w}$,那么左側導數小於0,$w=0$右側導數$\frac{\partial L1}{\partial w}=\frac{\partial L}{\partial w}+\lambda > 0$,所以$w=0$ 就會變成一個極小值點,所以L1經常會把參數變為0,產生稀疏解。