防止過擬合的方法

2021-08-20 12:57:34 字數 600 閱讀 2783

過擬合(overfitting)是指在模型引數擬合過程中的問題,由於訓練資料報含抽樣誤差

,訓練時,複雜的模型將抽樣誤差也考慮在內,將抽樣誤差也進行了很好的擬合。

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

演算法為了滿足盡可能複雜的任務,其模型的擬合能力一般遠遠高於問題複雜度,也就是說,演算法有擬

合出正確規則的前提下,進一步擬合雜訊的能力。

那麼如何防止過擬合呢?

1. 更多的資料

如何獲取更多資料,可以有以下幾個方法:

2. 選擇合適的模型

過擬合的兩個原因:資料太少/模型太複雜

所以可以選擇合適大小的模型來擬合問題。

限制模型能力:

比如l1,l2正則化,限制權值大小來防止過擬合。

可以分為三種,乙個是對輸入增加雜訊,雜訊會隨著網路放大傳到輸出,可以達到與l2正則化相同的效果,另乙個是對權值增加雜訊(比如權重初始化為零均值高斯分布),還有在輸出響應中增加雜訊,

如在前向傳播過程中,讓默寫神經元的輸出變為 binary 或 random,這樣可能會影響訓練,但是在測試資料集上的效果會更好。

訓練多個模型,將多個模型的輸出合併起來,

防止過擬合方法

在訓練資料不夠多時,或者overtraining時,常常會導致overfitting 過擬合 其直觀的表現如下圖所示,隨著訓練過程,網路在training data上的error漸漸減小,但是在驗證集上的error卻反而漸漸增大 因為訓練出來的網路過擬合了訓練集,對訓練集外的資料卻不work。為了防...

防止過擬合以及解決過擬合

過擬合 為了得到一致假設而使假設變得過度複雜稱為過擬合。乙個過配的模型試圖連誤差 噪音 都去解釋 而實際上噪音又是不需要解釋的 導致泛化能力比較差,顯然就過猶不及了。這句話很好的詮釋了過擬合產生的原因,但我認為這只是一部分原因,另乙個原因是模型本身並不能很好地解釋 匹配 資料,也就是說觀測到的資料並...

過擬合以及如何防止過擬合

過擬合即模型在訓練過程中對模型引數進行擬合的過程中,由於訓練資料集存在抽樣誤差 雜訊 複雜的模型在訓練的過程中會將抽樣誤差也一同進行擬合。這就導致訓練好的模型在訓練集上的表現很好,在測試集上的表現很差的原因。導致過擬合的主要原因有兩個 資料量太少和模型過於複雜 因為機器學習演算法在擬合出正確的規則後...