過学習(オーバーフィッティング)は、モデル が 学習に使ったデータに慣れすぎて、未知の新しいデータに対してうまく働かなくなる 状態です。機械学習で、もっとも気をつけるべき落とし穴の1つです。
たとえるなら、過去問を丸暗記して、答えの番号まで覚えてしまった状態です。同じ問題なら満点でも、少し形を変えた本番問題には対応できません。モデルも、学習データの細かなクセやノイズまで覚え込むと、応用が利かなくなります。
過学習を見つけ、防ぐには、次のようにします。
- データセット を分ける … 学習用と、実力を測る検証用に分ける。学習データでは高得点なのに検証データで悪ければ、過学習のサイン。
- モデルを複雑にしすぎない … 表現力が高すぎると、細部まで覚え込みやすい。
- データを増やす・水増しする … 多様な例に触れさせる。
- 正則化などの工夫 … 過度な作り込みにペナルティを与える。
逆に、単純すぎてデータの傾向すら捉えられない状態を「未学習(アンダーフィッティング)」といいます。この両極端の間で、ちょうど良いバランスを見つけることが、良いモデル作りの核心です。