1. 程式人生 > >Machine Learning — 關於過度擬合(Overfitting)

Machine Learning — 關於過度擬合(Overfitting)

機器學習 gis ear http 問題 正則化 數據集 技術 wid

機器學習是在模型空間中選擇最優模型的過程,所謂最優模型,及可以很好地擬合已有數據集,並且正確預測未知數據。

那麽如何評價一個模型的優劣的,用代價函數(Cost function)來度量預測錯誤的程度。代價函數有很多中,在Ng的視頻中,Linear Regression用的是平方代價函數:

技術分享

Logistic Regression 用的是對數似然代價函數:

技術分享

對於給定的含m個樣本的數據集,其平均損失稱為經驗風險。

技術分享

損失函數越小,模型就越好。

我們來分析那個房價預測問題,假設房價面積A,樓層L,房間數N相關,那我們的目標就是要通過機器學習得到一個關於A,L,N的模型,這個模型可以預測房價,但問題是我們輸入是應該用A呢?還是A的平方,或者A 的三次方?(同樣對L和N提問)這是個無窮盡的問題,理論上,次數越高,對於已有測試數據能擬合地越好,但是次數越高,就會使模型越復雜,這時就會出現過擬合的問題,例如下圖中的第四張小圖,用9次方去預測,模型能擬合每個點,但是這種模型往往對已知參數預測地很好,未知數據預測能力很差。

技術分享

當模型復雜度增加時,訓練誤差會越來越小,以至於能擬合樣本中的絕大部分點,但是測試誤差卻隨著復雜度的增加先減小後增加,存在一個極小值。

技術分享

為了解決過擬合的問題,我們引入“正則化項”,它的作用是選擇經驗風險和模型復雜度同時小。這樣問題就轉化為求經驗風險和正則化項之和的最小值

正則化項可以采取不同的形式,有L2範數,L1範數:

技術分享

技術分享

Machine Learning — 關於過度擬合(Overfitting)