Coursera公開課筆記: 斯坦福大學機器學習第七課「正則化(Regularization)」

斯坦福大學機器學習第七課"正則化「學習筆記,本次課程主要包括4部分:算法

1)  The Problem of Overfitting(過擬合問題)機器學習

2)  Cost Function(成本函數)ide

3)  Regularized Linear Regression(線性迴歸的正則化)函數

4)  Regularized Logistic Regression(邏輯迴歸的正則化)學習

如下是每一部分的詳細解讀。優化

 

1)  The Problem of Overfitting(過擬合問題)atom

擬合問題舉例-線性迴歸之房價問題:spa

a) 欠擬合(underfit, 也稱High-bias).net

欠擬合-我愛公開課-52opencourse.com

b) 合適的擬合:orm

擬合問題-我愛公開課-52opencourse.com

c) 過擬合(overfit,也稱High variance)

過擬合-我愛公開課-52opencourse.com

什麼是過擬合(Overfitting):

若是咱們有很是多的特徵,那麼所學的Hypothesis有可能對訓練集擬合的很是好(J(θ)=1mmi=112(hθ(x(i))y(i))20),可是對於新數據預測的不好。

過擬合例子2-邏輯迴歸:

與上一個例子類似,依次是欠擬合,合適的擬合以及過擬合:

a) 欠擬合

邏輯迴歸欠擬合-我愛公開課-52opencourse.com

b) 合適的擬合

邏輯迴歸合適的擬合-我愛公開課-52opencourse.com

c) 過擬合

邏輯迴歸過擬合-我愛公開課-52opencourse.com

如何解決過擬合問題:

首先,過擬合問題每每源自過多的特徵,例如房價問題,若是咱們定義了以下的特徵:

特徵選擇-我愛公開課-52opencourse.com

那麼對於訓練集,擬合的會很是完美:

房價問題過擬合-我愛公開課-52opencourse.com

因此針對過擬合問題,一般會考慮兩種途徑來解決:

a) 減小特徵的數量:

-人工的選擇保留哪些特徵;

-模型選擇算法(以後的課程會介紹)

b) 正則化

-保留全部的特徵,可是下降參數θj的量/值;

-正則化的好處是當特徵不少時,每個特徵都會對預測y貢獻一份合適的力量;

 

2)  Cost Function(成本函數)

依然從房價預測問題開始,此次採用的是多項式迴歸:

a) 合適的擬合:

多項式迴歸正則化-我愛公開課-52opencourse.com

b) 過擬合

多項式迴歸過擬合-我愛公開課-52opencourse.com

直觀來看,若是咱們想解決這個例子中的過擬合問題,最好能將x3,x4的影響消除,也就是讓θ30,θ40.

假設咱們對θ3,θ4進行懲罰,而且令其很小,一個簡單的辦法就是給原有的Cost function加上兩個略大懲罰項,例如:

成本函數-我愛公開課-52opencourse.com

這樣在最小化Cost function的時候,θ30,θ40.

正則化:

參數θ0,θ1,...,θn取小一點的值,這樣的優勢:

-「簡化」的hypothesis;

-不容易過擬合;

對於房價問題:

-特徵包括:x1,x2,...,x100

-參數包括:θ0,θ1,...,θn

咱們對除θ0覺得的參數進行懲罰,也就是正則化:

對cost function進行正則化-我愛公開課-52opencourse.com

正式的定義-通過正則化的Cost Function有以下的形式:

正則化正式的定義-我愛公開課-52opencourse.com

其中λ稱爲正則化參數,咱們的目標依然是最小化J(θ)minθJ(θ)

例如,對於正則化的線性迴歸模型來講,咱們選擇θ來最小化以下的正則化成本函數:
正則化的線性迴歸模型—我愛公開課-52opencourse.com

若是將 λ 設置爲一個極大的值(例如對於咱們的問題,設 λ=1010)? 那麼

-算法依然會正常的工做, 將 λ設置的很大不會影響算法自己;

-算法在去除過擬合問題上會失敗;

-算法的結構將是欠擬合(underfitting),即便訓練數據很是好也會失敗;

-梯度降低算法不必定會收斂;

這樣的話,除了θ0,其餘的參數都約等於0, hθ(x)=θ0, 將獲得相似以下的欠擬合圖形:

欠擬合線性迴歸-我愛公開課——52opencourse.com

關於正則化,如下引自李航博士《統計學習方法》1.5節關於正則化的一些描述:

模型選擇的典型方法是正則化。正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項(regularizer)或罰項(penalty term)。正則化項通常是模型複雜度的單調遞增函數,模型越複雜,正則化值就越大。好比,正則化項能夠是模型參數向量的範數。

正則化符合奧卡姆剃刀(Occam's razor)原理。奧卡姆剃刀原理應用於模型選擇時變爲如下想法:在全部可能選擇的模型中,可以很好地解釋已知數據而且十分簡單纔是最好的模型,也就是應該選擇的模型。從貝葉斯估計的角度來看,正則化項對應於模型的先驗機率。能夠假設複雜的模型有較大的先驗機率,簡單的模型有較小的先驗機率。

3)  Regularized Linear Regression(線性迴歸的正則化)

線性迴歸包括成本函數,梯度降低算法及正規方程解法等幾個部分,不清楚的讀者能夠回顧第二課第四課的筆記,這裏將分別介紹正則化後的線性迴歸的成本函數,梯度降低算法及正規方程等。

首先來看一下線性迴歸正則化後的Cost function:

線性迴歸正則化Cost function-我愛公開課-52opencourse.com

咱們的目標依然是最小化J(θ),從而獲得相應的參數θ. 梯度降低算法是其中的一種優化算法,因爲正則化後的線性迴歸Cost function有了改變,所以梯度降低算法也須要相應的改變:

正則化線性迴歸梯度降低算法-我愛公開課-52opencourse.com

注意,對於參數θ,梯度降低算法須要區分θ0θ1,θ2,...,θn

一樣的正規方程的表達式也須要改變,對於

X 是m * (n+1)矩陣

正規方程-我愛公開課——52opencourse.com

y是m維向量:

正規方程表達式-我愛公開課-52opencourse.com

正則化後的線性迴歸的Normal Equation的公式爲:

線性迴歸正則化Normal Equation-我愛公開課-52opencourse.com

假設樣本數m小於等於特徵數x, 若是沒有正則化,線性迴歸Normal eqation以下:

θ=(XTX)1XTy


若是XTX不可逆怎麼辦?以前的辦法是刪掉一些冗餘的特徵,可是線性迴歸正則化後,若是λ>0,以前的公式依然有效:

不可逆後的正規方程-我愛公開課-52opencourse.com

其中括號中的矩陣可逆。

 

4)  Regularized Logistic Regression(邏輯迴歸的正則化)

和線性迴歸類似,邏輯迴歸的Cost Function也須要加上一個正則化項(懲罰項),梯度降低算法也須要區別對待參數\(\theta).

再次回顧一些邏輯迴歸過擬合的狀況,形容下面這個例子:

邏輯迴歸過擬合-我愛公開課-52opencourse.com

其中Hypothesis是這樣的:

邏輯迴歸假設空間-我愛公開課-52opencourse.com

邏輯迴歸正則化後的Cost Function以下:

正則化邏輯迴歸Cost Function-我愛公開課-52opencourse.com

梯度降低算法以下:

正則化邏輯迴歸梯度降低算法-我愛公開課-52opencourse.com

其中hθ(x)=11+eθTx.

 

參考資料:

第七課「正則化」的課件資料下載連接,視頻能夠在Coursera機器學習課程上觀看或下載:https://class.coursera.org/ml

PPT   PDF

李航博士《統計學習方法》

http://en.wikipedia.org/wiki/Regularization_%28mathematics%29

http://en.wikipedia.org/wiki/Overfitting


轉自:http://52opencourse.com/133/coursera%E5%85%AC%E5%B

相關文章
相關標籤/搜索