防止过拟合,采用的手段有哪些?
過擬合
過擬合是模型的偏差小而方差大,即模型在訓練集上擬合得很好,在測試集上的效果卻很差。所以防止過擬合,就是要減小方差。(偏差、方差、貝葉斯誤差)
防止過擬合的方法
數據增強的方法
參考
- 翻轉(水平、垂直)
- 旋轉
- 縮放(放大后裁剪,縮小后填充,填充方法包括常數,邊緣,反射,對稱和包裹模式)
- 裁剪
- 平移
- 增加高斯噪聲
利用生成對抗網絡生成圖像
L1正則與L2正則的區別
參考
droupout正則
dropout–隨機使一些神經元失活,用在模型的訓練階段。直觀上理解:不要依賴于任何一個特征,不給任何一個輸入加上太多權重,因為該單元的輸入可能隨時被清除。(參考Andwew Ng deeplearning.ai)
Early stopping
隨著訓練次數的增加,在訓練集上的誤差如藍色,在驗證集上的誤差如紫線。可以看出,驗證集上的誤差經歷了先減小后增大的變化過程,表明模型已經過擬合了,所以在驗證集上的誤差最小的時候,就要停止訓練了。
使用Early stopping可能帶來一個問題。模型在訓練集上沒有完全訓練好,但是在驗證集上已經開始出現過擬合了。此時Early stopping不能在減小偏差的同時減小方差。
如果不用 early stopping,另一種方法就是L2L2L2正則化,訓練神經網絡的時間就可能很長。這導致超級參數搜索空間更容易分解,也更容易搜索,但是缺點在于,必須嘗試很多正則化參數λ\lambdaλ的值,這也導致搜索大量λ\lambdaλ值的計算代價太高(參考Andwew Ng deeplearning.ai)
[]
Bagging
其實bagging的方法是可以起到正則化的作用,因為正則化就是要減少泛化誤差,而bagging的方法可以組合多個模型起到減少泛化誤差的作用. 在深度學習中同樣可以使用此方法,但是其會增加計算和存儲的成本(參考).
總結
以上是生活随笔為你收集整理的防止过拟合,采用的手段有哪些?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者服务器维护宝箱礼包都没领,王者荣耀:
- 下一篇: 模型优化算法