臺灣大學林軒田機器學習基石課程學習筆記14 -- Regularization

紅色石頭Will發表於2017-05-26

紅色石頭的個人網站:redstonewill.com

上節課我們介紹了過擬合發生的原因:excessive power, stochastic/deterministic noise 和limited data。並介紹瞭解決overfitting的簡單方法。本節課,我們將介紹解決overfitting的另一種非常重要的方法:Regularization規則化。

一、Regularized Hypothesis Set

先來看一個典型的overfitting的例子:

這裡寫圖片描述

如圖所示,在資料量不夠大的情況下,如果我們使用一個高階多項式(圖中紅色曲線所示),例如10階,對目標函式(藍色曲線)進行擬合。擬合曲線波動很大,雖然Ein

E_{in}
很小,但是Eout
E_{out}
很大,也就造成了過擬合現象。

那麼如何對過擬合現象進行修正,使hypothesis更接近於target function呢?一種方法就是regularized fit。

這裡寫圖片描述

這種方法得到的紅色fit曲線,要比overfit的紅色曲線平滑很多,更接近與目標函式,它的階數要更低一些。那麼問題就變成了我們要把高階(10階)的hypothesis sets轉換為低階(2階)的hypothesis sets。通過下圖我們發現,不同階數的hypothesis存在如下包含關係:

這裡寫圖片描述

我們發現10階多項式hypothesis sets裡包含了2階多項式hypothesis sets的所有項,那麼在H10

H_{10}
中加入一些限定條件,使它近似為H2
H_2
即可。這種函式近似曾被稱之為不適定問題(ill-posed problem)。

如何從10階轉換為2階呢?首先,H10

H_{10}
可表示為:

H10=w0+w1x+w2x2+w3x3++w10x10
H_{10}=w_0+w_1x+w_2x^2+w_3x^3+\cdots+w_{10}x^{10}

H2

H_2
可表示為:

H2=w0+w1x+w2x2
H_2=w_0+w_1x+w_2x^2

所以,如果限定條件是w3=w4==w10=0

w_3=w_4=\cdots=w_{10}=0
,那麼就有H2=H10
H_2=H_{10}
。也就是說,對於高階的hypothesis,為了防止過擬合,我們可以將其高階部分的權重w限制為0,這樣,就相當於從高階的形式轉換為低階,fit波形更加平滑,不容易發生過擬合。

這裡寫圖片描述

那有一個問題,令H10

H_{10}
高階權重w為0,為什麼不直接使用H2
H_2
呢?這樣做的目的是擴充我們的視野,為即將討論的問題做準備。剛剛我們討論的限制是H10
H_{10}
高階部分的權重w限制為0,這是比較苛刻的一種限制。下面,我們把這個限制條件變得更寬鬆一點,即令任意8個權重w為0,並不非要限定w3=w4==w10=0
w_3=w_4=\cdots=w_{10}=0
,這個Looser Constraint可以寫成:

q=010(wq0)3
\sum_{q=0}^{10}(w_q\neq0)\leq3

也就只是限定了w不為0的個數,並不限定必須是高階的w。這種hypothesis記為H2

H_2'
,稱為sparse hypothesis set,它與H2
H_2
H10
H_{10}
的關係為:

H2H2H10
H_2\subset H_2'\subset H_{10}

這裡寫圖片描述

Looser Constraint對應的hypothesis應該更好解一些,但事實是sparse hypothesis set H2

H_2'
被證明也是NP-hard,求解非常困難。所以,還要轉換為另一種易於求解的限定條件。

那麼,我們尋找一種更容易求解的寬鬆的限定條件Softer Constraint,即:

q=010wq2=||w||2C
\sum_{q=0}^{10}w_q^2=||w||^2\leq C

其中,C是常數,也就是說,所有的權重w的平方和的大小不超過C,我們把這種hypothesis sets記為H(C)

H(C)

H2

H_2'
H(C)
H(C)
的關係是,它們之間有重疊,有交集的部分,但是沒有完全包含的關係,也不一定相等。對應H(C)
H(C)
,C值越大,限定的範圍越大,即越寬鬆:

H(0)H(1.126)H(1126)H()=H10
H(0)\subset H(1.126)\subset \cdots \subset H(1126)\subset \cdots \subset H(\infty)=H_{10}

當C無限大的時候,即限定條件非常寬鬆,相當於沒有加上任何限制,就與H10

H_{10}
沒有什麼兩樣。H(C)
H(C)
稱為regularized hypothesis set,這種形式的限定條件是可以進行求解的,我們把求解的滿足限定條件的權重w記為wREG
w_{REG}
。接下來就要探討如何求解wREG
w_{REG}

二、Weight Decay Regularization

現在,針對H(c),即加上限定條件,我們的問題變成:

這裡寫圖片描述

我們的目的是計算Ein(w)

E_{in}(w)
的最小值,限定條件是||w2||C
||w^2||\leq C
。這個限定條件從幾何角度上的意思是,權重w被限定在半徑為C
\sqrt C
的圓內,而球外的w都不符合要求,即便它是靠近Ein(w)
E_{in}(w)
梯度為零的w。

這裡寫圖片描述

下面用一張圖來解釋在限定條件下,最小化Ein(w)

E_{in}(w)
的過程:

這裡寫圖片描述

如上圖所示,假設在空間中的一點w,根據梯度下降演算法,w會朝著Ein

-\nabla E_{in}
的方向移動(圖中藍色箭頭指示的方向),在沒有限定條件的情況下,w最終會取得最小值wlin
w_{lin}
,即“谷底”的位置。現在,加上限定條件,即w被限定在半徑為C
\sqrt C
的圓內,w距離原點的距離不能超過圓的半徑,球如圖中紅色圓圈所示wTw=C
w^Tw=C
。那麼,這種情況下,w不能到達wlin
w_{lin}
的位置,最大隻能位於圓上,沿著圓的切線方向移動(圖中綠色箭頭指示的方向)。與綠色向量垂直的向量(圖中紅色箭頭指示的方向)是圓切線的法向量,即w的方向,w不能靠近紅色箭頭方向移動。那麼隨著迭代優化過程,只要Ein
-\nabla E_{in}
與w點切線方向不垂直,那麼根據向量知識,Ein
-\nabla E_{in}
一定在w點切線方向上有不為零的分量,即w點會繼續移動。只有當Ein
-\nabla E_{in}
與綠色切線垂直,即與紅色法向量平行的時候,Ein
-\nabla E_{in}
在切線方向上沒有不為零的分量了,也就表示這時w達到了最優解的位置。

有了這個平行的概念,我們就得到了獲得最優解需要滿足的性質:

Ein(wREG)+2λNwREG=0
\nabla E_{in}(w_{REG})+\frac{2\lambda}{N}w_{REG}=0

上面公式中的λ

\lambda
稱為Lagrange multiplier,是用來解有條件的最佳化問題常用的數學工具,2N
\frac2N
是方便後面公式推導。那麼我們的目標就變成了求解滿足上面公式的wREG
w_{REG}

之前我們推導過,線性迴歸的Ein

E_{in}
的表示式為:

Ein=1Nn=1N(xnTwyn)2
E_{in}=\frac1N\sum_{n=1}^N(x_n^Tw-y_n)^2

計算Ein

E_{in}
梯度,並代入到平行條件中,得到:

2N(ZTZwREGZTy)+2λNwREG=0
\frac2N(Z^TZw_{REG}-Z^Ty)+\frac{2\lambda}Nw_{REG}=0

這是一個線性方程式,直接得到wREG

w_{REG}
為:

wREG=(ZTZ+λI)1ZTy
w_{REG}=(Z^TZ+\lambda I)^{-1}Z^Ty

上式中包含了求逆矩陣的過程,因為ZTZ

Z^TZ
是半正定矩陣,如果λ
\lambda
大於零,那麼ZTZ+λI
Z^TZ+\lambda I
一定是正定矩陣,即一定可逆。另外提一下,統計學上把這叫做ridge regression,可以看成是linear regression的進階版。

如果對於更一般的情況,例如邏輯迴歸問題中,Ein

\nabla E_{in}
不是線性的,那麼將其代入平行條件中得到的就不是一個線性方程式,wREG
w_{REG}
不易求解。下面我們從另一個角度來看一下平行等式:

Ein(wREG)+2λNwREG=0
\nabla E_{in}(w_{REG})+\frac{2\lambda}{N}w_{REG}=0

已知Ein

\nabla E_{in}
Ein
E_{in}
wREG
w_{REG}
的導數,而2λNwREG
\frac{2\lambda}{N}w_{REG}
也可以看成是λNwREG2
\frac{\lambda}Nw_{REG}^2
的導數。那麼平行等式左邊可以看成一個函式的導數,導數為零,即求該函式的最小值。也就是說,問題轉換為最小化該函式:

Eaug(w)=Ein(w)+λNwTw
E_{aug}(w)=E_{in}(w)+\frac{\lambda}Nw^Tw

該函式中第二項就是限定條件regularizer,也稱為weight-decay regularization。我們把這個函式稱為Augmented Error,即Eaug(w)

E_{aug}(w)

如果λ

\lambda
不為零,對應於加上了限定條件,若λ
\lambda
等於零,則對應於沒有任何限定條件,問題轉換成之前的最小化Ein(w)
E_{in}(w)

下面給出一個曲線擬合的例子,λ

\lambda
取不同的值時,得到的曲線也不相同:

這裡寫圖片描述

從圖中可以看出,當λ=0

\lambda=0
時,發生了過擬合;當λ=0.0001
\lambda=0.0001
時,擬合的效果很好;當λ=0.01
\lambda=0.01
λ=1
\lambda=1
時,發生了欠擬合。我們可以把λ
\lambda
看成是一種penality,即對hypothesis複雜度的懲罰,λ
\lambda
越大,w就越小,對應於C值越小,即這種懲罰越大,擬合曲線就會越平滑,高階項就會削弱,容易發生欠擬合。λ
\lambda
一般取比較小的值就能達到良好的擬合效果,過大過小都有問題,但究竟取什麼值,要根據具體訓練資料和模型進行分析與除錯。

這裡寫圖片描述

事實上,這種regularization不僅可以用在多項式的hypothesis中,還可以應用在logistic regression等其他hypothesis中,都可以達到防止過擬合的效果。

我們目前討論的多項式是形如x,x2,x3,,xn

x,x^2,x^3,\cdots,x^n
的形式,若x的範圍限定在[-1,1]之間,那麼可能導致xn
x^n
相對於低階的值要小得多,則其對於的w非常大,相當於要給高階項設定很大的懲罰。為了避免出現這種資料大小差別很大的情況,可以使用Legendre Polynomials代替x,x2,x3,,xn
x,x^2,x^3,\cdots,x^n
這種形式,Legendre Polynomials各項之間是正交的,用它進行多項式擬合的效果更好。關於Legendre Polynomials的概念這裡不詳細介紹,有興趣的童鞋可以看一下維基百科

三、Regularization and VC Theory

下面我們研究一下Regularization與VC理論之間的關係。Augmented Error表示式如下:

Eaug(w)=Ein(w)+λNwTw
E_{aug}(w)=E_{in}(w)+\frac{\lambda}Nw^Tw

VC Bound表示為:

Eout(w)Ein(w)+Ω(H)
E_{out}(w)\leq E_{in}(w)+\Omega(H)

其中wTw

w^Tw
表示的是單個hypothesis的複雜度,記為Ω(w)
\Omega(w)
;而Ω(H)
\Omega(H)
表示整個hypothesis set的複雜度。根據Augmented Error和VC Bound的表示式,Ω(w)
\Omega(w)
包含於Ω(H)
\Omega(H)
之內,所以,Eaug(w)
E_{aug}(w)
Ein
E_{in}
更接近於Eout
E_{out}
,即更好地代表Eout
E_{out}
Eaug(w)
E_{aug}(w)
Eout
E_{out}
之間的誤差更小。

這裡寫圖片描述

根據VC Dimension理論,整個hypothesis set的dVC=d˘+1

d_{VC}=\breve d+1
,這是因為所有的w都考慮了,沒有任何限制條件。而引入限定條件的dVC(H(C))=dEFF(H,A)
d_{VC}(H(C))=d_{EFF}(H,A)
,即有效的VC dimension。也就是說,dVC(H)
d_{VC}(H)
比較大,因為它代表了整個hypothesis set,但是dEFF(H,A)
d_{EFF}(H,A)
比較小,因為由於regularized的影響,限定了w只取一小部分。其中A表示regularized演算法。當λ>0
\lambda>0
時,有:

dEFF(H,A)dVC
d_{EFF}(H,A)\leq d_{VC}

這些與實際情況是相符的,比如對多項式擬合模型,當λ=0

\lambda=0
時,所有的w都給予考慮,相應的dVC
d_{VC}
很大,容易發生過擬合。當λ>0
\lambda>0
且越來越大時,很多w將被捨棄,dEFF(H,A)
d_{EFF}(H,A)
減小,擬合曲線越來越平滑,容易發生欠擬合。

四、General Regularizers

那麼通用的Regularizers,即Ω(w)

\Omega(w)
,應該選擇什麼樣的形式呢?一般地,我們會朝著目標函式的方向進行選取。有三種方式:

  • target-dependent

  • plausible

  • friendly

這裡寫圖片描述

其實這三種方法跟之前error measure類似,其也有三種方法:

  • user-dependent

  • plausible

  • friendly

regularizer與error measure是機器學習模型設計中的重要步驟。

這裡寫圖片描述

接下來,介紹兩種Regularizer:L2和L1。L2 Regularizer一般比較通用,其形式如下:

Ω(w)=q=0Qwq2=||w||22
\Omega(w)=\sum_{q=0}^Qw_q^2=||w||_2^2

這種形式的regularizer計算的是w的平方和,是凸函式,比較平滑,易於微分,容易進行最優化計算。

L1 Regularizer的表示式如下:

Ω(w)=q=0Q|wq|=||w||1
\Omega(w)=\sum_{q=0}^Q|w_q|=||w||_1

L1計算的不是w的平方和,而是絕對值和,即長度和,也是凸函式。已知wTw=C

w^Tw=C
圍成的是圓形,而||w||1=C
||w||_1=C
圍成的是正方形,那麼在正方形的四個頂點處,是不可微分的(不像圓形,處處可微分)。根據之前介紹的平行等式推導過程,對應這種正方形,它的解大都位於四個頂點處(不太理解,歡迎補充賜教),因為正方形邊界處的w絕對值都不為零,若Ein
-\nabla E_{in}
不與其平行,那麼w就會向頂點處移動,頂點處的許多w分量為零,所以,L1 Regularizer的解是稀疏的,稱為sparsity。優點是計算速度快。

這裡寫圖片描述

下面來看一下λ

\lambda
如何取值,首先,若stochastic noise不同,那麼一般情況下,λ
\lambda
取值有如下特點:

這裡寫圖片描述

從圖中可以看出,stochastic noise越大,λ

\lambda
越大。

另一種情況,不同的deterministic noise,λ

\lambda
取值有如下特點:

這裡寫圖片描述

從圖中可以看出,deterministic noise越大,λ

\lambda
越大。

以上兩種noise的情況下,都是noise越大,相應的λ

\lambda
也就越大。這也很好理解,如果在開車的情況下,路況也不好,即noise越多,那麼就越會踩剎車,這裡踩剎車指的就是regularization。但是大多數情況下,noise是不可知的,這種情況下如何選擇λ
\lambda
?這部分內容,我們下節課將會討論。

五、總結

本節課主要介紹了Regularization。首先,原來的hypothesis set加上一些限制條件,就成了Regularized Hypothesis Set。加上限制條件之後,我們就可以把問題轉化為Eaug

E_{aug}
最小化問題,即把w的平方加進去。這種過程,實際上回降低VC Dimension。最後,介紹regularization是通用的機器學習工具,設計方法通常包括target-dependent,plausible,friendly等等。下節課將介紹如何選取合適的λ
\lambda
來建立最佳擬合模型。

註明:

文章中所有的圖片均來自臺灣大學林軒田《機器學習基石》課程

關注公眾號並輸入關鍵字“jspdf”獲得該筆記的pdf檔案哦~

更多AI資源請關注公眾號:紅色石頭的機器學習之路(ID:redstonewill)
這裡寫圖片描述

相關文章