欠擬合和過擬合


  機器學習是利用模型在訓練集中進行學習,在測試集中對樣本進行預測。模型對訓練集數據的誤差稱為經驗誤差,對測試集數據的誤差稱為泛化誤差。模型對訓練集以外樣本的預測能力稱為模型的泛化能力。

  欠擬合(underfitting)和過擬合(overfitting)是模型泛化能力不高的兩種常見原因,都是模型學習能力與數據復雜度不匹配的情況。

  欠擬合常常在模型學習能力比較弱,而數據復雜度較高的場景出現,由於模型學習能力不足,不能有效學習數據集的一般規律,導致模型泛化能力較弱

  過擬合常常在模型學習能力過強的場景中出現,由於模型學習能力太強,把訓練集中單個樣本的特點都能學習到,並將其作為一般規律,同樣也導致模型泛化能力較弱。

  欠擬合在訓練集和測試集上能力都較差,而過擬合則在訓練集能較好學習數據的特征,在測試集上預測能力較差。

  

 

  產生欠擬合 的原因:

  1、模型過於簡單

  2、模型特征量過少

 

  欠擬合解決辦法

  1、增加新特征,可以考慮加入進特征組合、高次特征,來增大假設空間

  2、添加多項式特征,這個在機器學習算法里面用的很普遍,例如將線性模型通過添加二次項或者三次項使模型泛化能力更強

  3、減少正則化參數,正則化的目的是用來防止過擬合的,但是模型出現了欠擬合,則需要減少正則化參數

  4、使用非線性模型,比如核SVM 、決策樹、深度學習等模型

  5、調整模型的容量(capacity),通俗地,模型的容量是指其擬合各種函數的能力

  6、容量低的模型可能很難擬合訓練集;使用集成學習方法,如Bagging ,將多個弱學習器Bagging

 

  產生過擬合原因:

  1、建模樣本選取有誤,如樣本數量太少,選樣方法錯誤,樣本標簽錯誤等,導致選取的樣本數據不足以代表預定的分類規則

  2、樣本噪音干擾過大,使得機器將部分噪音認為是特征從而擾亂了預設的分類規則

  3、假設的模型無法合理存在,或者說是假設成立的條件實際並不成立

  4、參數太多,模型復雜度過高

  5、對於決策樹模型,如果對於其生長沒有合理的限制,其自由生長有可能使節點只包含單純的事件數據(event)或非事件數據(no event),使其雖然可以完美匹配(擬合)訓練數據,但是無法適應其他數據集

  6、對於神經網絡模型:對樣本數據可能存在分類決策面不唯一,隨着學習的進行,,BP算法使權值可能收斂過於復雜的決策面;權值學習迭代次數足夠多(Overtraining),擬合了訓練數據中的噪聲和訓練樣例中沒有代表性的特征

   

  過擬合解決辦法:

  1、正則化(Regularization)(L1和L2)

  2、數據擴增,即增加訓練數據樣本

  3、Dropout

  4、Early stopping

 

   參考:https://www.cnblogs.com/zhhfan/p/10476761.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM