機器學習的偏差(bias)和方差(variance)問題

減少偏差

偏差過大又稱欠擬合(underfitting),原因通常是:

  • 模型太過簡單,無法很好地擬合樣本點。
  • 訓練集太小。
  • 訓練輪數太少,即訓練時間太短。

解決的辦法自然是:

  • 使用更復雜的模型,在神經網絡中增加隱藏層或隱藏單元。
  • 增長訓練時間,使用更先進的優化算法。
  • 收集更多數據加入訓練集(當模型無法很好擬合當前訓練集時,此方法並無多大作用)

解決偏差問題是最基本的要求,是最低標準,模型直到可以擬合數據爲止纔算合格。

減少方差

方差過大又稱過擬合(overfitting),原因通常是:

  • 模型太過複雜,精確地擬合了幾乎每一個樣本點。
  • 訓練集太小。

    解決辦法是:

  • 正則化(此方法最被經常運用,也通常最有效)例如L1,L2,Dropout正則化。

  • 減少神經網絡層數或隱藏單元數(實際應用中通常是使用正則化而非此方法)
  • 收集更多數據(不同於偏差問題,此方法確實有助於減少方差問題)

通常繪製學習曲線有助於判斷當前的問題究竟是偏差問題還是方差問題。學習曲線是指將訓練誤差和交叉驗證誤差作爲y軸,訓練輪數作爲x軸,繪製曲線。
你會發現如果偏差很大,訓練輪數達到一定次數後再怎麼訓練,訓練誤差依然會保持相對較高的值。

當訓練誤差(training error)很大時,毫無疑問有偏差問題。
當訓練誤差和交叉驗證集的誤差都很大時,先解決偏差問題。
當訓練誤差很小,而交叉驗證集的誤差很大時,就很可能是方差問題。
爲了讓兩者都儘量小,通常有一箇中間點,可以權衡二者,達到最優的結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章