如何防止過擬合和欠擬合

過擬合和欠擬合是模型訓練過程當中常常出現的問題,兩種狀況正好相反,現將二者的定義及如何防止進行簡要總結。網絡

 

1 過擬合

1.1 定義

是指模型對於訓練數據擬合呈現過當的狀況,反映到評估指標上就是模型在訓練集上的表現很好,可是在測試集上的表現較差。結果就是訓練出的模型泛化能力差。函數

1.2 如何防止過擬合

防止過擬合的方法有4種:學習

1)增長訓練集數據;測試

該方式是從數據入手,將更多的數據參與到模型的訓練中,這是最有效的方法,這樣可讓模型學習到更多更有效的特徵,下降噪聲對模型的影響。神經網絡

可是每每直接增長數據是困難的,所以能夠經過必定的規則來擴充訓練數據。列舉兩種方式:方法

①如圖像分類問題中能夠經過對圖像的平移,縮放,旋轉等方式來擴充;總結

②也可使用生成式對抗網絡類合成大量數據。數據

2)下降模型複雜度;集合

在數據量較少的狀況下,模型過於複雜將會致使過擬合,所以能夠經過下降模型的複雜度來防止過擬合,這樣就能夠必定程度上避免模型擬合過多的採樣噪聲。標籤

好比:

①神經網絡中減小網絡成熟,神經元個數等;

②決策樹中下降樹的深度和進行剪枝。

3)增長正則化約束項;

好比將權值的大小加入到損失函數中,避免權值過大帶來的過擬合風險。

4)經過集成學習的方式訓練模型。

集成學習是把多個模型集成到一塊兒來做爲共同的模型,能夠下降單一模型的過擬合風險。如bagging方法。

2 欠擬合

2.1 定義

是指模型在訓練集合測試集數據上的表現均很差的狀況。結果就是訓練出的模型表達能力不夠,精度不夠。

2.2 如何防止

防止欠擬合的方法有3種:

1)增長特徵數;

當特徵不足或者現有特徵與樣本標籤的相關性不強時,模型易出現欠擬合。

能夠經過挖掘上下文特徵,ID類特徵,組合特徵等新的特徵,能夠取得較好的效果。這屬於特徵工程相關的內容,如因子分解機,梯度提高決策樹,deep_crossing均可以豐富特徵。

2)增長模型複雜度;

模型簡單時其表達能力較差,容易致使欠擬合,所以能夠適當地增長模型複雜度,使模型擁有更強的擬合能力。

如線性模型中添加高次項,神經網絡中增長網絡層數或神經元個數。

3)減少正則化係數。

正則化是用於防止過擬合的,可是當出現欠擬合時,就有必要針對性地減少正則化係數。

相關文章
相關標籤/搜索