正則項的原理、梯度公式、L1正則化和L2正則化的區別、應用場景

先對“L1正則化和L2正則化的區別、應用場景”給出結論,具體見後面的原理解釋:

  • L1正則化會產生更稀疏的解,因此基於L1正則化的學習方法相當於嵌入式的特徵選擇方法.
  • L2正則化計算更加方便,只需要計算向量內積,L1範數的計算效率特別是遇到非稀疏向量時非常低
  • L1正則化相當於給權重設置拉普拉斯先驗,L2正則化相當於給權重設置高斯先驗[3,4]^{[3,4]}
  • 實際使用時,L2正則化通常都比L1正則化要好,所以應優先選擇L2正則化.

PS:爲方便書寫,以下的向量和矩陣省略粗體,如w\boldsymbol wH\boldsymbol H寫成wwHH

L1正則化是指在目標函數中加入λw1\lambda \Vert w\Vert_1,其中,ww是模型權重向量,λ0\lambda \geq 0是權衡項,越大表示正則化懲罰越大.

L2正則化則是加入λ2w22\frac\lambda2\Vert w \Vert_2^2,也可以寫成λ2wTw\frac\lambda 2w^Tw,注意是L2範數的平方,除以2是爲了求導方便

假設未加入正則項的代價函數爲J(w)J(w),那麼加入L2正則項後,代價函數變爲:

J~(w)=J(w)+λ2wTw(1)\tilde J(w)=J(w)+\frac\lambda 2w^Tw\tag1

對應的梯度爲:

wJ~=wJ+λw(2)\nabla_w \tilde J=\nabla_wJ+\lambda w\tag2

權重更新表達式爲(α\alpha爲學習率):

wwα(wJ+λw)(3)w\leftarrow w - \alpha(\nabla_wJ+\lambda w)\tag3

等價於:

w(1αλ)wαwJ(4)w\leftarrow (1-\alpha\lambda )w-\alpha \nabla_wJ\tag4

由上式可以看出加入L2正則項後梯度更新的變化,即在每步執行通常的梯度更新之前先縮放權重向量(乘以一個常數因子)

對L1正則化而言,代價函數變爲:

J~(w)=J(w)+λw1(5)\tilde J(w)=J(w)+\lambda \Vert w\Vert_1\tag5

對應的(次)梯度爲:

wJ~=wJ+λsign(w)(6)\nabla_w \tilde J=\nabla_wJ+\lambda \rm sign\it(w)\tag6

其中sign()\rm sign( \cdot)爲符號函數. 權重更新表達式爲(α\alpha爲學習率):

wwα(wJ+λsign(w))(7)w\leftarrow w - \alpha(\nabla_wJ+\lambda \rm sign\it(w))\tag7

即:

w(wλsign(w))αwJ(8)w\leftarrow (w -\lambda \rm sign\it(w))- \alpha\nabla_wJ\tag8

可以看到L1正則化的效果與L2正則化的效果很不一樣,不再是線性地縮放每個wiw_i,而是減去了一項與權重wiw_i同號的常數,因此當wi>0w_i>0時,更新權重使得其減小,當wi<0w_i<0時,更新權重使得其增大. 從這點來說也可以看出L1正則化更有可能使得權重爲0,而L2正則化雖也使得權重減小,但縮放操作使得其仍保持同號.

因此他們的一個區別是:L1正則化會導致更稀疏的權重. 這裏的“稀疏”指的是其中一部分權重參數爲0.

這種區別也可以通過下面的圖看出,同心橢圓爲原目標函數的等值線,左圖(同心)菱形爲L1範數的等值線,右圖(同心)圓形爲L2範數的等值線. 範數的同心等值線被省略了.

在這裏插入圖片描述
對於左右每個圖來說,假設分別從原目標函數和範數的最低點開始往外拓展等值線,把第一次兩個等值線相交的點稱爲meet-point,那麼該點就是在某個懲罰係數λ\lambda下達到的代價最小點,λ\lambda決定了該點是更接近目標函數的最低點還是範數的最低點(原點).

由上圖可以看出,L1正則化下的meet-point很可能落在座標軸上,這些點的一部分分量爲0,也就導致權重的稀疏,而L2正則化下的meet-point則更有可能落在某個象限內,因此不會有L1正則化的稀疏性.

爲什麼參數的絕對值更小對應的模型更簡單?可以考慮多項式擬合的場景:

在等量的數據集規模下,複雜的模型爲了對訓練樣本的擬合程度更高,擬合的曲線要不斷地劇烈上下抖動以求穿過每一個訓練樣本點,這就導致多項式的階數比較大且參數絕對值比較大;反之,而當模型比較簡單時,曲線就更平滑,即多項式order比較小且參數絕對值也小得多.

前面對L2正則化的效果分析得出的結論是:L2正則化會在每次更新參數時對參數向量多進行一步縮放操作. 但是這僅是對於單個步驟的分析,事實上我們可以對整個訓練過程進行分析,並得到正則化的最優解與不進行正則化的區別.

w=arg minwJ(w)w^*=\argmin_wJ(w),即ww^*J(w)J(w)的最小值點,利用泰勒展開將式(1)(1)中的J(w)J(w)ww^*點處展開,並只保留到二階導的項作爲近似. 如果目標函數確實是二次的(例如使用均方誤差損失的線性迴歸模型),那麼得到的表達式是沒有誤差的.

J~(w)\tilde J(w)近似得到J^(w)\hat J(w)

J~(w)=J(w)+λ2wTwJ(w)+12(ww)TH(ww)+λ2wTw=J^(w)(9)\begin{aligned} \tilde J(w) &=J(w)+\frac\lambda 2w^Tw \\ &\approx J(w^*)+\frac12(w-w^*)^TH(w-w^*)+\frac\lambda 2w^Tw\xlongequal{令爲}\hat J(w)\tag9 \end{aligned}

其中HHJ(w)J(w)ww^*處關於ww的Hessian矩陣,由於ww^*爲極值點,所以wJ=0\nabla_wJ=\boldsymbol 0,故近似式中沒有一次項. 另外由ww^*爲極小值點可知HH是半正定的.

J^(w)\hat J(w)ww的梯度爲:

wJ^(w)=H(ww)+λw(10)\nabla_w\hat J(w)=H(w-w^*)+\lambda w \tag{10}

w^=arg minwJ^(w)\hat w=\argmin_w\hat J(w),即w^\hat wJ^(w)\hat J(w)的最小值點,則

w^J^(w)=H(w^w)+λw^=0(11)\nabla_{\hat w}\hat J(w)=H(\hat w-w^*)+\lambda \hat w=\boldsymbol 0 \tag{11}

(H+λI)w^=Hw(12)(H+\lambda I)\hat w=Hw^*\tag{12}

w^=(H+λI)1Hw(13)\hat w=(H+\lambda I)^{-1}Hw^*\tag{13}

λ\lambda趨於0時,正則化後的代價函數的最優解w^\hat w趨於ww^*,那麼當λ\lambda增加時會發生什麼呢?

由於Hessian矩陣HH是實對稱矩陣,所以其可對角化,即QTHQ=ΛQ^TH Q=\Lambda,其中QQ爲正交矩陣且列向量爲HH的特徵向量,故H=QΛQTH=Q\Lambda Q^T,代入式(13)(13)可得

w^=(QΛQT+λI)1QΛQTw=[Q(Λ+λI)QT]1QΛQTw=Q(Λ+λI)1QTw(14)\begin{aligned} \hat w &=(Q\Lambda Q^T+\lambda I)^{-1}Q\Lambda Q^Tw^* \\ &=[Q (\Lambda+\lambda I)Q^T]^{-1}Q\Lambda Q^Tw^*\\ &=Q(\Lambda +\lambda I)^{-1}Q^Tw^* \tag{14} \end{aligned}

H^=Q(Λ+λI)1QT\hat H=Q(\Lambda +\lambda I)^{-1}Q^T,則有w^=H^w\hat w=\hat Hw^*,即H^\hat H的特徵值爲ξiξi+λ\frac{\xi_i}{\xi_i+\lambda},其中ξi\xi_iHH的特徵值,且H^\hat H的特徵值ξiξi+λ\frac{\xi_i}{\xi_i+\lambda}對應的特徵向量與HH的特徵值ξi\xi_i對應的特徵向量相同,均爲QQ的第ii列.

因此,ww^*左乘H^\hat H可以看做沿着由HH的特徵向量所定義的軸來縮放ww^*,具體來說,我們會根據ξiξi+λ\frac{\xi_i}{\xi_i+\lambda}因子來縮放ww^*HH的第ii個特徵向量方向上的分量wiw_i^*. 因此,對於較大的特徵值ξiλ\xi_i \gg \lambda所對應的特徵向量的方向上,正則化的影響較小,因爲分量wiw_i^*的縮放因子趨於1;而對於較小的特徵值ξiλ\xi_i \ll \lambda所對應的特徵向量的方向上,ww^*的分量wiw_i^*會縮放到幾乎爲0\boldsymbol 0.

還可以這樣來理解:L2正則化會將最優解ww^*的分量進行縮放,某分量方向上代價函數降低得越慢,則對其縮放的程度越高,即偏好保留的是代價函數降低更快的方向,這些方向特徵值大,故二階導數大,所以降低快[2]^{[2]}. 這種效應如下圖所示.

在這裏插入圖片描述
上圖是假設參數向量ww維度僅爲2,即w=[w1,w2]w=[w_1,w_2],作出J(w)J(w)的等值線後,由Hessian矩陣與等值線的關係可知,圖中所畫的J(w)J(w)的Hessian矩陣HH的特徵向量方向恰爲水平和垂直方向,且等值線密集的垂直方向對應的特徵值較大,等值線稀疏的水平方向對應的特徵值較小.

根據前文所述結論,ww^*在水平方向的分量將被收縮較多,而在垂直方向的分量所收到的影響則相對沒那麼大. 圖中的w~\tilde w點正是加了正則項後的最優解,其垂直與水平分量相對於ww^*的變化驗證了我們的想法.

References:

[1] 花書中文版7.1節
[2] Hessian矩陣與等值線的關係
[3] 貝葉斯角度看 L1 & L2 正則化
[4] L1正則先驗分佈是Laplace分佈,L2正則先驗分佈是Gaussian分佈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章