標籤:

機器學習基石筆記13:過擬合(OverFitting)

什麼是過擬合

假設一個輸入空間X是一維的,樣本點數量為5的回歸問題,其目標函數為二次函數,但是標記y含有噪音,使用四次多項式轉換結合線性回歸求解該問題的權值向量w,得出Ein=0的唯一解,如下圖

由圖可以看出,雖然Ein很小,但是Eout很大,因此四次的多項式函數有很差的泛化能力。

再看VC維與錯誤率之間的關係:

從紫色虛線往右,過擬合(Ein-,Eout+);往左,欠擬合(Ein+,Eout-)

過擬合是一個Ein-Eout+過程,而壞的泛化是在某一點,Ein很小而Eout很大

以開車為比喻:

  • 機器學習 => 開車
  • 過擬合 => 出車禍
  • 使用過度的VC維 => 開得太快
  • 噪音 => 顛簸的路面
  • 數據量的大小 => 對路面狀況的觀察

噪音與數據量對過擬合的作用

首先,我們有兩份數據,這兩份數據由10次多項式和50次多項式的目標函數產生,前者有噪音,後者沒有噪音,數據點如圖所示:

train set A、train set B

1、使用兩種學習模型(二次式假設空間 H_2 和十次多項式假設空間 H_{10} )對訓練集AB進行學習得到的假設函數g和錯誤率如下:

為什麼二次式模型與目標函數的次數有很大差距反而比10次多項式模型學習能力還好?這與訓練樣本量有關,如下圖:

從圖中可以看出,數據量少時,儘管2次假設的Ein比10次函數的Ein大很多,但是2次假設中Ein和Eout的差距比10次假設小的多,因此在樣本點不多時,低次假設的學習泛化能力更強,即在灰色區域(樣本不多的情況下)中,高次假設函數發生了過擬合。

上述闡述了在含有噪音的情況下,低次多項式假設比和目標函數同次的多項式假設表現更好,那如何解釋在50次多項式函數中也是二次式表現好的現象呢?因為50次目標函數對於不論是2次假設還是10次假設都相當於一種含有噪音的情況(兩者都無法做到50次的目標函數,因此相當於含有噪音)。

註:噪音的進一步理論闡述暫不描述。(噪音也是造成過擬合的重要原因)

如何處理過擬合

再以開車為例:

  • 從簡單的模型出發 => 開慢點
  • 數據清理/裁剪(data cleaning/pruning) => 更準確的路況信息
  • 數據提示(data hinting) => 獲取更多的路況信息
  • 正則化(regularization) => 踩剎車
  • 驗證(validation) => 安裝儀錶盤

前面三項都已闡述或易於理解,後面兩項在接下來的文章中論述。

題圖:我愛這靜謐傍晚,我愛這秋水長天,小頭對小頭,閑談花開花落,笑看雲捲雲舒。2017年11月7日14:57:01

推薦閱讀:

【深度學習系列】卷積神經網路CNN原理詳解(一)——基本原理
鋼鐵直男的救世主來了!讓AI告訴你妹子到底是啥意思
有關NLP的比賽
2017年深度學習頂級論文盤點
DeepLearning.AI 學習筆記(一)

TAG:機器學習 |