用語集に戻る
プログラミング基礎中級

過学習

一言で言うと

訓練に合わせすぎて汎化が落ちる現象。

もう少し詳しく

一言で言うと

訓練に合わせすぎて汎化が落ちる現象。

もう少し詳しく

機械学習モデルが訓練データに過剰に適合してしまい、未知のデータに対する予測精度(汎化性能)が低下する現象です。モデルの複雑度が高すぎる場合や、訓練データの量が不足している場合に起こりやすく、訓練時の損失は小さいのに検証データや本番データでの誤差が大きくなるという形で現れます。

実務でどう使うか

  • データ分割 ── 訓練・検証・テストの3セットに分割し、検証セットで汎化性能を確認しながら学習を進めます

  • 交差検証 ── データを複数の fold に分けて交互に検証に使うことで、限られたデータでも信頼性の高い評価が得られます

  • 正則化(L1/L2) ── 損失関数に重みの大きさへのペナルティを加え、モデルが訓練データだけに特化した複雑な重みを持つことを抑制します

  • ドロップアウト ── ニューラルネットワーク学習時にランダムにニューロンを無効化し、特定の経路への依存を防ぎます

  • 早期停止 ── 検証損失が改善しなくなった時点で学習を打ち切り、過学習が進む前にモデルを保存します
  • 関連する章

    Ch191, Ch196 で詳しく学べます。

    関連する用語

    この用語を学べるコース

    この用語を実際に使ってみよう

    チョットデキルなら、5分のレッスンで実際にコードを書いて学べます。

    コース一覧を見る