オーバーフィッティング(過学習・過適合)

  • モデルが訓練データに合わせすぎて、ノイズや偶然のパターンまで覚えてしまった状態
  • 訓練データでは誤差が小さいが、検証データでは誤差が大きい
  • 主な原因は、モデルが複雑すぎる、学習を進めすぎた、訓練データが少ない、正則化が弱すぎる(λが小さすぎる)など

対策

  • モデルを単純にする(特徴量の削減、層やパラメータ数を減らすなど)
  • 学習を早めに止める(早期終了)
  • 正則化を強める(正則化係数 $\lambda$ を大きくする)
    • 詳細は 正則化 を参照してください
  • 訓練データを増やす(データ拡張も含む)

アンダーフィッティング(過少適合)

  • モデルがデータの本質的なパターンを捉えきれていない状態
  • 訓練データでも検証データでも誤差が大きい
  • 主な原因は、モデルが単純すぎる、学習が足りない、正則化が強すぎる(λが大きすぎる)など

対策

  • モデルを複雑にする(特徴量の追加、層やパラメータ数を増やすなど)
  • 学習を長く行う
  • 正則化を弱める(正則化係数 $\lambda$ を小さくする)

オーバーフィッティングとの対比

  訓練誤差 検証誤差
オーバーフィッティング 小さい 大きい
アンダーフィッティング 大きい 大きい