過擬合與欠擬合的原因以及解決方案


作者:我執
鏈接:https://zhuanlan.zhihu.com/p/271727854
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

有哪些原因會導致過擬合?

數據層面

  1. 訓練集和測試集的數據分布不一致
  2. 訓練數據集太少,樣本單一,模型無法從中學到泛化的規則
  3. 訓練集中的噪音太多,導致模型過分記住了噪音特征

模型層面

  1. 模型過於復雜,換句話說就是模型把這些數據“死記硬背”了下來,而不是學到了泛化規則。

過擬合如何解決?

數據層面

  1. 增加數據的量,或者增加數據的多樣性,讓模型學到更有效的特征。

模型層面

  1. 降低模型的復雜度,把模型變得更簡單。如決策樹的剪枝算法、神經網絡中的L2/L1正則化等。

訓練層面

  1. 使用驗證集,當驗證集發生過擬合現象時及早停止模型。
  2. 在訓練過程中使用正則化技術,如神經網絡中的Dropout、L2、L1正則化等。

模型融合

  1. 把多個模型集成在一起,降低模型過擬合的風險,如Bagging方法。

有哪些原因會導致欠擬合?

欠擬合一般是模型表達能力不夠或者說數據有問題,導致無法從數據中學到有效的特征與規則。
數據層面

  1. 數據特征表達能力不強或者現有特征與標簽之間的相關性不強。

模型層面

  1. 假設的模型太簡單,導致無論怎么學習都無法學到有效的信息,即模型“先天不足”。
  2. 模型合適,但是沒有訓練好,即模型還沒有訓練到收斂的情況。

 

解決欠擬合的常見方法有哪些?

  1. 添加新的數據特征
  2. 增加模型復雜度,假設一個更復雜的空間
  3. 減小正則化系數
  4. 增加模型訓練時間,直到模型收斂為止


免責聲明!

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



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