1 過擬合
1.1 定義
是指模型對於訓練數據擬合呈現過當的情況,反映到評估指標上就是模型在訓練集上的表現很好,但是在測試集上的表現較差。結果就是訓練出的模型泛化能力差。
1.2 如何防止過擬合
防止過擬合的方法有4種:
1)增加訓練集數據;
該方式是從數據入手,將更多的數據參與到模型的訓練中,這是最有效的方法,這樣可以讓模型學習到更多更有效的特征,降低噪聲對模型的影響。
但是往往直接增加數據是困難的,因此可以通過一定的規則來擴充訓練數據。列舉兩種方式:
①如圖像分類問題中可以通過對圖像的平移,縮放,旋轉等方式來擴充;
②也可以使用生成式對抗網絡類合成大量數據。
2)降低模型復雜度;
在數據量較少的情況下,模型過於復雜將會導致過擬合,因此可以通過降低模型的復雜度來防止過擬合,這樣就可以一定程度上避免模型擬合過多的采樣噪聲。
比如:
①神經網絡中減少網絡成熟,神經元個數等;
②決策樹中降低樹的深度和進行剪枝。
3)增加正則化約束項;
比如將權值的大小加入到損失函數中,避免權值過大帶來的過擬合風險。
4)通過集成學習的方式訓練模型。
集成學習是把多個模型集成到一起來作為共同的模型,可以降低單一模型的過擬合風險。如bagging方法。
2 欠擬合
2.1 定義
是指模型在訓練集合測試集數據上的表現均不好的情況。結果就是訓練出的模型表達能力不夠,精度不夠。
2.2 如何防止欠擬合
防止欠擬合的方法有3種:
1)增加特征數;
當特征不足或者現有特征與樣本標簽的相關性不強時,模型易出現欠擬合。
可以通過挖掘上下文特征,ID類特征,組合特征等新的特征,可以取得較好的效果。這屬於特征工程相關的內容,如因子分解機,梯度提升決策樹,deep_crossing都可以豐富特征。
2)增加模型復雜度;
模型簡單時其表達能力較差,容易導致欠擬合,因此可以適當地增加模型復雜度,使模型擁有更強的擬合能力。
如線性模型中添加高次項,神經網絡中增加網絡層數或神經元個數。
3)減小正則化系數。
正則化是用於防止過擬合的,但是當出現欠擬合時,就有必要針對性地減小正則化系數。