1. 程式人生 > >臺灣大學林軒田《機器學習基石》學習筆記第14講——

臺灣大學林軒田《機器學習基石》學習筆記第14講——

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

In general, regularization is a technique that applies to objective functions in ill-posed optimization problems. The mathematical term well-posed problem

stems from a definition given by Jacques Hadamard. He believed that mathematical models of physical phenomena should have the properties that: 1.a solution exists, 2.the solution is unique, 3.the solution’s behavior changes continuously with the initial conditions. Problems that are not well-posed in the sense of Hadamard are termed ill-posed problems
. ——from Wikipedia

一、Regularized Hypothesis Set 在這裡插入圖片描述

  • 如右圖所示,在資料量不夠大的情況下,如果我們使用一個高階多項式(圖中紅色曲線所示),例如10階,對目標函式(藍色曲線)進行擬合。擬合曲線波動很大,雖然Ein很小,但是Eout很大,也就造成了overfitting.
  • 那麼如何對過擬合現象進行修正,使hypothesis更接近於target function呢?一種方法就是左圖的regularized fit。
  • 注意到左圖的紅色曲線比右圖的紅色曲線要更平滑,因為使用了更低階的多項式,例如2階;那麼如何把10階的hypothesis set轉化成2階呢? 在這裡插入圖片描述
    在這裡插入圖片描述
  • 我們注意到不同階數的hypothesis set是有包含關係的,如果我們在H10H_{10}的w向量做一些限制條件,例如規定w3=w4=...=w10=0w_3=w_4=...=w_{10}=0,那麼H10H_{10}就轉化成了H2H_2了,我們把這種操作叫做constraint;
  • 但為什麼不直接使用H2H_2的hypothesis呢? 在這裡插入圖片描述
  • 上圖對剛才的限制條件做了一些寬鬆化:即不再要求固定的wq=0w_q=0了,而是隻要求w向量中的其中至少8個元素要等於0,從而得到一個新的hypothesis set H2H_2 ',我們稱這種操作為Looser constraint.
  • 這樣有兩個好處:一方面H2H_2 '要比H2H_2更靈活,另一方面H2H_2 '也比H10H_{10}更不容易出現overfitting。
  • 但缺點是這樣的hypothesis set不容易求解,NP-hard to solve. 在這裡插入圖片描述
  • 既然looser constraint還是難以求解,這裡再介紹一種constraint操作,我們稱之為softer constraint
  • 這個限制條件如上圖,要求wq2C\sum w_q^2≤C,C為常數,即所有的權重的平方和不能超過常數C,我們把這個限制條件產生的hypothesis set稱作H(C)H(C)
  • H(C)H(C)H2H_2 '存在交疊部分,但不完全相,同時H(C)H(C)中的C取不同大小的值也存在包含關係,當C無窮大時,即沒有存在限制條件;
  • H© 稱為regularized hypothesis set,這種形式的限定條件是可以進行求解的,我們把求解的滿足限定條件的權重w記為wREGw_{REG}接下來就要探討如何求解wREGw_{REG}

二、Weight Decay Regularization 如何如何求解wREGw_{REG},轉化成如下的問題: 在這裡插入圖片描述

  • 我們目標是求解Ein(w)的最小值,前提的限制條件是wq2C\sum w_q^2≤C

  • 這個限定條件從幾何角度上的意思是,權重w被限定在半徑為C\sqrt{C}的圓內,而球外的w都不符合要求,即便它是靠近Ein(w)梯度為零的w。 我們把幾何圖形表示如下: 在這裡插入圖片描述

  • 上圖中,藍色區域是Ein(w)的取值,而紅色圓圈範圍內則是w的限定條件,圓心位置則是座標的原點;

  • 假設在空間中的一點w,根據梯度下降演算法,w會朝著−∇Ein的方向移動(圖中藍色箭頭指示的方向),在沒有限定條件的情況下,w最終會取得最小值Wlin,即“谷底”的位置;

  • 那麼加上限制條件之後,w最大隻能在紅色圓周上移動,因此只要藍色的-▽Ein在沿著w的方向上的分量是正的(即紅色箭頭),w的移動方向就只能是-▽Ein沿著圓周的切線方向的分量(即綠色箭頭);

  • 這樣的迭代直到w的方向和-▽Ein保持平行,這時候的w就是我們的目標wREGw_{REG}在這裡插入圖片描述

  • 在幾何上的分析,得到了上圖中的代數形式;

  • 上面公式中的λ稱為Lagrange multiplier(拉格朗日乘數),是用來解有條件的最佳化問題常用的數學工具,2/N是方便後面公式推導。那麼我們的目標就變成了求解滿足上面公式的wREGw_{REG}在這裡插入圖片描述

  • 上式中包含了求逆矩陣的過程,因為ZTZZ^TZ是半正定矩陣,如果λ大於零,那麼(ZTZ+λI)(Z^TZ+\lambda I)一定是正定矩陣,即一定可逆。另外提一下,統計學上把這叫做ridge regression,可以看成是linear regression的進階版。

在這裡插入圖片描述

  • 另外一種求解的方法,這裡我們把梯度的求解轉化成最初求最小值的求解方式,這裡的w需要轉化成積分形式,即內積,得到:Eaug(w)=Ein(w)+λNwTwE_{aug}(w)=E_{in}(w)+\frac{λ}{N}w^Tw
  • 該函式中第二項就是限定條件regularizer,也稱為weight-decay regularization。我們把這個函式稱為Augmented Error,即Eaug(w)E_{aug}(w);
  • 如果λ不為零,對應於加上了限定條件,若λ等於零,則對應於沒有任何限定條件,問題轉換成之前的最小化Ein(w)。 在這裡插入圖片描述
  • 從圖中可以看出,當λ=0時,發生了過擬合;當λ=0.0001時,擬合的效果很好;當λ=0.01λ=0.01時,發生了欠擬合;
  • 我們可以把λ看成是一種penality,即對hypothesis複雜度的懲罰,λ越大,w就越小,對應於C值越小,即這種懲罰越大,擬合曲線就會越平滑,高階項就會削弱,容易發生欠擬合;
  • λ一般取比較小的值就能達到良好的擬合效果,過大過小都有問題,但究竟取什麼值,要根據具體訓練資料和模型進行分析與除錯。 在這裡插入圖片描述
  • 針對logistics regression的應用中,我們目前討論的多項式是形如xx2x3......xnx、x^2、x^3......x^n的形式,若x的範圍限定在[-1,1]之間,那麼可能導致xnx^n相對於低階的值要小得多,則其對於的w非常大,相當於要給高階項設定很大的懲罰;
  • 為了避免出現這種資料大小差別很大的情況,可以使用*Legendre Polynomials(拉格朗日多項式)*代替xx2x3......xnx、x^2、x^3......x^n這種形式,Legendre Polynomials各項之間是正交的,用它進行多項式擬合的效果更好。

三、Regularization and VC Theory 下面我們研究一下Regularization與VC理論之間的關係。 在這裡插入圖片描述

  • 其中wTww^Tw表示的是單個hypothesis的複雜度,記為Ω(w),而Ω(H)表示整個hypothesis set的複雜度;

  • 根據Augmented Error和VC Bound的表示式,Ω(w)包含於Ω(H)之內,所以,Eaug(w)E_{aug}(w)EinE_{in}更接近於EoutE_{out},即更好地代表EoutE_{out}Eaug(w)E_{aug}(w)EoutE_{out}之間的誤差更小。 在這裡插入圖片描述

  • 根據VC Dimension理論,整個hypothesis set的dVC=d˘+1d_{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時,有:dEFF(H,A)<dVCd_{EFF}(H,A)<d_{VC}

  • 這些與實際情況是相符的,比如對多項式擬合模型,當λ=0時,所有的w都給予考慮,相應的CdVCCd_{VC}很大,容易發生過擬合。當λ>0且越來越大時,很多w將被捨棄,dEFF(H,A)d_{EFF}(H,A)減小,擬合曲線越來越平滑,容易發生欠擬合。

四、General Regularizers 那麼通用的Regularizers,即Ω(w),應該選擇什麼樣的形式呢?一般地,我們會朝著目標函式的方向進行選取。 在這裡插入圖片描述 尋找一個通用的regularization有三個考慮的方法:

  • target-dependent
  • plausible
  • friendly

接下來,介紹兩種Regularizer:L2和L1: 在這裡插入圖片描述

  • L2 regularizer計算的是w的平方和,是凸函式,比較平滑,易於微分,容易進行最優化計算;
  • L1 regularizer計算的是w的絕對值和,即長度和,也是凸函式。但||w||1=C 圍成的是正方形,那麼在正方形的四個頂點處,是不可微分的(不像圓形,處處可微分);
  • 根據之前介紹的平行等式推導過程,對應這種正方形,它的解大都位於四個頂點處,因為正方形邊界處的w絕對值都不為零,若−∇Ein不與其平行,那麼w就會向頂點處移動,頂點處的許多w分量為零,所以,L1 Regularizer的解是稀疏的,稱為sparsity。優點是計算速度快。

下面來看一下λ怎麼取值: 在這裡插入圖片描述

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

五、總結 本節課主要介紹了Regularization。首先,原來的hypothesis set加上一些限制條件,就成了Regularized Hypothesis Set。加上限制條件之後,我們就可以把問題轉化為EaugEaugE_{aug}最小化問題,即把w的平方加進去。這種過程,實際上回降低VC Dimension。最後,介紹regularization是通用的機器學習工具,設計方法通常包括target-dependent,plausible,friendly等等。下節課將介紹如何選取合適的λλ\lambda來建立最佳擬合模型。