如何防止過擬合及欠擬合


1 過擬合

1.1 定義

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

1.2 如何防止過擬合

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

1)增加訓練集數據;

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

但是往往直接增加數據是困難的,因此可以通過一定的規則來擴充訓練數據。列舉兩種方式:

①如圖像分類問題中可以通過對圖像的平移,縮放,旋轉等方式來擴充;

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

2)降低模型復雜度;

在數據量較少的情況下,模型過於復雜將會導致過擬合,因此可以通過降低模型的復雜度來防止過擬合,這樣就可以一定程度上避免模型擬合過多的采樣噪聲。

比如:

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

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

3)增加正則化約束項;

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

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

集成學習是把多個模型集成到一起來作為共同的模型,可以降低單一模型的過擬合風險。如bagging方法。

 

2 欠擬合

2.1 定義

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

2.2 如何防止欠擬合

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

1)增加特征數;

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

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

2)增加模型復雜度;

模型簡單時其表達能力較差,容易導致欠擬合,因此可以適當地增加模型復雜度,使模型擁有更強的擬合能力。

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

3)減小正則化系數。

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM