L1和L2:損失函式和正則化
作為損失函式
L1範數損失函式
L1範數損失函式,也被稱之為最小絕對值誤差。總的來說,它把目標值$Y_i$與估計值$f(x_i)$的絕對差值的總和最小化。
$$S=\sum_{i=1}^n|Y_i-f(x_i)|$$
L2範數損失函式
L2範數損失函式,也被稱為最小平方誤差,總的來說,它把目標值$Y_i$與估計值$f(x_i)$的差值的平方和最小化。
$$S=\sum_{i=1}^n(Y_i-f(x_i))^2$$
L1損失函式 | L2損失函式 |
魯棒 | 不是很魯棒 |
不穩定性 | 穩定解 |
可能多個解 | 總是一個解 |
總結一下:L2範數loss將誤差平均化(如果誤差大於1,則誤差會放大很多),模型的誤差會比L1範數來得大,因此模型會對樣本更加敏感,這就需要調整模型來最小化誤差。如果有個樣本是一個異常值,模型就需要調整以適應單個的異常值,這會犧牲許多其他正常的樣本,因為這些正常的樣本的誤差比這單個的異常值的誤差小。
作為正則化
我們經常會看見損失函式後面新增一個額外項,一般為L1-norm,L2-norm,中文稱作L1正則化和L2正則化,或者L1範數和L2函式。
L1正則化和L2正則化可以看做是損失函式的懲罰項。所謂『懲罰』是指對損失函式中的某些引數做一些限制。防止模型過擬合而加在損失函式後面的一項。
L1正規化
L1範數符合拉普拉斯分佈,是不完全可微的。表現在影象上會有很多角出現。這些角和目標函式的接觸機會遠大於其他部分。就會造成最優值出現在座標軸上,因此就會導致某一維的權重為0 ,產生稀疏權重矩陣,進而防止過擬合。
最小平方損失函式的L1正則化:
L1正則化是指權值向量$w$中各個元素的絕對值之和
L2正規化
L2範數符合高斯分佈,是完全可微的。和L1相比,影象上的稜角被圓滑了很多。一般最優值不會在座標軸上出現。在最小化正則項時,可以是引數不斷趨向於0,最後活的很小的引數。
在機器學習中,正規化是防止過擬合的一種重要技巧。從數學上講,它會增加一個正則項,防止係數擬合得過好以至於過擬合。L1與L2的區別只在於,L2是權重的平方和,而L1就是權重的和。如下:
最小平方損失函式的L2正則化:
L2正則化是指權值向量$w$中各個元素的平方和然後再求平方根
作用
L1正則化
- 優點:輸出具有稀疏性,即產生一個稀疏模型,進而可以用於特徵選擇;一定程度上,L1也可以防止過擬合
- 缺點:但在非稀疏情況下計算效率低
L2正則化:
- 優點:計算效率高(因為存在解析解);可以防止模型過擬合(overfitting)
- 缺點:非稀疏輸出;無特徵選擇
稀疏模型和特徵選擇:稀疏性我在這篇文章有詳細講解,如果特徵符合稀疏性,說明特徵矩陣很多元素為0,只有少數元素是非零的矩陣,表示只有少數特徵對這個模型有貢獻,絕大部分特徵是沒有貢獻的,或者貢獻微小(因為它們前面的係數是0或者是很小的值,即使去掉對模型也沒有什麼影響),此時我們就可以只關注係數是非零值的特徵。這就是稀疏模型與特徵選擇的關係。
文獻[1]解釋了為什麼L1正則化可以產生稀疏模型(L1是怎麼樣係數等於0的),以及為什麼L2正則化可以防止過擬合,由於涉及到很多公式,想要詳細瞭解的同學,請移步。
區別
1、L1正則化是模型各個引數的絕對值之和。
L2正則化是模型各個引數的平方和的開方值。
2、L1會趨向於產生少量的特徵,而其他的特徵都是0,產生稀疏權重矩陣。
L2會選擇更多的特徵,這些特徵都會接近於0。
再討論幾個問題
1.為什麼引數越小代表模型越簡單?
越是複雜的模型,越是嘗試對所有樣本進行擬合,包括異常點。這就會造成在較小的區間中產生較大的波動,這個較大的波動也會反映在這個區間的導數比較大。
只有越大的引數才可能產生較大的導數。因此引數越小,模型就越簡單。
2.實現引數的稀疏有什麼好處?
因為引數的稀疏,在一定程度上實現了特徵的選擇。一般而言,大部分特徵對模型是沒有貢獻的。這些沒有用的特徵雖然可以減少訓練集上的誤差,但是對測試集的樣本,反而會產生干擾。稀疏引數的引入,可以將那些無用的特徵的權重置為0.
3.L1範數和L2範數為什麼可以避免過擬合?
加入正則化項就是在原來目標函式的基礎上加入了約束。當目標函式的等高線和L1,L2範數函式第一次相交時,得到最優解。
參考文獻
CSDN部落格:機器學習中正則化項L1和L2的直觀理解
Differences between L1 and L2 as Loss Function and Regularization
&n