機器學習23 過擬合和欠擬合的常用處理方法

2021-10-02 02:23:16 字數 1440 閱讀 4243

1.過擬合和欠擬合概述:

在機器學習和深度學習的訓練過程中,經常會出現過擬合和欠擬合的現象。訓練初期模型通常會欠擬合,在對模型進行優化後訓練到一定程度的時候就需要解決過擬合的問題。在訓練過程中會定義訓練誤差、驗證集誤差和測試集誤差(泛化誤差),訓練誤差總是減少的,而泛化誤差開始會減少,但到一定程度後不減反而增加,這時候便出現了過擬合的現象。

從直觀上理解,欠擬合就是還沒有充分學習到資料的特徵,仍然有待繼續學習,而過擬合則是學習進行的太徹底,以至於把資料的一些區域性特徵或者雜訊帶來的特徵學到,所以在進行測試的時候泛化誤差不佳。

2.欠擬合的處理方法:

(1)增加特徵:

欠擬合是由於學習不足,可以考慮新增特徵,從資料中挖掘出更多的特徵,有時候還需要對特徵進行變換,使用組合特徵和高次特徵。

(2)增加模型複雜度:

模型簡單也會導致欠擬合,例如線性模型只能擬合一次函式的資料。嘗試使用更高階的模型有助於解決欠擬合,例如使用svm,神經網路等。

(3)減少正則化引數:

正則化引數是用來防止過擬合的,出現欠擬合的情況也要考慮減少正則化引數。

3.過擬合的處理方法:

(1)增大訓練的資料量:

訓練資料集要足夠大才能使得資料中的特徵被模型學習到,還需要清洗資料,儘量減少資料中的雜訊,以防止這些雜訊被模型學習到。

(2)正則化:

正則化方法常用來處理過擬合,正則化就是再用小資料集擬合模型的過程中強行加入人為偏轉,從而控制擬合出來的模型的複雜度以避免過擬合。

正則化包括l1正則化和l2正則化,正則項通常是乙個範數。l1範數是指向量中各個元素絕對值之和,也叫「稀疏規則運算元」,通常可以用來做特徵選擇,在嵌入式特徵選擇使用的就是l1範數;l2範數是指向量各元素的平方和然後求平方根,通常的結果會使權重引數變小,使得模型的複雜度變低,符合奧卡姆剃刀原則,以防止過擬合。

(3)dropout:

在神經網路中經常使用dropout方法,或者稱之為隨機失活,每次訓練的時候隨機去掉一部分隱藏層的神經元,每次單元丟棄都理解為一次再取樣,以增大樣本量、減少特徵量的方式防止過擬合。

(4)提前終止:

提前終止(early stoppping)可以防止模型複雜度過於增加,從而防止過擬合。採用交叉驗證提前終止,當交叉驗證錯誤率最小時認為泛化效能最好,這時即使訓練集錯誤率仍然下降,也終止訓練。

(5)逐層歸一化(batch normalization):

給每層的輸出做歸一化相當於加了乙個線性變換),這樣使得下一層的輸入相當於高斯分布(正態分佈),這個方法相當於下一層的權重引數訓練時避免了其輸入以偏概全, 因而泛化效果也比較好。

(6)模型平均(bagging):

模型平均方法通過分別訓練幾個不同的模型,再用相同的測試集在這樣一些模型上測試,並收集所有模型在測試集上的輸出產生最終輸出結果。

(1)

機器學習基礎 過擬合,欠擬合

最左邊屬於欠擬合,最右邊過擬合。欠擬合是對資料擬合的不好,在訓練集和測試集上的表現都很差。過擬合在訓練集上表現得很好,在測試集上表現得不好 欠擬合原因 模型過於簡單 使用更複雜的模型,整合 訓練次數不夠 增加訓練次數 過擬合原因 模型過於複雜 訓練資料少 資料中雜訊多 解決過擬合方法 簡化模型 減少...

過擬合和欠擬合

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

欠擬合和過擬合

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