深度學習—過擬合問題

一、過擬合問題網絡

  欠擬合:根本緣由是特徵維度過少,模型過於簡單,致使擬合的函數沒法知足訓練集,偏差較大; 
      解決方法:增長特徵維度,增長訓練數據; 
  過擬合:根本緣由是特徵維度過多,模型假設過於複雜,參數過多,訓練數據過少,噪聲過多,致使擬合的函數完美的預測訓練集,但對新數據的測試集預測結果差。 過分的擬合了訓練數據,而沒有考慮到泛化能力。
      解決方法:(1)減小特徵維度;(2)正則化,下降參數值。機器學習

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

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

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

  產生過擬合根本緣由:優化

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

  (1)數據有噪聲。blog

  咱們能夠理解地簡單些:有噪音時,更復雜的模型會盡可能去覆蓋噪音點,即對數據過擬合。這樣,即便訓練偏差Ein 很小(接近於零),因爲沒有描繪真實的數據趨勢,Eout 反而會更大。
  即噪音嚴重誤導了咱們的假設。還有一種狀況,若是數據是由咱們不知道的某個很是很是複雜的模型產生的,實際上有限的數據很難去「表明」這個複雜模型曲線。咱們採用不恰當的假設去儘可能擬合這些數據,效果同樣會不好,由於部分數據對於咱們不恰當的複雜假設就像是「噪音」,誤導咱們進行過擬合。事件

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

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

  (3)訓練模型過分,致使模型很是複雜。

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

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

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

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

(4)提早中止(early stopping):就是讓模型在訓練的差很少的時候就停下來,好比繼續訓練帶來提高不大或者連續幾輪訓練都不帶來提高的時候,這樣能夠避免只是改進了訓練集的指標但下降了測試集的指標。

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

相關文章
相關標籤/搜索