欠擬合、過擬合、偏差、方差


1. 基本概念

  • 偏差:偏差度量了學習算法的期望預測與真實結果的偏離程度, 即刻畫了學習算法本身的擬合能力
  • 方差:方差度量了同樣大小的訓練集的變動所導致的學習性能的變化, 即刻畫了數據擾動所造成的影響
  • 欠擬合:模型的經驗誤差大,模型太簡單,在訓練的過程中基本沒學到有價值的內容,說明模型欠擬合。
  • 過擬合:模型學習了太多的訓練樣本的“個性”(經驗誤差小),但是對於未知的樣本泛化能力差(泛化誤差大),說明過擬合。
  • 經驗誤差:模型關於訓練樣本集的平均誤差(也稱經驗風險)。
  • 結構風險:結構風險在經驗風險的基礎上加上表示模型復雜度的正則化項
  • 泛化誤差:模型在新樣本集(測試集)上的平均誤差。
  • 泛化誤差=偏差+方差+噪聲
  • 噪聲:描述了在當前任務上任何學習算法所能達到的期望泛化誤差的下界,即刻畫了學習問題本身的難度

偏差和方差

如果模型是低偏差和低方差,那肯定是最好的一個選擇。但是偏差和方差在一定程度上是矛盾的。如果偏差降低,那方差可能會相應的升高,如果方差降低,那偏差可能相應升高。所以我們是盡量的尋求偏差和方差的一個平衡點。

下圖比較形象的表達偏差和方差的含義。
image

個人理解:偏差太大,說明模型欠擬合;方差太大,說明模型過擬合。

2. 欠擬合和過擬合

2.1 學習曲線

通過學習曲線來識別模型是否發生了欠擬合、過擬合

橫軸為訓練樣本數量,縱軸為誤差
image

2.2 復雜程曲線

橫軸為模型復雜程度,縱軸為誤差
image
上圖中:模型在點A處,在訓練集以及測試集上同時具有較高的誤差,此時模型的偏差較大,模型欠擬合;模型在點C處,在訓練集上具有較低的誤差,在測試集上具有較高的誤差,此時模型的方差較大,模型過擬合。模型復雜程度控制在點B處為最優。

3. 如何解決欠擬合和過擬合

3.1 解決欠擬合

  1. 增加特征項。
  2. 添加多項式特征項。
  3. 減小正則化系數。
  4. 增加模型復雜度。

3.2 解決過擬合

過擬合問題是機器學習和深度學習里面主要要解決的一個問題。解決過擬合的辦法主要有一下列出的。

  1. 重新做特征工程。
  2. 增加訓練樣本數量。
  3. 降低模型復雜程度。
  4. 增大正則項系數。
  5. 采用dropout方法。
  6. early stoping。
  7. 減少迭代次數。
  8. 增大學習率。
  9. 添加噪聲數據。
  10. 樹結構中,可以對樹進行剪枝。
    以上只是舉一些例子,不同的問題還是需要根據不同的情況分析。


免責聲明!

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



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