L1和L2:損失函數和正則化

做爲損失函數

L1範數損失函數

  L1範數損失函數,也被稱之爲最小絕對值偏差。總的來講,它把目標值$Y_i$與估計值$f(x_i)$的絕對差值的總和最小化。html

$$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$$post

L1損失函數 L2損失函數
魯棒 不是很魯棒
不穩定性 穩定解
可能多個解 老是一個解

  總結一下:L2範數loss將偏差平均化(若是偏差大於1,則偏差會放大不少),模型的偏差會比L1範數來得大,所以模型會對樣本更加敏感,這就須要調整模型來最小化偏差。若是有個樣本是一個異常值,模型就須要調整以適應單個的異常值,這會犧牲許多其餘正常的樣本,由於這些正常的樣本的偏差比這單個的異常值的偏差小。學習

做爲正則化

  咱們常常會看見損失函數後面添加一個額外項,通常爲L1-norm,L2-norm,中文稱做L1正則化L2正則化,或者L1範數L2函數測試

  L1正則化和L2正則化能夠看作是損失函數的懲罰項。所謂『懲罰』是指對損失函數中的某些參數作一些限制。防止模型過擬合而加在損失函數後面的一項。spa

L1正規化

  L1範數符合拉普拉斯分佈,是不徹底可微的。表如今圖像上會有不少角出現。這些角和目標函數的接觸機會遠大於其餘部分。就會形成最優值出如今座標軸上,所以就會致使某一維的權重爲0 ,產生稀疏權重矩陣,進而防止過擬合。.net

最小平方損失函數的L1正則化orm

L1正則化是指權值向量$w$中各個元素的絕對值之和htm

L2正規化

  L2範數符合高斯分佈,是徹底可微的。和L1相比,圖像上的棱角被圓滑了不少。通常最優值不會在座標軸上出現。在最小化正則項時,能夠是參數不斷趨向於0,最後活的很小的參數。

  在機器學習中,正規化是防止過擬合的一種重要技巧。從數學上講,它會增長一個正則項,防止係數擬合得過好以致於過擬合。L1與L2的區別只在於,L2是權重的平方和,而L1就是權重的和。以下:

最小平方損失函數的L2正則化

L2正則化是指權值向量$w$中各個元素的平方和而後再求平方根

做用

L1正則化

  • 優勢:輸出具備稀疏性,即產生一個稀疏模型,進而能夠用於特徵選擇;必定程度上,L1也能夠防止過擬合
  • 缺點:但在非稀疏狀況下計算效率低

L2正則化

  • 優勢:計算效率高(由於存在解析解);能夠防止模型過擬合(overfitting)
  • 缺點:非稀疏輸出;無特徵選擇

稀疏模型和特徵選擇:稀疏性我在這篇文章有詳細講解,若是特徵符合稀疏性,說明特徵矩陣不少元素爲0,只有少數元素是非零的矩陣,表示只有少數特徵對這個模型有貢獻,絕大部分特徵是沒有貢獻的,或者貢獻微小(由於它們前面的係數是0或者是很小的值,即便去掉對模型也沒有什麼影響),此時咱們就能夠只關注係數是非零值的特徵。這就是稀疏模型與特徵選擇的關係。

文獻[1]解釋了爲何L1正則化能夠產生稀疏模型(L1是怎麼樣係數等於0的),以及爲何L2正則化能夠防止過擬合,因爲涉及到不少公式,想要詳細瞭解的同窗,請移步

區別

一、L1正則化是模型各個參數的絕對值之和

  L2正則化是模型各個參數的平方和的開方值

二、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

相關文章
相關標籤/搜索