本節知識點:
貝葉斯統計及規范化
在線學習
如何使用機器學習算法解決具體問題:設定診斷方法,迅速發現問題
貝葉斯統計及規范化(防止過擬合的方法)
就是要找更好的估計方法來減少過度擬合情況的發生。
回顧一下,線性回歸中使用的估計方法是最小二乘法,logistic 回歸是條件概率的最大
似然估計,朴素貝葉斯是聯合概率的最大似然估計,SVM 是二次規划。
一下轉自:http://52opencourse.com/133/coursera
斯坦福大學機器學習第七課"正則化“學習筆記,本次課程主要包括4部分:
1) The Problem of Overfitting(過擬合問題)
2) Cost Function(成本函數)
3) Regularized Linear Regression(線性回歸的正則化)
4) Regularized Logistic Regression(邏輯回歸的正則化)
以下是每一部分的詳細解讀。
1) The Problem of Overfitting(過擬合問題)
擬合問題舉例-線性回歸之房價問題:
a) 欠擬合(underfit, 也稱High-bias)
b) 合適的擬合:
c) 過擬合(overfit,也稱High variance)
什么是過擬合(Overfitting):
如果我們有非常多的特征,那么所學的Hypothesis有可能對訓練集擬合的非常好(),但是對於新數據預測的很差。
過擬合例子2-邏輯回歸:
與上一個例子相似,依次是欠擬合,合適的擬合以及過擬合:
a) 欠擬合
b) 合適的擬合
c) 過擬合
如何解決過擬合問題:
首先,過擬合問題往往源自過多的特征,例如房價問題,如果我們定義了如下的特征:
那么對於訓練集,擬合的會非常完美:
所以針對過擬合問題,通常會考慮兩種途徑來解決:
a) 減少特征的數量:
-人工的選擇保留哪些特征;
-模型選擇算法(之后的課程會介紹)
b) 正則化
-保留所有的特征,但是降低參數的量/值;
-正則化的好處是當特征很多時,每一個特征都會對預測y貢獻一份合適的力量;
2) Cost Function(成本函數)
依然從房價預測問題開始,這次采用的是多項式回歸:
a) 合適的擬合:
b) 過擬合
直觀來看,如果我們想解決這個例子中的過擬合問題,最好能將的影響消除,也就是讓
.
假設我們對進行懲罰,並且令其很小,一個簡單的辦法就是給原有的Cost function加上兩個略大懲罰項,例如:
這樣在最小化Cost function的時候,.
正則化:
參數取小一點的值,這樣的優點:
-“簡化”的hypothesis;
-不容易過擬合;
對於房價問題:
-特征包括:
-參數包括:
我們對除以為的參數進行懲罰,也就是正則化:
正式的定義-經過正則化的Cost Function有如下的形式:
其中稱為正則化參數,我們的目標依然是最小化
:
例如,對於正則化的線性回歸模型來說,我們選擇來最小化如下的正則化成本函數:
如果將 設置為一個極大的值(例如對於我們的問題,設
)? 那么
-算法依然會正常的工作, 將 設置的很大不會影響算法本身;
-算法在去除過擬合問題上會失敗;
-算法的結構將是欠擬合(underfitting),即使訓練數據非常好也會失敗;
-梯度下降算法不一定會收斂;
這樣的話,除了,其他的參數都約等於0,
, 將得到類似如下的欠擬合圖形:
關於正則化,以下引自李航博士《統計學習方法》1.5節關於正則化的一些描述:
模型選擇的典型方法是正則化。正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項(regularizer)或罰項(penalty term)。正則化項一般是模型復雜度的單調遞增函數,模型越復雜,正則化值就越大。比如,正則化項可以是模型參數向量的范數。
正則化符合奧卡姆剃刀(Occam's razor)原理。奧卡姆剃刀原理應用於模型選擇時變為以下想法:在所有可能選擇的模型中,能夠很好地解釋已知數據並且十分簡單才是最好的模型,也就是應該選擇的模型。從貝葉斯估計的角度來看,正則化項對應於模型的先驗概率。可以假設復雜的模型有較大的先驗概率,簡單的模型有較小的先驗概率。
3) Regularized Linear Regression(線性回歸的正則化)
線性回歸包括成本函數,梯度下降算法及正規方程解法等幾個部分,不清楚的讀者可以回顧第二課及第四課的筆記,這里將分別介紹正則化后的線性回歸的成本函數,梯度下降算法及正規方程等。
首先來看一下線性回歸正則化后的Cost function:
我們的目標依然是最小化,從而得到相應的參數
. 梯度下降算法是其中的一種優化算法,由於正則化后的線性回歸Cost function有了改變,因此梯度下降算法也需要相應的改變:
注意,對於參數,梯度下降算法需要區分
和
。
同樣的正規方程的表達式也需要改變,對於:
X 是m * (n+1)矩陣
y是m維向量:
正則化后的線性回歸的Normal Equation的公式為:
假設樣本數m小於等於特征數x, 如果沒有正則化,線性回歸Normal eqation如下:
如果不可逆怎么辦?之前的辦法是刪掉一些冗余的特征,但是線性回歸正則化后,如果
,之前的公式依然有效:
其中括號中的矩陣可逆。
4) Regularized Logistic Regression(邏輯回歸的正則化)
和線性回歸相似,邏輯回歸的Cost Function也需要加上一個正則化項(懲罰項),梯度下降算法也需要區別對待參數\(\theta).
再次回顧一些邏輯回歸過擬合的情況,形容下面這個例子:
其中Hypothesis是這樣的:
邏輯回歸正則化后的Cost Function如下:
梯度下降算法如下:
其中.
參考資料:
第七課“正則化”的課件資料下載鏈接,視頻可以在Coursera機器學習課程上觀看或下載:https://class.coursera.org/ml
李航博士《統計學習方法》
http://en.wikipedia.org/wiki/Regularization_%28mathematics%29
http://en.wikipedia.org/wiki/Overfitting
在線學習
之前學的算法都是批處理算法,即在訓練集上得到模型后,再去對測試集或者訓練集本身進行評測,得到訓練誤差和泛化誤差。而在線學習並不這樣,而是首先有一個初始的分類器,當第一個樣本到來時,對該樣本進行預測,得到預測結果,然后利用該樣本的信息對分類器進行更新(比如,考慮感知器算法的更新規則,見筆記 1-2);然后第二個樣本到來時做同樣的操作,以此類推。這樣,我們就對 m 個樣本都有一個預測值,只不過它們都是在訓練的過程中得到的,對這些預測值進行統計,就得到了在線訓練誤差。這就是過程上在線學習與批處理的不同之處。
對於感知器算法來說,若正負樣本線性可分,那么在線學習算法也是收斂的。