1. 程式人生 > >14過擬合(Overfitting)

14過擬合(Overfitting)

過擬合:我們通過訓練集訓練的模型對於訓練樣本的的擬合程度十分高,就會放大一些不必要的特徵,再對測試集進行測試時,就容易造成測試精度很低,也就是模型的泛化能力很弱,這就是過擬合。

那麼我們如何解決過擬合問題呢?

方法一: 增加資料量, 大部分過擬合產生的原因是因為資料量太少了. 如果我們有成千上萬的資料, 紅線也會慢慢被拉直, 變得沒那麼扭曲 . 

過擬合 (Overfitting)-3

方法二:利用L1、L2正則化。利用懲罰機制,讓W引數變化不會過大,這些方法適用於大多數的機器學習, 包括神經網路. 

過擬合 (Overfitting)-4

方法三:Dropout僅適用於神經網路。在訓練的時候, 我們隨機忽略掉一些神經元和神經聯結 , 是這個神經網路變得”不完整”. 用一個不完整的神經網路訓練一次.到第二次再隨機忽略另一些, 變成另一個不完整的神經網路. 有了這些隨機 drop 掉的規則, 我們可以想象其實每次訓練的時候, 我們都讓每一次預測結果都不會依賴於其中某部分特定的神經元. 像l1, l2正規化一樣, 過度依賴的 W , 也就是訓練引數的數值會很大, l1, l2會懲罰這些大的 引數. Dropout 的做法是從根本上讓神經網路沒機會過度依賴.