先對“L1正則化和L2正則化的區別、應用場景”給出結論,具體見後面的原理解釋:
- L1正則化會產生更稀疏的解,因此基於L1正則化的學習方法相當於嵌入式的特徵選擇方法.
- L2正則化計算更加方便,只需要計算向量內積,L1範數的計算效率特別是遇到非稀疏向量時非常低
- L1正則化相當於給權重設置拉普拉斯先驗,L2正則化相當於給權重設置高斯先驗[3,4]
- 實際使用時,L2正則化通常都比L1正則化要好,所以應優先選擇L2正則化.
PS:爲方便書寫,以下的向量和矩陣省略粗體,如w與H寫成w和H
L1正則化是指在目標函數中加入λ∥w∥1,其中,w是模型權重向量,λ≥0是權衡項,越大表示正則化懲罰越大.
L2正則化則是加入2λ∥w∥22,也可以寫成2λwTw,注意是L2範數的平方,除以2是爲了求導方便
假設未加入正則項的代價函數爲J(w),那麼加入L2正則項後,代價函數變爲:
J~(w)=J(w)+2λwTw(1)
對應的梯度爲:
∇wJ~=∇wJ+λw(2)
權重更新表達式爲(α爲學習率):
w←w−α(∇wJ+λw)(3)
等價於:
w←(1−αλ)w−α∇wJ(4)
由上式可以看出加入L2正則項後梯度更新的變化,即在每步執行通常的梯度更新之前先縮放權重向量(乘以一個常數因子)
對L1正則化而言,代價函數變爲:
J~(w)=J(w)+λ∥w∥1(5)
對應的(次)梯度爲:
∇wJ~=∇wJ+λsign(w)(6)
其中sign(⋅)爲符號函數. 權重更新表達式爲(α爲學習率):
w←w−α(∇wJ+λsign(w))(7)
即:
w←(w−λsign(w))−α∇wJ(8)
可以看到L1正則化的效果與L2正則化的效果很不一樣,不再是線性地縮放每個wi,而是減去了一項與權重wi同號的常數,因此當wi>0時,更新權重使得其減小,當wi<0時,更新權重使得其增大. 從這點來說也可以看出L1正則化更有可能使得權重爲0,而L2正則化雖也使得權重減小,但縮放操作使得其仍保持同號.
因此他們的一個區別是:L1正則化會導致更稀疏的權重. 這裏的“稀疏”指的是其中一部分權重參數爲0.
這種區別也可以通過下面的圖看出,同心橢圓爲原目標函數的等值線,左圖(同心)菱形爲L1範數的等值線,右圖(同心)圓形爲L2範數的等值線. 範數的同心等值線被省略了.
對於左右每個圖來說,假設分別從原目標函數和範數的最低點開始往外拓展等值線,把第一次兩個等值線相交的點稱爲meet-point,那麼該點就是在某個懲罰係數λ下達到的代價最小點,λ決定了該點是更接近目標函數的最低點還是範數的最低點(原點).
由上圖可以看出,L1正則化下的meet-point很可能落在座標軸上,這些點的一部分分量爲0,也就導致權重的稀疏,而L2正則化下的meet-point則更有可能落在某個象限內,因此不會有L1正則化的稀疏性.
爲什麼參數的絕對值更小對應的模型更簡單?可以考慮多項式擬合的場景:
在等量的數據集規模下,複雜的模型爲了對訓練樣本的擬合程度更高,擬合的曲線要不斷地劇烈上下抖動以求穿過每一個訓練樣本點,這就導致多項式的階數比較大且參數絕對值比較大;反之,而當模型比較簡單時,曲線就更平滑,即多項式order比較小且參數絕對值也小得多.
前面對L2正則化的效果分析得出的結論是:L2正則化會在每次更新參數時對參數向量多進行一步縮放操作. 但是這僅是對於單個步驟的分析,事實上我們可以對整個訓練過程進行分析,並得到正則化的最優解與不進行正則化的區別.
令w∗=wargminJ(w),即w∗爲J(w)的最小值點,利用泰勒展開將式(1)中的J(w)在w∗點處展開,並只保留到二階導的項作爲近似. 如果目標函數確實是二次的(例如使用均方誤差損失的線性迴歸模型),那麼得到的表達式是沒有誤差的.
J~(w)近似得到J^(w):
J~(w)=J(w)+2λwTw≈J(w∗)+21(w−w∗)TH(w−w∗)+2λwTw令爲J^(w)(9)
其中H是J(w)在w∗處關於w的Hessian矩陣,由於w∗爲極值點,所以∇wJ=0,故近似式中沒有一次項. 另外由w∗爲極小值點可知H是半正定的.
J^(w)對w的梯度爲:
∇wJ^(w)=H(w−w∗)+λw(10)
設w^=wargminJ^(w),即w^是J^(w)的最小值點,則
∇w^J^(w)=H(w^−w∗)+λw^=0(11)
(H+λI)w^=Hw∗(12)
w^=(H+λI)−1Hw∗(13)
當λ趨於0時,正則化後的代價函數的最優解w^趨於w∗,那麼當λ增加時會發生什麼呢?
由於Hessian矩陣H是實對稱矩陣,所以其可對角化,即QTHQ=Λ,其中Q爲正交矩陣且列向量爲H的特徵向量,故H=QΛQT,代入式(13)可得
w^=(QΛQT+λI)−1QΛQTw∗=[Q(Λ+λI)QT]−1QΛQTw∗=Q(Λ+λI)−1QTw∗(14)
令H^=Q(Λ+λI)−1QT,則有w^=H^w∗,即H^的特徵值爲ξi+λξi,其中ξi爲H的特徵值,且H^的特徵值ξi+λξi對應的特徵向量與H的特徵值ξi對應的特徵向量相同,均爲Q的第i列.
因此,w∗左乘H^可以看做沿着由H的特徵向量所定義的軸來縮放w∗,具體來說,我們會根據ξi+λξi因子來縮放w∗在H的第i個特徵向量方向上的分量wi∗. 因此,對於較大的特徵值ξi≫λ所對應的特徵向量的方向上,正則化的影響較小,因爲分量wi∗的縮放因子趨於1;而對於較小的特徵值ξi≪λ所對應的特徵向量的方向上,w∗的分量wi∗會縮放到幾乎爲0.
還可以這樣來理解:L2正則化會將最優解w∗的分量進行縮放,某分量方向上代價函數降低得越慢,則對其縮放的程度越高,即偏好保留的是代價函數降低更快的方向,這些方向特徵值大,故二階導數大,所以降低快[2]. 這種效應如下圖所示.
上圖是假設參數向量w維度僅爲2,即w=[w1,w2],作出J(w)的等值線後,由Hessian矩陣與等值線的關係可知,圖中所畫的J(w)的Hessian矩陣H的特徵向量方向恰爲水平和垂直方向,且等值線密集的垂直方向對應的特徵值較大,等值線稀疏的水平方向對應的特徵值較小.
根據前文所述結論,w∗在水平方向的分量將被收縮較多,而在垂直方向的分量所收到的影響則相對沒那麼大. 圖中的w~點正是加了正則項後的最優解,其垂直與水平分量相對於w∗的變化驗證了我們的想法.
References:
[1] 花書中文版7.1節
[2] Hessian矩陣與等值線的關係
[3] 貝葉斯角度看 L1 & L2 正則化
[4] L1正則先驗分佈是Laplace分佈,L2正則先驗分佈是Gaussian分佈