- 課程地址:Regularization
- 課程Wiki:Regularization
- 課件:PPT PDF
一. 過擬合
如下圖所示, 使用三種不同的多項式作為假設(shè)函數(shù)對數(shù)據(jù)進行擬合, 從左一和右一分別為過擬合和欠擬合.
對率回歸:
解決過擬合問題大致分為兩種, 一種是減少特征的數(shù)量, 可以人工選擇一些比較重要的特征留下, 也可以使用模型選擇算法(Model selection algorithm,后面的課程會介紹);另一種就是正則化(Regularization).
二. 正則化
如圖所示的兩個假設(shè)函數(shù), 其中第二個為過擬合. 那么該如何改變代價函數(shù)能夠讓最中的假設(shè)函數(shù)不過擬合? 對比兩個假設(shè)函數(shù)我們可以看到, 它們的區(qū)別就在于第二個多了兩個高階項. 也就是說, 我們不希望出現(xiàn)后面兩個高階項, 即希望, 越小越好.
通過上面的想法, 我們把, 放到代價函數(shù)里, 并且加上很大的權(quán)重(1000):
現(xiàn)在如果要最小化代價函數(shù), 那么最后兩項也必須得最小. 這個時候, 就有, . 從而這個四次多項式就變成了一個二次多項式, 解決了過擬合的問題.
對于正則化的一般思路是, 減少特征的數(shù)量, 降低模型的復(fù)雜度. 所以我們要對每個參數(shù)進行懲罰, 從而得到’更簡單’的并且可以防止過擬合的模型. 但是在實際問題中我們很難判斷哪些特征比較重要, 所以對每一個參數(shù)(除了第一個)參數(shù)進行懲罰, 將代價函數(shù)改為:
其中, 叫做正則化項(Regularization Term), 叫做正則化參數(shù)(Regularization Parameter). 的作用就是在”更好地擬合數(shù)據(jù)”和”防止過擬合”之間權(quán)衡.
如過過大的話, 就會導致、、…近似于0, 這樣我們的假設(shè)函數(shù)就為:. 這時就變成了欠擬合(Underfit). 所以需要選擇一個合適的. 后面的課程會講到自動選擇合適的的方法.
三. 正則化線性回歸
通過正則化之后的我們可以得到對應(yīng)的梯度下降算法, 如下圖所示. 因為我們不對進行懲罰, 所以將的規(guī)則單獨寫出來, 其余的參數(shù)更新規(guī)則如下圖第三行公式. 公式前半部分是一個比1小一點點的數(shù)(教授舉了個例子大概是0.99), 而公式的后半部分和沒有進行正則化的梯度下降的公式的后半部分是完全一樣的. 所以區(qū)別就在于前半部分會將縮小(因為乘了一個小于1的數(shù)).
同樣, 在正規(guī)方程中, 我們只需要在公式中加上一部分如下圖所示.
即:
并且對于正則化后的正規(guī)方程, 只要, 括號里的那一項總是可逆的:
四. 正則化對率回歸
類似地, 正則化邏輯回歸中的代價函數(shù)和梯度下降如下圖所示.
下圖是使用正則化的高級優(yōu)化算法, 只需要在計算jVal時在后面加上一個正則化項以及在梯度后面減去一個.