L2和L1正則化防止過擬合-貝葉斯角度和約束優化角度的解釋

L1和L2正則化方法對於機器學習模型來說都具有防止模型過擬合的作用,通常我們需要理解他們是如何發揮作用的。L1、L2原理的解釋可以從兩個角度:

  1. 帶約束條件的優化求解(拉格朗日乘子法)
  2. 貝葉斯學派:最大後驗概率
    1. L1正則化相當於爲參數w加入了拉普拉斯分佈的先驗
    2. L2正則化相當於爲參數w加入了高斯分佈的先驗

L2正則化

約束優化角度

正則化是一種迴歸的形式,它將係數估計朝零的方向進行約束、調整或縮小。也就是說,正則化可以在學習過程中降低模型複雜度和不穩定程度,從而避免過擬合的危險。在機器學習任務中,對於一個參數模型,優化參數時一定伴隨着損失函數的建立與優化。

我們首先來看下不加入L2正則化的模型損失函數:
JL2(w)=L(w) J_{L2}(w) = L(w)
加入L2正則化後的模型損失函數爲:
JL2(w)=L(w)+λ2nw2 J_{L2}(w) = L(w) + \frac{\lambda}{2n}w^2
所以L2正則化的方式就是在原來損失函數的基礎上,再加上模型參數的值的平方即可。其中等號右邊的前半部分稱爲經驗風險,後半部分稱爲結構風險

對於原始損失函數求一階導爲:
δL(w)δw=d0 \frac{\delta L(w)}{\delta w} = d_0
對於加入L2正則的損失函數求一階導爲:
δJL2(w)δw=d0+λnw \frac{\delta J_{L2}(w)}{\delta w} = d_0 + \frac{\lambda}{n}w
好,到這裏我們知道加入L2正則化的損失函數求導後多個一個關於w的項。

在優化模型過程中,一般會選擇相應的優化算法,例如選擇SGD優化算法時,參數w更新公式爲:

其中,lr表示學習率 learning rate.

w=wlrδL(w)δw w = w - lr*\frac{\delta L(w)}{\delta w}
如果使用L2正則後的模型更新參數w公式爲:
w=wlrδL(w)δwlrλnw w = w - lr*\frac{\delta L(w)}{\delta w} - \frac{lr*\lambda}{n}w
=(1lrλn)wlrδL(w)δw = (1 - \frac{lr*\lambda}{n})*w - lr*\frac{\delta L(w)}{\delta w}
可以看出來使用原始損失函數的一階導數時,w的權重是1,加入L2正則後,w的權重一定小於1,也就是對模型進行了衰減。

L2的權值更新公式爲wi = wi – η * wi,雖然權值不斷減小,但每次減小的幅度不斷降低,所以很快會收斂到較小的值但不爲0。

在過擬合問題中,模型的參數越大,模型過擬合的風險越大,而模型參數越小,模型越不容易過擬合。因此通過加入L2正則化,對模型參數進行衰減,從而減小了過擬合的風險。


貝葉斯角度

上面是從優化函數角度解釋L2正則化方式防止過擬合的原因,那麼如果從貝葉斯角度如何理解呢?

爲L(w)加入正則項,相當於爲模型的參數 w 加入先驗,那要求w滿足某一分佈。

下面先介紹下高斯分佈。高斯分佈又稱正態分佈,是常見的連續概率分佈。高斯分佈的概率密度函數爲:
f(x)=1σ2πe(xμ)22σ2 f(x) = \frac{1}{\sigma \sqrt{2 \pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
其曲線圖如下所示:
在這裏插入圖片描述
那麼高斯分佈和L2正則化是怎聯繫上的呢?

我們知道在最大似然估計中,是假設權重w是未知的參數,從而求得對數似然函數(取了log)
l(w)=log[P(yX;w)]=log[ϵP(yixi;w)]() l(w) = log[P(y|X;w)] = log[\prod_\epsilon P(y^i|x^i;w)] \qquad (*)

從上面可以看出,對於y^i不同的概率分佈,就可以得到不同的模型。

若我們假設滿足
yiN(wTxi,σ2) y^i \backsim N(w^T x^i, \sigma^2)
的高斯分佈,我們則可以在公式(*)中帶入高斯分佈的概率密度函數:
l(w)=log[i12πσe(yiwTxi)22σ2] l(w) = log[\prod_i \frac{1}{\sqrt{2\pi} \sigma}e^{-\frac{(y^i - w^T x^i)^2}{2\sigma^2}}]
=12σ2i(yiwTxi)2+C \qquad\qquad = -\frac{1}{2\sigma^2}\sum_i (y^i - w^T x^i)^2 + C
上面的C爲常數項。常數項和係數不影響我們求解max(l(w))的解,所我們可以令
J(w;X,y)=l(w) J(w;X, y) = -l(w)
這樣其實是得到了Linear Regression的代價函數。


而在最大化後驗概率估計中,我們將權重w看作隨機變量,也具有某種分佈,從而有:
P(wX,y)=P(w,X,y)P(X,y)=P(X,yw)P(w)P(X,y)P(yX,w)P(w) P(w|X, y) = \frac{P(w, X, y)}{P(X, y)} = \frac{P(X, y|w)P(w)}{P(X, y)}\propto P(y|X, w)P(w)
取對數後得到:
MAP=logP(yX,w)P(w)=logP(yX,w)+logP(w) MAP = log P(y|X, w)P(w) = log P(y|X, w) + log P(w)
可見,後驗概率函數是在似然函數基礎上再加上logP(w)P(w)的意義是對權重係數w的概率分佈的先驗假設,在收集到訓練樣本{X, y}之後,則可根據{X, y}的後驗概率對w進行修正,從而對w做出更好的估計。

假設w的先驗分佈爲0均值的高斯分佈,即:
wjN(0,σ2) w_j \backsim N(0, \sigma^2)
則有:
log(P(w))=logjP(wj)=logj[12πσewj22σ2] log(P(w)) = log\prod_j P(w_j)= log\prod_j[\frac{1}{\sqrt{2\pi} \sigma}e^{-\frac{w_j^2}{2\sigma^2}}]
=12σ2wj2+C \qquad = -\frac{1}{2\sigma^2} \sum w_j^2 + C
可以看到,在高斯分佈下,logP(w)的效果等價於在損失函數中增加L2正則化。

所以,L2正則化可通過假設權重w的先驗分佈爲高斯分佈,由最大後驗概率估計導出



L1正則化

約束優化角度

L1正則化具有防止模型過擬合的能力,但是相比於L2正則化,兩者防止過擬合的方式不太一樣。

不加入L1正則化的損失函數爲
JL1(w)=L(w) J_{L1}(w) = L(w)
加入L1正則化的損失函數爲
JL1(w)=L(w)+λw J_{L1}(w) = L(w) + \lambda|w|

爲什麼新的損失函數可以防止模型的過擬合呢?

我們經常在一些文章或者博客中看到L1防止過擬合的方式是因爲L1正則化有特徵選擇的作用,容易產生稀疏解,即可以使得重要特徵的參數不爲0,而使得一些不重要特徵的參數變爲0將其拋棄掉。

那麼究竟爲什麼L1具有特徵選擇的作用,是如何將不重要特徵的參數學習的結果爲0的呢?

我們在優化更新參數w的時候,一般需要對損失函數求解一階導數,對原始損失函數求解在w=0處的一階導數爲:
δLδw=d0 \frac{\delta L}{\delta w} = d_{0}
則引入L1正則項後,求解w=0的一階導數爲:

δJL1(w)δww=0=d0λ \frac{\delta J_{L1}(w)}{\delta w} |_{w=0^-}= d_{0} - \lambda
δJL1(w)δww=0+=d0+λ \frac{\delta J_{L1}(w)}{\delta w} |_{w=0^+}= d_{0} + \lambda

可見引入L1正則後,在0處的導數有一個突變,從d0−λ變到d0+λ

d0−λd0+λ異號,則在0處會是一個極小值點,因此,參數優化時很有可能優化到該極小值點上,即w=0處,當有多個參數時也是類似的情況,因此用L1正則化容易產生稀疏解。

其實L1正則化的權值更新公式爲wi = wi – η * 1, 權值每次更新都固定減少一個特定的值η,那麼經過若干次迭代之後,權值就有可能減少到0

上面我們知道L1正則化可以通過讓模型學習更多稀疏解,而使得更多的參數變爲0,當一個模型中有很多0值參數時,其模型複雜度會變得更小,從而給予模型防止過擬合的能力。


貝葉斯角度

先來介紹下拉普拉斯分佈:
在這裏插入圖片描述
上面是拉普拉斯分佈曲線,其對應公式爲:
p(x)=12λexμλ p(x) = \frac{1}{2\lambda} e^{-\frac{|x-\mu|}{\lambda}}
一般𝜇的取值爲0,所以形式如下:
p(x)=12λexλ p(x) = \frac{1}{2\lambda} e^{-\frac{|x|}{\lambda}}
由於其是由兩個指數函數組成,因此又叫雙指數函數分佈。


若假設w_j服從均值爲0、參數爲a的拉普拉斯分佈,即:
P(wj)=12aewja P(w_j) = \frac{1}{\sqrt{2a}} e^{\frac{-|w_j|}{a}}
則有:
log(P(w))=logj12aewja log(P(w)) = log \prod_j \frac{1}{\sqrt{2a}}e^{\frac{-|w_j|}{a}}
=1ajwj+C \qquad\qquad = -\frac{1}{a} \sum_j |w_j| + C
上面的C爲常數項。可以看到,在拉普拉斯分佈下logP(w)的效果等價在代價函數中增加L1項。

所以,L1正則化可通過假設權重w的先驗分佈爲拉普拉斯分佈,由最大後驗概率估計導出

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