過擬合產生的原因(Root of Overfitting)


之前在《過擬合和欠擬合(Over fitting & Under fitting)》一文中簡要地介紹了過擬合現象,現在來詳細地分析一下過擬合產生的原因以及相應的解決辦法。

 

過擬合產生的原因:

第一個原因就是用於訓練的數據量太少。這個很好理解,因為理想的訓練數據是從所有數據中抽取的無偏差抽樣。如果訓練數據量較少,那么很有可能訓練數據就不能完全反映所有數據的規律。因此模型很可能學習到的是一些特殊的例子,而不是真實的規律。

 

之前說過,過擬合就是模型把噪音也學習了進去。其中一個噪音就是大家所熟知的隨機產生的噪音(stochastic noise),比如說測量誤差,記錄誤差等等,這也是第二個原因。

 

第三個原因是目標函數的復雜度很高,目標函數和假設函數之間的差距也可以看作是一種噪音,稱為確定性噪音(deterministic noise)。在訓練數據有限的情況下,如果目標函數很復雜,那么就算假設函數與之很接近,也會產生較大的噪音。

 

下圖展現了在訓練數據有限的情況下,目標函數和假設函數之間的差距。

  • 左圖:目標函數是一個十次多項式函數,根據目標函數產生了15個數據點,數據產生時加入了一些隨機噪音,分別使用二次多項式(綠線)和十次多項式(紅線)擬合
  • 右圖:目標函數是一個五十次多項式函數,根據目標函數產生了15個數據點,數據產生時不加入噪音,分別使用二次多項式(綠線)和十次多項式(紅線)擬合

二次多項式模型與十次多項式模型在兩數據集上效果的比較。左邊數據集由某個十次多項式產生,噪聲適中;右邊數據集由某個50次多項式產生,噪聲非常小

經過試驗,這兩個場景都是十次多項式的訓練誤差小,但是其驗證誤差要比二次多項式的大很多。這說明十次多項式發生了過擬合現象。

 

 下圖是用二次多項式和十次多項式擬合的學習曲線:

可以看出,十次多項式函數的訓練誤差一直要比二次多項式函數的低,但是當訓練數據有限時,十次多項式函數的驗證誤差要比二次多項式函數的高不少。

 

一般我們會認為假設函數離目標函數越接近越好,但是顯然,在訓練數據有限的情況下,這種想法是不正確的。因此,當訓練數據有限時,應該用簡單的模型來擬合,這樣還有可能會取得不錯的效果。之前是不是常聽到別人說線性回歸模型雖然很簡單,但是往往會取得不錯的預測效果?這也正說明了這個道理。

 

下圖是當目標函數復雜度固定時,樣本量與噪音強度對過擬合程度的影響(深紅色表示過擬合程度很高):

模型復雜度固定時,樣本量與噪聲強度對過擬合的影響

可以看出,樣本量越少,噪音強度越高,過擬合程度也就越高。

 

下圖是當噪音強度固定時,樣本量與目標函數復雜度對過擬合程度的影響(深紅色表示過擬合程度很高):

噪聲強度固定時,樣本量與模型復雜度對過擬合的影響

可以看出,樣本量越少,目標函數復雜度越高,過擬合程度也就越高。

 

這兩張圖的區別在於左下角,可以看到,第二張圖,當樣本量很少,目標函數復雜度很低時,也會產生過擬合現象。這是因為使用了過於復雜的模型來擬合數據,這也帶出了第四個原因---模型復雜度比目標函數高。

 

總結一下過擬合產生的原因:

  • 訓練數據太少
  • 數據噪音強度大:隨機噪音(stochastic noise),確定性噪音(deterministic noise)
  • 模型復雜度太高

 

解決辦法:

  • 增加訓練數據量 --- 一般情況下,由於經濟條件的限制,我們沒有辦法獲得更多的訓練數據。如果沒有辦法獲得更多的訓練數據,那么可以對已有的樣本進行簡單的變換,從而獲得更多的樣本。比如識別手寫數字時,可以把數字稍作傾斜,又或者識別圖像時,可以對圖像做翻轉,這樣特征發生改變,但是目標保持不變,這樣就可以當成產生一些新的樣本,稱為虛擬樣本。但是需要注意,這種方法產生的數據不一定符合原有數據的分布,因此新構建的虛擬樣本要盡量合理。
  • 減少隨機噪音 --- 可以清洗數據(比如:修正不准確的點,刪除不准確的點,等),但是如果這些點相比訓練數據很少的話,這種處理產生的效果不太明顯。
  • 減少確定性噪音,降低模型復雜度 --- 使用簡單的模型擬合數據;對現有模型進行正則化。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM