如何防止過擬合和欠擬合

2022-08-31 10:03:08 字數 1065 閱讀 2679

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

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

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

1)增加訓練集資料;

該方式是從資料入手,將更多的資料參與到模型的訓練中,這是最有效的方法,這樣可以讓模型學習到更多更有效的特徵,降低雜訊對模型的影響。

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

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

②也可以使用生成式對抗網路類合成大量資料。

2)降低模型複雜度;

在資料量較少的情況下,模型過於複雜將會導致過擬合,因此可以通過降低模型的複雜度來防止過擬合,這樣就可以一定程度上避免模型擬合過多的取樣雜訊。

比如:①神經網路中減少網路成熟,神經元個數等;

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

3)增加正則化約束項;

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

4)通過整合學習的方式訓練模型。

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

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

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

1)增加特徵數;

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

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

2)增加模型複雜度;

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

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

3)減小正則化係數。

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

如何防止過擬合及欠擬合

1.過擬合 1.1 定義 是指模型對於訓練資料擬合呈現過當的情況,反映到評估指標上就是模型在訓練集上的表現很好,但是在測試集上的表現較差。結果就是訓練出的模型泛化能力差。1.2 如何防止過擬合 防止過擬合的方法有4種 1 增加訓練集資料 該方式是從資料入手,將更多的資料參與到模型的訓練中,這是最有效...

過擬合和欠擬合

嘗試不同的模型 既然有一種可靠的方法來測量模型精度,那麼可以嘗試使用其他模型,並檢視哪種模型可以提供最佳 但是對模型有什麼選擇?可以在scikit learn的文件中看到決策樹模型有很多選項 比您長期想要或需要的更多 最重要的選項決定了樹的深度。回想一下這個微課程的第一課,樹的深度是衡量它在進行 之...

欠擬合和過擬合

解決欠擬合問題,可以從以下三個方面入手 1 增加特徵項 在大多數情況下出現過擬合是因為沒有準確把握資料的主要特徵,可以嘗試在模型中加入更多的和原始資料有重要相關性的特徵來尋連搭建的模型,著牙嗎嗯得到的模型可能會有更好的泛化能力。2 構造複雜的多項式 3 減少正則化引數 解決過擬合問題 1 增大訓練的...