過擬合 欠擬合

2021-09-27 09:55:34 字數 2361 閱讀 6940

無論在機器學習還是深度學習建模當中都可能會遇到兩種最常見結果,一種叫過擬合(over-fitting )另外一種叫欠擬合(under-fitting)。

所謂過擬合(over-fitting)

其實就是所建的機器學習模型或者是深度學習模型在訓練樣本中表現得過於優越,導致在驗證資料集以及測試資料集中表現不佳。打個比喻就是當我需要建立好乙個模型之後,比如是識別乙隻狗狗的模型,我需要對這個模型進行訓練。恰好,我訓練樣本中的所有訓練都是二哈,那麼經過多次迭代訓練之後,模型訓練好了,並且在訓練集中表現得很好。基本上二哈身上的所有特點都涵括進去,那麼問題來了!假如我的測試樣本是乙隻金毛呢?將乙隻金毛的測試樣本放進這個識別狗狗的模型中,很有可能模型最後輸出的結果就是金毛不是一條狗(因為這個模型基本上是按照二哈的特徵去打造的)。所以這樣就造成了模型過擬合,雖然在訓練集上表現得很好,但是在測試集中表現得恰好相反,在效能的角度上講就是協方差過大(variance is large),同樣在測試集上的損失函式(cost function)會表現得很大。

所謂欠擬合(under-fitting)

相對過擬合欠擬合還是比較容易理解。還是拿剛才的模型來說,可能二哈被提取的特徵比較少,導致訓練出來的模型不能很好地匹配,表現得很差,甚至二哈都無法識別。

(1)建模樣本抽取錯誤,包括(但不限於)樣本數量太少。

抽樣方法錯誤, 抽樣時沒有足夠正確考慮業務場景或業務特點,不能有效足夠代表業務邏輯或業務場景。

(2)引數太多、模型複雜度高。

(3)決策樹模型沒有合理剪枝

如果我們對於決策樹的生長沒有合理的限制和修剪的話, 決策樹的自由生長有可能每片葉子裡只包含單純的事件資料(event)或非事件資料(no event), 可以想象,這種決策樹當然可以完美匹配(擬合)訓練資料, 但是一旦應用到新的業務真實資料時,效果是一塌糊塗。

(4)權值學習迭代次數足夠多(overtraining),擬合了訓練資料中的雜訊和訓練樣例中沒有代表性的特徵

欠擬合情況:隨著訓練樣本數增大,訓練集得分和驗證集得分收斂,並且兩者的收斂值很接近。

過擬合情況:隨著訓練樣本數增大,訓練集得分和驗證集得分相差還是很大。

(1)權重衰減、正則化:

回想下我們的模型,假如我們採用梯度下降演算法將模型中的損失函式不斷減少,那麼最終我們會在一定範圍內求出最優解,最後損失函式不斷趨近0。那麼我們可以在所定義的損失函式後面加入一項永不為0的部分,那麼最後經過不斷優化損失函式還是會存在。其實這就是所謂的「正則化」。

正則化方法包括l1正則和l2正則, 而正則一般是在目標函式之後加上對於的範數。但是在機器學習中一般使用l2正則

但是為什麼可以防止過擬合呢?乙個通俗的理解便是:更小的引數值w意味著模型的複雜度更低, 對訓練資料的擬合剛剛好(奧卡姆剃刀),不會過分擬合訓練資料,從而使得不會過擬合, 以提高模型的泛化能力。

下面這張就是加入了正則化(regulation)之後的損失函式。這裡m是樣本數目,

注意:當t(landa)過大時,則會導致後面部分權重比加大,那麼最終損失函式過大,從而導致欠擬合

當t(landa)過小時,甚至為0,導致過擬合。

dropout的思想是當一組引數經過某一層神經元的時候,去掉這一層上的一部分神經元,讓引數只經過一部分神經元進行計算。注意這裡的去掉並不是真正意義上的去除,只是讓引數不經過一部分神經元計算而已。

(3)減小網路規模

對於神經網路,引數膨脹原因可能是因為隨著網路深度的增加,同時引數也不斷增加,並且增加速度、規模都很大。那麼可以採取減少神經網路規模(深度)的方法。

(4)增大訓練樣本

增大訓練樣本規模同樣也可以防止過擬合。

(5)機器學習整合思想

過擬合欠擬合

一篇文章,帶你明白什麼是過擬合,欠擬合以及交叉驗證 在本文中也許你會掌握機器學習中最核心的概念 偏差 方差權衡.其主要想法是,你想建立盡可能 準確並且仍能適用於新資料的模型 這是泛化 危險的是,你可以輕鬆的在你制定的資料中建立過度擬合本地噪音的模型,這樣的模型是無用的,並且導致弱泛化能力,因為雜訊是...

欠擬合與過擬合

在用機器學習搭建模型時,經常會碰到這樣一種情況,你的模型演算法在樣本資料中匹配的非常完美。但用新資料測試,發現模型結果和實際差距非常大。那麼恭喜你!你掉進了機器學習中常見的乙個大坑 過擬合。什麼是過擬合呢?機器學習本質上是通過建立資料模型,使其和現有資料相吻合,從而找到資料中內在的規律。如下面三張圖...

欠擬合與過擬合

一 1.欠擬合 訓練集上表現很差 這種情況在測試集上也不會好 高偏差 bias 解決辦法 選擇更複雜的網路 有正則項就減小正則項引數等。2.過擬合 訓練集上表現很好,但測試集上表現很差,高方差 variance 解決辦法 採用更多資料 如果有正則化就增加正則化引數,沒有就加上正則化 dropout等...