過擬合問題及解決辦法

2021-08-29 23:28:25 字數 779 閱讀 4457

原文 :

1 什麼是過擬合?

一般提及到過擬合就是說在訓練集上模型表現很好,但是在測試集上效果很差,即模型的泛化能力不行。過擬合是模型訓練過程中引數擬合的問題,由於訓練資料本身有取樣誤差,擬合模型引數時這些取樣誤差都擬合進去就會帶來所謂的過擬合問題。

2 機器學習中為什麼會容易出現過擬合?

傳統的函式擬合問題,一般是通過物理、數學等推導出的乙個含引數的模型(數學建模),模型複雜度是確定的,沒有多餘的能力擬合雜訊。而機器學習演算法的複雜度更高,一般都遠高於具體問題的複雜度。也就說資料量不足有支撐龐大的模型(也可以說是引數)。

3 怎麼樣解決過擬合?

3.1 獲取更多的資料

一方面可以獲取更多的源資料,另一方面也可以在現有資料的基礎上進行資料增強(影象平移,旋轉等)

3.2 使用合適的模型

這主要是解決資料量與模型引數之間的矛盾,即固定資料量只能支撐對應的參數量的模型的擬合(通俗的說,幾十個幾百個資料就不要使用深度網路了)。該方法主要可以從四個方面入手:

a.簡化網路結構,如層數,單層神經元個數

c.限制權值,正則化

d.增加雜訊:在輸入中增加雜訊(效果類似正則化);在權值中加入雜訊(非零初始化);

3.3 整合多種模型

a.bagging,類似於分段函式的概念,不同部分的訓練集使用不同模型擬合;

b.boosting,綜合多個簡單的模型的結果得到乙個『靠譜的結果』

c.dropout,實際效果其實是用不同的訓練集訓練了不同的網路模型,然後這些網路模型形成了乙個整體的模型

3.4 貝葉斯方法

過擬合以及解決辦法

過擬合 為了得到一致假設而使假設變得過度複雜稱為過擬合。乙個過配的模型試圖連誤差 噪音 都去解釋 而實際上噪音又是不需要解釋的 導致泛化能力比較差,顯然就過猶不及了。這句話很好的詮釋了過擬合產生的原因,但我認為這只是一部分原因,另乙個原因是模型本身並不能很好地解釋 匹配 資料,也就是說觀測到的資料並...

過擬合 欠擬合及其解決辦法

1.什麼是過擬合?過擬合 overfitting 是指在模型引數擬合過程中的問題,由於訓練資料報含抽樣誤差,訓練時,複雜的模型將抽樣誤差也考慮在內,將抽樣誤差也進行了很好的擬合。具體表現就是最終模型在訓練集上效果好 在測試集上效果差。模型泛化能力弱。2 產生過擬合根本原因 1 觀察值與真實值存在偏差...

過擬合和欠擬合及其解決辦法

欠擬合 欠擬合表示模型在訓練集上的表現比較差,具體表現就是模型在訓練集上的誤差比較大,原因就是模型表現不了資料 欠擬合的緩解辦法 過擬合 過擬合表示的是模型在訓練集上變現很好但是測試集上表現不行,可以看下面的吳恩達的課上的這個圖,本來虛線就已經挺好的,但是模型為了在訓練集上取得比較好的變現就產生了乙...