神經網絡損失函數中的正則化項L1和L2

神經網絡中損失函數後通常會加一個額外的正則項L1或L2,也成爲L1範數和L2範數。正則項能夠看作是損失函數的懲罰項,用來對損失函數中的係數作一些限制。



正則化描述:網絡

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

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

通常都會在正則化項以前添加一個係數,這個係數須要用戶設定,係數越大,正則化做用越明顯。優化



正則化做用:spa

L1正則化能夠產生稀疏權值矩陣,即產生一個稀疏模型,能夠用於特徵選擇,必定程度上,L1也能夠防止過擬合;
L2正則化能夠防止模型過擬合(overfitting);



何爲稀疏矩陣blog

稀疏矩陣指的是不少元素爲0,只有少數元素是非零值的矩陣。

神經網絡中輸入的特徵數量是龐大的,如何選取有效的特徵進行分類是神經網絡的重要任務之一,若是神經網絡是一個稀疏模型,表示只有少數有效的特徵(係數非0)能夠經過網絡,絕大多數特徵會被濾除(係數爲0),這些被濾除的特徵就是對模型沒有貢獻的「無關」特徵,而少數係數是非0值的特徵是咱們須要額外關注的有效特徵。也就是說,稀疏矩陣能夠用於特徵選擇。it


L1正則化是怎麼作到產生稀疏模型的?

假設有以下帶L1正則化的損失函數:基礎

Loss = Loss_0 + αL1

Loss_0是原始損失函數,L1是加的正則化項,α 是正則化係數,其中 L1 是 模型中權重 w 的絕對值之和。神經網絡

神經網絡訓練的目標就是經過隨機梯度降低等方法找到損失函數 Loss的最小值,加了L1以後,至關於對原始Loss_0作了一個約束,即在 L1 約束下求Loss_0最小值的解

對於最簡單的狀況,假設模型中只有兩個權值 w1 和 w2 ,對於梯度降低法,能夠分別畫出求解 Loss_0 和 L1 過程當中的等值線,以下圖:方法


等值線是說在等值線上任一點處(取不一樣的w1和w2組合),模型計算的結果都是同樣的。im

圖中彩色弧線是Loss_0的等值線,黑色方框是 L1的等值線。在圖中,當Loss_0等值線與L1圖形首次相交的地方就是一個最優解,這個相交的點恰好是L1的頂點。

注意到L1函數有不少個突出的點,二維狀況下有4個,維數越多頂點越多,這些突出的點會比線段上的點有更大的概率首先接觸到 Loss_0的等值線,而這些頂點正好對應有不少權值爲0的矩陣, 即稀疏矩陣,這也就是爲何L1正則化能夠用來產生稀疏矩陣進而用來進行特徵選擇的緣由。


對於L1正則化前的係數α,是用來控制L1圖形的大小,α越大,L1中各個係數就相對越小(由於優化目標之一是α×L1的值趨近於0。α大,L1係數取值就會小),L1的圖形就越小; α越小,L1中各個係數就相對越大,L1的圖形就越大。



L2正則化是怎麼作到防止模型過擬合的?

仍以最簡單的模型,只有兩個權重w1 和 w2爲例,Loss_0和L2分別對應的等值線形狀以下圖:


因爲L2是w1和w2平方和再開方,因此L2的圖形是一個圓。圓形相對方形來講沒有頂點,Loss_0 和 L2圖形相交使得 w1或者w2等於的機率大大減少,因此L2正則化項不適合產生稀疏矩陣,不適合用來選擇特徵。

相對來講,模型中全部矩陣係數都比較小的模型具備更強的抗干擾能力,也就是說能夠避免過擬合。對於這種小系數的模型,特徵會乘以很小的係數,使得特徵的波動被壓縮,因此泛化能力更好。

L2正則化項的公式是全部權重係數平方以後再開方,因此在每次迭代過程當中, 都會使得權重係數在知足最小化Loss_0的基礎上,一步一步使得權重係數w1和w2趨向於0,最終獲得權重係數很小的矩陣模型,達到防止過擬合的做用。

對於L1正則化項,若是α係數取很大,也會獲得係數極小的最優解,這時的L1也具備防止過擬合的做用。


L1和L2中的α係數的做用是相似的,α係數越大,正則化做用越明顯(但同時也可能意味着模型越難以收斂),從等值圖上直觀看就是L圖形越小,對應矩陣係數越小。

相關文章
相關標籤/搜索