深度學習—過擬合問題


1、過擬合問題

  欠擬合:根本原因是特征維度過少,模型過於簡單,導致擬合的函數無法滿足訓練集,誤差較大; 
      解決方法:增加特征維度,增加訓練數據; 
  過擬合:根本原因是特征維度過多,模型假設過於復雜,參數過多,訓練數據過少,噪聲過多,導致擬合的函數完美的預測訓練集,但對新數據的測試集預測結果差。 過度的擬合了訓練數據,而沒有考慮到泛化能力。
      解決方法:(1)減少特征維度;(2)正則化,降低參數值。

  減少過擬合總結:過擬合主要是有兩個原因造成的:數據太少+模型太復雜 
  (1)獲取更多數據 :從數據源頭獲取更多數據;數據增強(Data Augmentation) 
  (2)使用合適的模型:減少網絡的層數、神經元個數等均可以限制網絡的擬合能力; 
  (3)dropout ;
  (4)正則化,在訓練的時候限制權值變大; 
  (5)限制訓練時間;通過評估測試; 
  (6)增加噪聲 Noise: 輸入時+權重上(高斯初始化) ;

  (7)數據清洗(data ckeaning/Pruning):將錯誤的label 糾正或者刪除錯誤的數據。

  (8)結合多種模型: Bagging用不同的模型擬合不同部分的訓練集;Boosting只使用簡單的神經網絡;

  產生過擬合根本原因:

  1、 觀察值與真實值存在偏差: 
   訓練樣本的獲取,本身就是一種 抽樣。抽樣操作就會存在誤差, 也就是你的訓練樣本 取值 X, X = x(真值) + u(隨機誤差),機器學習的 優化函數 多為 min Cost函數,自然就是盡可能的擬合 X,而不是真實的x,所以 就稱為過擬合了,實際上是學習到了真實規律以外的 隨機誤差。舉個例子說,你想做人臉識別,人臉里有背景吧,要是你這批人臉背景A都相似,學出來的模型,見到背景A,就會認為是人臉。這個背景A就是你樣本引入的誤差。
  2、 數據太少,導致無法描述問題的真實分布
   舉個例子,投硬幣問題 是一個 二項分布,但是如果 你碰巧投了10次,都是正面。那么你根據這個數據學習,是無法揭示這個規律的,根據統計學的大數定律(通俗地說,這個定理就是,在試驗不變的條件下,重復試驗多次,隨機事件的頻率近似於它的概率),當樣本多了,這個真實規律是必然出現的。
  為什么說 數據量大了以后 就能防止過擬合,數據量大了,
    問題2,不再存在,
    問題1,在求解的時候因為數據量大了, 求解min Cost函數時候, 模型為了求解到最小值過程中,需要兼顧真實數據擬合 和 隨機誤差擬合,所有樣本的真實分布是相同的(都是人臉),而隨機誤差會一定程度上抵消(背景),

  (1)數據有噪聲。

  我們可以理解地簡單些:有噪音時,更復雜的模型會盡量去覆蓋噪音點,即對數據過擬合。這樣,即使訓練誤差Ein 很小(接近於零),由於沒有描繪真實的數據趨勢,Eout 反而會更大。
  即噪音嚴重誤導了我們的假設。還有一種情況,如果數據是由我們不知道的某個非常非常復雜的模型產生的,實際上有限的數據很難去“代表”這個復雜模型曲線。我們采用不恰當的假設去盡量擬合這些數據,效果一樣會很差,因為部分數據對於我們不恰當的復雜假設就像是“噪音”,誤導我們進行過擬合。

  如下面的例子,假設數據是由50次冪的曲線產生的(下圖右邊),與其通過10次冪的假設曲線去擬合它們,還不如采用簡單的2次冪曲線來描繪它的趨勢。

  (2)訓練數據不足,有限的訓練數據。

  (3)訓練模型過度,導致模型非常復雜。

2、正則方法主要有哪些?

(1)L1和L2正則:都是針對模型中參數過大的問題引入懲罰項,依據是奧克姆剃刀原理。在深度學習中,L1會趨向於產生少量的特征,而其他的特征都是0增加網絡稀疏性;而L2會選擇更多的特征,這些特征都會接近於0,防止過擬合。神經網絡需要每一層的神經元盡可能的提取出有意義的特征,而這些特征不能是無源之水,因此L2正則用的多一些。

(2)dropout:深度學習中最常用的正則化技術是dropout,隨機的丟掉一些神經元。

(3)數據增強,比如將原始圖像翻轉平移拉伸,從而是模型的訓練數據集增大。數據增強已經是深度學習的必需步驟了,其對於模型的泛化能力增加普遍有效,但是不必做的太過,將原始數據量通過數據增加增加到2倍可以,但增加十倍百倍就只是增加了訓練所需的時間,不會繼續增加模型的泛化能力了。

(4)提前停止(early stopping):就是讓模型在訓練的差不多的時候就停下來,比如繼續訓練帶來提升不大或者連續幾輪訓練都不帶來提升的時候,這樣可以避免只是改進了訓練集的指標但降低了測試集的指標。

(5)批量正則化(BN):就是將卷積神經網絡的每層之間加上將神經元的權重調成標准正態分布的正則化層,這樣可以讓每一層的訓練都從相似的起點出發,而對權重進行拉伸,等價於對特征進行拉伸,在輸入層等價於數據增強。注意正則化層是不需要訓練。

 


免責聲明!

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



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