神經網絡中出現過擬合的原因和幾種解決方法

轉載自:https://www.cnblogs.com/xumaomao/p/11079564.html

過擬合產生的原因?

過擬合的表現:模型在訓練集上誤差很小,在測試集上誤差很大。

過擬合主要由兩個方面決定:一是數據集,二是模型。

我認爲過擬合問題目前來說只能減少不能避免。

數據集角度:

我們知道無論是機器學習還是深度學習,都是通過在訓練集上做訓練來最小化訓練集上的損失函數來得到想要的模型,也就是說我們希望在訓練集上學習到的規律能夠泛化到真實數據集上,這裏其實潛藏了一個假設就是訓練集上的分佈和真實數據集的分佈是一致的。但是事實上訓練集往往只是真實數據集的一小部分,往往是包含噪聲的,如果很不辛的訓練數據集包含了一個很強的噪聲,這個強噪聲已經足以影響到訓練數據集中的lable分佈,那麼模型很容易把這個強噪聲當成一個強特徵,造成過擬合。所以數據集數量和質量甚至決定了模型的上限。

模型角度:

一般複雜的模型越容易過擬合,因爲複雜的模型擬合能力強,他能把每個數據擬合進來,這樣也容易把噪聲數據擬合進來,這樣的模型往往具有高方差低偏差的特點。

如何減少過擬合?

減少過擬合需要具體情況具體分析。

一般由以下幾種方法:

模型角度

1. 限制模型的複雜度(根據訓練集的分佈,選擇複雜度合適的模型)

2. L2正則限制特徵權重,防止某些特徵對結果影響太大。

3. L1正則產生稀疏權重,限制模型的複雜度。

4. 參數共享。

5. bagging

6. 提前終止。

7. dropout

8. BN

數據角度:

得到質量更高,數據量的數據。如數據增強。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章