一、定義
在訓練數據集上的準確率很⾼,但是在測試集上的準確率⽐較低
二、過擬合的解決方案
2.1 DropOut
假設有一個過擬合的神經網絡如下:
DropOut步驟:
- 根據DropOut rate(這裏假設爲 1/3),在每組數據訓練時,隨機選擇每一隱藏層的1/3的節點去除,並訓練。如下圖是三次訓練的過程:
2. 使用時,把神經網絡還原成原來沒有去除過節點的樣子,如下圖。但是係數(w,b)需要乘以(1-DropOut rate)
2.2 L2 正則化
2.2.1 方法
對損失函數(loss function) f(θ) 中的每一個係數θi,都對損失函數加上1/2λθi2,其中λ是正則化的強度。
- 相當於,在訓練的每一次更新系數的時候都額外加上這一步:
θi= θi - λθi
2.2.2 目的
L2正則化的目的是使係數的絕對值減小,對絕對值越大的係數,減小的程度越強。L2正則化使得大多數係數的值都不爲零,但是絕對值都比較小。
2.3 L1 正則化
2.3.1 方法
對損失函數(lossfunction)f(θ)中的每一個係數θi,都對損失函數
加上λ|θi|,其中λ是正則化的強度。
- 相當於,在訓練的每一次更新系數的時候都額外加上這一步:
2.3.2 目的
L1正則化的目的是使得許多係數的絕對值接近0,其它那些係數不接近於0的係數對應的特徵就是對輸出有影響的特徵。所以L1正則化甚至可以用於作爲特徵選擇的工具。
2.4 最⼤範數約束 (Max Norm)
2.4.1 方法
對每一個神經元對應的係數向量,設置一個最大第二範數值c,這個值通常設爲3。如果一個神經元的第二範數值大於c,那麼就將每一個係數值按比例縮小,使得第二範式值等於c。
-
相當於在訓練的每一次更新系數的時候都額外加上這一步:
注意:只有當||θ||>c才執行
2.4.2 目的
由於最大範數的約束,可以防止由於訓練步長較大引發的過擬合。