過擬合 欠擬合及其解決辦法

2022-09-07 23:12:31 字數 2581 閱讀 3811

1.什麼是過擬合?

過擬合(overfitting)是指在模型引數擬合過程中的問題,由於訓練資料報含抽樣誤差,訓練時,複雜的模型將抽樣誤差也考慮在內,將抽樣誤差也進行了很好的擬合。

具體表現就是最終模型在訓練集上效果好;在測試集上效果差。模型泛化能力弱。

2、產生過擬合根本原因:

(1)觀察值與真實值存在偏差

訓練樣本的獲取,本身就是一種 抽樣。抽樣操作就會存在誤差, 也就是你的訓練樣本 取值 x, x = x(真值) + u(隨機誤差),機器學習的 優化函式 多為 min cost函式,自然就是盡可能的擬合 x,而不是真實的x,所以 就稱為過擬合了,實際上是學習到了真實規律以外的 隨機誤差。舉個例子說,你想做人臉識別,人臉裡有背景吧,要是你這批人臉背景a都相似,學出來的模型,見到背景a,就會認為是人臉。這個背景a就是你樣本引入的誤差。

(2)訓練資料不足,資料太少,導致無法描述問題的真實分布

舉個例子,投硬幣問題 是乙個 二項分布,但是如果 你碰巧投了10次,都是正面。那麼你根據這個資料學習,是無法揭示這個規律的,根據統計學的大數定律(通俗地說,這個定理就是,在試驗不變的條件下,重複試驗多次,隨機事件的頻率近似於它的概率),當樣本多了,這個真實規律是必然出現的。

為什麼說 資料量大了以後 就能防止過擬合,資料量大了,

問題2,不再存在,

問題1,在求解的時候因為資料量大了, 求解min cost函式時候, 模型為了求解到最小值過程中,需要兼顧真實資料擬合 和 隨機誤差擬合,所有樣本的真實分布是相同的(都是人臉),而隨機誤差會一定程度上抵消(背景),

另外:維度災難與過擬合請移步:

(3)資料有雜訊(類似(1))

我們可以理解地簡單些:有噪音時,更複雜的模型會盡量去覆蓋噪音點,即對資料過擬合。這樣,即使訓練誤差ein 很小(接近於零),由於沒有描繪真實的資料趨勢,eout 反而會更大。

即噪音嚴重誤導了我們的假設。還有一種情況,如果資料是由我們不知道的某個非常非常複雜的模型產生的,實際上有限的資料很難去「代表」這個複雜模型曲線。我們採用不恰當的假設去盡量擬合這些資料,效果一樣會很差,因為部分資料對於我們不恰當的複雜假設就像是「噪音」,誤導我們進行過擬合。

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

(4)訓練模型過度,導致模型非常複雜

有點像原因(3),模型強大到連雜訊都學會了。

3、抑制過擬合的幾種方法

(1)資料處理:清洗資料、減少特徵維度、類別平衡;

1、清洗資料:糾正錯誤的label,或者刪除錯誤資料

2、降維:

維數約減(移步:

特徵選擇(移步:

3、類別平衡:

請移步:

(2)輔助分類節點(auxiliary classifiers)

'>在google inception v1中,採用了輔助分類節點的策略,即將中間某一層的輸出用作分類,並按乙個較小的權重加到最終的分類結果中,這樣相當於做了模型的融合,同時給網路增加了反向傳播的梯度訊號,提供了額外的正則化的思想.

(3)正則化:

l2、l1、bn層等;

使用合適的模型(減少網路的層數、神經元個數等,限制權重過大),限制網路的擬合能力,避免模型過於複雜;

增加雜訊:輸入時+權重上(高斯初始化);

多種模型結合:整合學習的思想;

dropout:隨機從網路中去掉一部分隱神經元;

限制訓練時間、次數,及早停止

········

詳細請移步:

4、欠擬合

現象:訓練的模型在訓練集上面的表現很差,在驗證集上面的表現也很差。

原因:模型發生欠擬合的最本質原因是「訓練的模型太簡單,最通用的特徵模型都沒有學習到」;

措施:

方案2:減少正則化引數。即使得模型複雜一些;

方案3:使用更深或者更寬的模型。

方案4:使用整合方法。融合幾個具有差異的弱模型,使其成為乙個強模型;

過擬合和欠擬合及其解決辦法

欠擬合 欠擬合表示模型在訓練集上的表現比較差,具體表現就是模型在訓練集上的誤差比較大,原因就是模型表現不了資料 欠擬合的緩解辦法 過擬合 過擬合表示的是模型在訓練集上變現很好但是測試集上表現不行,可以看下面的吳恩達的課上的這個圖,本來虛線就已經挺好的,但是模型為了在訓練集上取得比較好的變現就產生了乙...

欠擬合和過擬合定義和解決辦法

定義 過擬合 乙個假定在訓練集資料上能夠獲得比其他假設更好的擬合,但在測試集上卻不能很好的擬合資料,此時認為這個假設出現過擬合的現象 模型過於複雜 欠擬和 假定在訓練集上不能獲得更好的擬合並且在測試集上也不能很好的擬合資料此時認為這個假設出現欠擬合的現象 模型過於簡單 解決辦法 欠擬合原因以及解決辦...

欠擬合 過擬合及其解決方法

在我們機器學習或者訓練深度神經網路的時候經常會出現欠擬合和過擬合這兩個問題,但是,一開始我們的模型往往是欠擬合的,也正是因為如此才有了優化的空間,我們需要不斷的調整演算法來使得模型的表達能拿更強。但是優化到了一定程度就需要解決過擬合的問題了,這個問題也在學術界討論的比較多。之前搜了很多有的部落格,講...