上節課我們介紹了過擬合發生的原因:excessive power, stochastic/deterministic noise 和limited data。並介紹瞭解決overfitting的簡單方法。本節課,我們將介紹解決overfitting的另一種非常重要的方法:Regularization規則化。
一、Regularized Hypothesis Set
先來看一個典型的overfitting的例子:
如圖所示,在資料量不夠大的情況下,如果我們使用一個高階多項式(圖中紅色曲線所示),例如10階,對目標函式(藍色曲線)進行擬合。擬合曲線波動很大,雖然E_{in}很小,但是E_{out}很大,也就造成了過擬合現象。
那麼如何對過擬合現象進行修正,使hypothesis更接近於target function呢?一種方法就是regularized fit。
這種方法得到的紅色fit曲線,要比overfit的紅色曲線平滑很多,更接近與目標函式,它的階數要更低一些。那麼問題就變成了我們要把高階(10階)的hypothesis sets轉換為低階(2階)的hypothesis sets。透過下圖我們發現,不同階數的hypothesis存在如下包含關係:
我們發現10階多項式hypothesis sets裡包含了2階多項式hypothesis sets的所有項,那麼在H_{10}中加入一些限定條件,使它近似為H_2即可。這種函式近似曾被稱之為不適定問題(ill-posed problem)。
如何從10階轉換為2階呢?首先,H_{10}可表示為:
H_{10}=w_0+w_1x+w_2x^2+w_3x^3+\cdots+w_{10}x^{10}
而H_2可表示為:
H_2=w_0+w_1x+w_2x^2
所以,如果限定條件是w_3=w_4=\cdots=w_{10}=0,那麼就有H_2=H_{10}。也就是說,對於高階的hypothesis,為了防止過擬合,我們可以將其高階部分的權重w限制為0,這樣,就相當於從高階的形式轉換為低階,fit波形更加平滑,不容易發生過擬合。
那有一個問題,令H_{10}高階權重w為0,為什麼不直接使用H_2呢?這樣做的目的是擴充我們的視野,為即將討論的問題做準備。剛剛我們討論的限制是H_{10}高階部分的權重w限制為0,這是比較苛刻的一種限制。下面,我們把這個限制條件變得更寬鬆一點,即令任意8個權重w為0,並不非要限定w_3=w_4=\cdots=w_{10}=0,這個Looser Constraint可以寫成:
\sum_{q=0}^{10}(w_q\neq0)\leq3
也就只是限定了w不為0的個數,並不限定必須是高階的w。這種hypothesis記為H_2′,稱為sparse hypothesis set,它與H_2和H_{10}的關係為:
H_2\subset H_2’\subset H_{10}
Looser Constraint對應的hypothesis應該更好解一些,但事實是sparse hypothesis set H_2′被證明也是NP-hard,求解非常困難。所以,還要轉換為另一種易於求解的限定條件。
那麼,我們尋找一種更容易求解的寬鬆的限定條件Softer Constraint,即:
\sum_{q=0}^{10}w_q^2=||w||^2\leq C
其中,C是常數,也就是說,所有的權重w的平方和的大小不超過C,我們把這種hypothesis sets記為H(C)。
H_2′與H(C)的關係是,它們之間有重疊,有交集的部分,但是沒有完全包含的關係,也不一定相等。對應H(C),C值越大,限定的範圍越大,即越寬鬆:
H(0)\subset H(1.126)\subset \cdots \subset H(1126)\subset \cdots \subset H(\infty)=H_{10}
當C無限大的時候,即限定條件非常寬鬆,相當於沒有加上任何限制,就與H_{10}沒有什麼兩樣。H(C)稱為regularized hypothesis set,這種形式的限定條件是可以進行求解的,我們把求解的滿足限定條件的權重w記為w_{REG}。接下來就要探討如何求解w_{REG}。
二、Weight Decay Regularization
現在,針對H(c),即加上限定條件,我們的問題變成:
我們的目的是計算E_{in}(w)的最小值,限定條件是||w^2||\leq C。這個限定條件從幾何角度上的意思是,權重w被限定在半徑為\sqrt C的圓內,而球外的w都不符合要求,即便它是靠近E_{in}(w)梯度為零的w。
下面用一張圖來解釋在限定條件下,最小化E_{in}(w)的過程:
如上圖所示,假設在空間中的一點w,根據梯度下降演算法,w會朝著-\nabla E_{in}的方向移動(圖中藍色箭頭指示的方向),在沒有限定條件的情況下,w最終會取得最小值w_{lin},即“谷底”的位置。現在,加上限定條件,即w被限定在半徑為\sqrt C的圓內,w距離原點的距離不能超過圓的半徑,球如圖中紅色圓圈所示w^Tw=C。那麼,這種情況下,w不能到達w_{lin}的位置,最大隻能位於圓上,沿著圓的切線方向移動(圖中綠色箭頭指示的方向)。與綠色向量垂直的向量(圖中紅色箭頭指示的方向)是圓切線的法向量,即w的方向,w不能靠近紅色箭頭方向移動。那麼隨著迭代最佳化過程,只要-\nabla E_{in}與w點切線方向不垂直,那麼根據向量知識,-\nabla E_{in}一定在w點切線方向上有不為零的分量,即w點會繼續移動。只有當-\nabla E_{in}與綠色切線垂直,即與紅色法向量平行的時候,-\nabla E_{in}在切線方向上沒有不為零的分量了,也就表示這時w達到了最優解的位置。
有了這個平行的概念,我們就得到了獲得最優解需要滿足的性質:
\nabla E_{in}(w_{REG})+\frac{2\lambda}{N}w_{REG}=0
上面公式中的\lambda稱為Lagrange multiplier,是用來解有條件的最佳化問題常用的數學工具,\frac2N是方便後面公式推導。那麼我們的目標就變成了求解滿足上面公式的w_{REG}。
之前我們推導過,線性迴歸的E_{in}的表示式為:
E_{in}=\frac1N\sum_{n=1}^N(x_n^Tw-y_n)^2
計算E_{in}梯度,並代入到平行條件中,得到:
\frac2N(Z^TZw_{REG}-Z^Ty)+\frac{2\lambda}Nw_{REG}=0
這是一個線性方程式,直接得到w_{REG}為:
w_{REG}=(Z^TZ+\lambda I)^{-1}Z^Ty
上式中包含了求逆矩陣的過程,因為Z^TZ是半正定矩陣,如果\lambda大於零,那麼Z^TZ+\lambda I一定是正定矩陣,即一定可逆。另外提一下,統計學上把這叫做ridge regression,可以看成是linear regression的進階版。
如果對於更一般的情況,例如邏輯迴歸問題中,\nabla E_{in}不是線性的,那麼將其代入平行條件中得到的就不是一個線性方程式,w_{REG}不易求解。下面我們從另一個角度來看一下平行等式:
\nabla E_{in}(w_{REG})+\frac{2\lambda}{N}w_{REG}=0
已知\nabla E_{in}是E_{in}對w_{REG}的導數,而\frac{2\lambda}{N}w_{REG}也可以看成是\frac{\lambda}Nw_{REG}^2的導數。那麼平行等式左邊可以看成一個函式的導數,導數為零,即求該函式的最小值。也就是說,問題轉換為最小化該函式:
E_{aug}(w)=E_{in}(w)+\frac{\lambda}Nw^Tw
該函式中第二項就是限定條件regularizer,也稱為weight-decay regularization。我們把這個函式稱為Augmented Error,即E_{aug}(w)。
如果\lambda不為零,對應於加上了限定條件,若\lambda等於零,則對應於沒有任何限定條件,問題轉換成之前的最小化E_{in}(w)。
下面給出一個曲線擬合的例子,\lambda取不同的值時,得到的曲線也不相同:
從圖中可以看出,當\lambda=0時,發生了過擬合;當\lambda=0.0001時,擬合的效果很好;當\lambda=0.01和\lambda=1時,發生了欠擬合。我們可以把\lambda看成是一種penality,即對hypothesis複雜度的懲罰,\lambda越大,w就越小,對應於C值越小,即這種懲罰越大,擬合曲線就會越平滑,高階項就會削弱,容易發生欠擬合。\lambda一般取比較小的值就能達到良好的擬合效果,過大過小都有問題,但究竟取什麼值,要根據具體訓練資料和模型進行分析與除錯。
事實上,這種regularization不僅可以用在多項式的hypothesis中,還可以應用在logistic regression等其他hypothesis中,都可以達到防止過擬合的效果。
我們目前討論的多項式是形如x,x^2,x^3,\cdots,x^n的形式,若x的範圍限定在[-1,1]之間,那麼可能導致x^n相對於低階的值要小得多,則其對於的w非常大,相當於要給高階項設定很大的懲罰。為了避免出現這種資料大小差別很大的情況,可以使用Legendre Polynomials代替x,x^2,x^3,\cdots,x^n這種形式,Legendre Polynomials各項之間是正交的,用它進行多項式擬合的效果更好。關於Legendre Polynomials的概念這裡不詳細介紹,有興趣的童鞋可以看一下維基百科。
三、Regularization and VC Theory
下面我們研究一下Regularization與VC理論之間的關係。Augmented Error表示式如下:
E_{aug}(w)=E_{in}(w)+\frac{\lambda}Nw^Tw
VC Bound表示為:
E_{out}(w)\leq E_{in}(w)+\Omega(H)
其中w^Tw表示的是單個hypothesis的複雜度,記為\Omega(w);而\Omega(H)表示整個hypothesis set的複雜度。根據Augmented Error和VC Bound的表示式,\Omega(w)包含於\Omega(H)之內,所以,E_{aug}(w)比E_{in}更接近於E_{out},即更好地代表E_{out},E_{aug}(w)與E_{out}之間的誤差更小。
根據VC Dimension理論,整個hypothesis set的d_{VC}=\breve d+1,這是因為所有的w都考慮了,沒有任何限制條件。而引入限定條件的d_{VC}(H(C))=d_{EFF}(H,A),即有效的VC dimension。也就是說,d_{VC}(H)比較大,因為它代表了整個hypothesis set,但是d_{EFF}(H,A)比較小,因為由於regularized的影響,限定了w只取一小部分。其中A表示regularized演算法。當\lambda>0時,有:
d_{EFF}(H,A)\leq d_{VC}
這些與實際情況是相符的,比如對多項式擬合模型,當\lambda=0時,所有的w都給予考慮,相應的d_{VC}很大,容易發生過擬合。當\lambda>0且越來越大時,很多w將被捨棄,d_{EFF}(H,A)減小,擬合曲線越來越平滑,容易發生欠擬合。
四、General Regularizers
那麼通用的Regularizers,即\Omega(w),應該選擇什麼樣的形式呢?一般地,我們會朝著目標函式的方向進行選取。有三種方式:
- target-dependent<p>
-
plausible
-
friendly
其實這三種方法跟之前error measure類似,其也有三種方法:
- user-dependent<p>
-
plausible
-
friendly
regularizer與error measure是機器學習模型設計中的重要步驟。
接下來,介紹兩種Regularizer:L2和L1。L2 Regularizer一般比較通用,其形式如下:
\Omega(w)=\sum_{q=0}^Qw_q^2=||w||_2^2
這種形式的regularizer計算的是w的平方和,是凸函式,比較平滑,易於微分,容易進行最最佳化計算。
L1 Regularizer的表示式如下:
\Omega(w)=\sum_{q=0}^Q|w_q|=||w||_1
L1計算的不是w的平方和,而是絕對值和,即長度和,也是凸函式。已知w^Tw=C圍成的是圓形,而||w||_1=C圍成的是正方形,那麼在正方形的四個頂點處,是不可微分的(不像圓形,處處可微分)。根據之前介紹的平行等式推導過程,對應這種正方形,它的解大都位於四個頂點處(不太理解,歡迎補充賜教),因為正方形邊界處的w絕對值都不為零,若-\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。加上限制條件之後,我們就可以把問題轉化為E_{aug}最小化問題,即把w的平方加進去。這種過程,實際上回降低VC Dimension。最後,介紹regularization是通用的機器學習工具,設計方法通常包括target-dependent,plausible,friendly等等。下節課將介紹如何選取合適的\lambda來建立最佳擬合模型。
註明:
文章中所有的圖片均來自臺灣大學林軒田《機器學習基石》課程
更多AI資源請關注公眾號:AI有道(ID:redstonewill)