欠擬合(Under fitting)和過擬合 (Overfitting)


一、定義

在訓練數據集上的准確率很⾼,但是在測試集上的准確率⽐較低
在這里插入圖片描述

二、理解bias和variance


模型的偏差bias:簡單來說訓練出來的模型在訓練集上的准確度。


模型的方差variance:就是模型在不同訓練集上的效果差別很大。方差越大的模型越容易過擬合。假設有兩個訓練集A和B,經過A訓練的模型Fa與經過B訓練的模型Fb差異很大,這意味着Fa在類A的樣本集合上有更好的性能,而Fb在類B的訓練樣本集合上有更好的性能,這樣導致在不同的訓練集樣本的條件下,訓練得到的模型的效果差異性很大,很不穩定,這便是模型的過擬合現象。


數學表達如下:
在這里插入圖片描述

其中:
    f(X)是整體數據的真值;
    e為測量噪聲;
    Y為實際使用的label
    f(x)^為在訓練集x上預測的結果

在這里插入圖片描述

                    過擬合和欠擬合實際就是尋找Bias 和variance的平衡方案

在這里插入圖片描述

三、判斷欠擬合和過擬合的方法

查看loss曲線

四、 欠擬合的解決方按

4.1 欠擬合loss變化曲線(1)

在這里插入圖片描述
這種情況loss曲線還是在下降的,因此只需要進行更多更高效的訓練即可:

  • 增大batch-size
  • 調整激活函數(使用relu)
  • 調整優化算法
  • 增加訓練epoch
  • 使用Adam
  • 增大learning rate

4.1 欠擬合loss變化曲線(2)

在這里插入圖片描述
這種情況loss曲線已經不再下降因此必須優化模型:

  1. 增加網絡復雜度

    • 增加層數
    • 增加卷積層輸出的通道數
    • 增加全連接層的節點數
  2. 檢測訓練數據集和測試數據是否有相對應的特征

    • 增加訓練數據的種類, 使得訓練數據覆蓋所有測試數據的特性
    • 使用數據增強

五、過擬合的解決方案

在這里插入圖片描述

5.1 DropOut

假設有一個過擬合的神經網絡如下:
在這里插入圖片描述
DropOut步驟:

  1. 根據DropOut rate(這里假設為 1/3),在每組數據訓練時,隨機選擇每一隱藏層的1/3的節點去除,並訓練。如下圖是三次訓練的過程:
    在這里插入圖片描述2. 使用時,把神經網絡還原成原來沒有去除過節點的樣子,如下圖。但是系數(w,b)需要乘以(1-DropOut rate)
    在這里插入圖片描述

5.2 L2 正則化

5.2.1 方法
對損失函數(loss function) f(θ) 中的每一個系數θi,都對損失函數加上1/2λθi2,其中λ是正則化的強度。

  • 相當於,在訓練的每一次更新系數的時候都額外加上這一步:
    θi= θi - λθi

5.2.2 目的
L2正則化的目的是使系數的絕對值減小,對絕對值越大的系數,減小的程度越強。L2正則化使得大多數系數的值都不為零,但是絕對值都比較小。

5.3 L1 正則化

5.3.1 方法
對損失函數(lossfunction)f(θ)中的每一個系數θi,都對損失函數
加上λ|θi|,其中λ是正則化的強度。

  • 相當於,在訓練的每一次更新系數的時候都額外加上這一步:
    在這里插入圖片描述
    5.3.2 目的
    L1正則化的目的是使得許多系數的絕對值接近0,其它那些系數不接近於0的系數對應的特征就是對輸出有影響的特征。所以L1正則化甚至可以用於作為特征選擇的工具。

5.4 最⼤范數約束 (Max Norm)

5.4.1 方法
對每一個神經元對應的系數向量,設置一個最大第二范數值c,這個值通常設為3。如果一個神經元的第二范數值大於c,那么就將每一個系數值按比例縮小,使得第二范式值等於c。

  • 相當於在訓練的每一次更新系數的時候都額外加上這一步:
    在這里插入圖片描述

    注意:只有當||θ||>c才執行

5.4.2 目的
由於最大范數的約束,可以防止由於訓練步長較大引發的過擬合。

5.5 模型太復雜

模型太復雜,減少模型每一層的節點

打賞

如果對您有幫助,就打賞一下吧O(∩_∩)O


免責聲明!

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



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