[林軒田]14-規範化

監督機器學習問題無非就是“minimizeyour error while regularizing your parameters”,也就是在規則化參數的同時最小化誤差。最小化誤差是爲了讓我們的模型擬合我們的訓練數據,而規則化參數是防止我們的模型過分擬合我們的訓練數據。

我們需要保證模型“簡單”的基礎上最小化訓練誤差,這樣得到的參數才具有好的泛化性能(也就是測試誤差也小),而模型“簡單”就是通過規則函數來實現的。

另外,規則項的使用還可以約束我們的模型的特性。這樣就可以將人對這個模型的先驗知識融入到模型的學習當中,強行地讓學習到的模型具有人想要的特性,例如稀疏、低秩、平滑等等。

要知道,有時候人的先驗是非常重要的。前人的經驗會讓你少走很多彎路,這就是爲什麼我們平時學習最好找個大牛帶帶的原因。一句點撥可以爲我們撥開眼前烏雲,還我們一片晴空萬里,醍醐灌頂。對機器學習也是一樣,如果被我們人稍微點撥一下,它肯定能更快的學習相應的任務。只是由於人和機器的交流目前還沒有那麼直接的方法,目前這個媒介只能由規則項來擔當了。
——引用自 大神 鄒博

規範化多項式集合

regularition : 是解決overfitting的一種方法 。

低次方的多項式集合會包在高次方的多項式集合裏面 。

迴歸約束

規範化的過程就是,從高次多項式走回到低次多項式。就是在問題裏面加上一些條件,約束:高次的係數都爲0;

Paste_Image.png

也就是我想找一個二次多項式,實際上它也是個十次多項式,只不過他的3次以上的係數都是0;

寬鬆的迴歸約束 looser constraint 稀疏規則化

只限制等於0的參數的個數,而不限制究竟哪個參數是0;這個其實是L0範數,規則化的結果是使得W**稀疏**
Paste_Image.png

當我們看到 式子中出現的布爾表達式時,像PLA一樣它的最優化是NP-hard的問題。

規則化的Wreg

這裏我們只要求這個參數向量W的模要有限制。不關心它到底有幾個參數,這樣的多項式集合我們叫做Hc

Paste_Image.png

H2與Hc是有重合部分的。overlaps。 包含結構也是有的。這樣我們就跳脫了NP-hard的困境。
Paste_Image.png

我們把這樣的多項式集合得出的參數叫做規則化的w(在我們規則的條件下找出來的w)

Paste_Image.png

weight decay regularization

是L2範數: ||W||2。它也不遜於L1範數,它有兩個美稱,在迴歸裏面,有人把有它的迴歸叫“嶺迴歸”(Ridge Regression),有人也叫它“權值衰減weight decay”。這用的很多吧,因爲它的強大功效是改善機器學習裏面一個非常重要的問題:過擬合。過擬合通俗的講法就是應試能力很強,實際應用能力很差。擅長背誦知識,卻不懂得靈活利用知識。
那麼爲什麼L2範數能防止過擬合呢。 L2範數是指向量各元素的平方和然後求平方根。我們讓L2範數的規則項||W||2最小,可以使得W的每個元素都很小,都接近於0,但與L1範數不同,它不會讓它等於0,而是接近於0,這裏是有很大的區別的哦。而越小的參數說明模型越簡單,越簡單的模型則越不容易產生過擬合現象。爲什麼越小的參數說明模型越簡單?我也不懂,我的理解是:限制了參數很小,實際上就限制了多項式某些分量的影響很小(看上面線性迴歸的模型的那個擬合的圖),這樣就相當於減少參數個數。
L2範數可以防止過擬合,提升模型的泛化能力。

矩陣形式表示規則化迴歸問題

Paste_Image.png
上面是我們要優化的帶上約束的表達式。對於式子裏面每一子項的平方和的形式可以變換成求一個向量的L2範數平方的形式。

Paste_Image.png
轉化爲這個樣子 ,這個條件是我們的W需要在半徑爲根號C的圓裏面。
Paste_Image.png

在優化的過程中,如果沒有條件,梯度的反方向就是我們的目標函數要減小的方向。但是我們現在有了約束條件,我們不能走出圓的範圍,如果下降的方向有個分量與圓的法向量的方向垂直。如果梯度的反方向與圓的法向量平行,那麼我們就不能繼續優化了。

Paste_Image.png

所以我們優化的結果是梯度的反方向與圓的法向量平行。
在下面的推導中,我們可以看出求Wreg就是一個線性的運算,這個過程在統計學中叫做嶺迴歸”ridge regression”
Paste_Image.png
其實我們求上面那個式子等於零,就相當於找它的積分的最小值咯,這樣我們的最優化的目標函數其實稍微有了一點改變。我們叫它augmented Error 加上去的錯誤。
Paste_Image.png
民間還有個說法就是,規則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項(regularizer)或懲罰項(penalty term)。

一般來說,監督學習可以看做最小化下面的目標函數:

其中,第一項L(yi,f(xi;w)) 衡量我們的模型(分類或者回歸)對第i個樣本的預測值f(xi;w)和真實的標籤yi之前的誤差。因爲我們的模型是要擬合我們的訓練樣本的嘛,所以我們要求這一項最小,也就是要求我們的模型儘量的擬合我們的訓練數據。但正如上面說言,我們不僅要保證訓練誤差最小,我們更希望我們的模型測試誤差小,所以我們需要加上第二項,也就是對參數w的規則化函數Ω(w)去約束我們的模型儘量的簡單。
——引用自 大神 鄒博

從下面的圖片可以看出,加上一點點的λ,效果就會很好了。
Paste_Image.png

Paste_Image.png叫做權值遞減規則化,過大的λ會使得對W的限制變得大,W就會去得很小。

當數據都處於[-1,1]之間時,對於高次冪

XQn
的數據,就會比其他次冪小的多。如果我們模型需要高次冪,但是
XQn
很小,那麼就必須增大權重來提高其影響力,但是懲罰函數又會限制權重的增大,這就照成了問題。方法就是讓Φ(x)內的向量是互相正交的,即Legendre polynomials 勒讓德多項式。

這裏寫圖片描述

q+1次方的多項式進行了一些座標準換,但是因爲各個次數多項式之間不是垂直的,這導致在次數較低的地方效果還不錯,但是次數高的地方,懲罰過重。在多項式空間裏面找到垂直的多項式。

Paste_Image.png

選擇最好的懲罰函數

  1. 根據我們想要的target function f來選 
    比如,我知道我的f(x)是偶函數,那麼我就希望我的g內偶次冪的權重大。即我要儘可能降低我奇次冪的權重。即把懲罰函數設爲

    這裏寫圖片描述

  2. 如果我希望我們模型光滑,簡單,那就用L1規範 
    這裏寫圖片描述
  3. 如果我希望我的模型任意達到最優,就是效果好,那就用L2規範 
    這裏寫圖片描述 
    L1要求低,精度低,但計算量小

L1,L2 規範

這裏寫圖片描述 
L1要求低,精度低,但計算量小,是凸函數的,但w=0時是不可微分的。它的解常常是稀疏的。
L2規範化比較平滑是凸函數。

從下圖我們可以看出,不同的noise需要不同的λ。
Paste_Image.png

我們選擇規則項(懲罰項)應該看它懲罰誰比較重,就知道它傾向於選擇什麼樣的hypothesis.

Paste_Image.png

參考資料

[機器學習中的範數規則化之(一)L0、L1與L2範數

regularization 規範化(L1,L2等等):加懲罰函數降低過擬合

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