最終更新日:2026年8月27日
gk machine_learning overfitting regularization
G検定トップ
> 過学習とは?汎化性能が落ちる原因と対策【G検定対策】
まず結論
過学習(Overfitting)とは、訓練データに合わせすぎて、未知データに対する性能が落ちる状態です。
G検定では、次の組合せが重要です。
訓練性能は高いのに、検証・テスト性能が悪い → 過学習
直感的な説明
過去問の答えを丸暗記して、少し聞き方が変わると解けなくなる状態に近いです。
訓練データ
→ よく当たる
未知データ
→ 当たらない
モデルが本質的な規則だけでなく、訓練データ固有のノイズや偶然まで覚えてしまうと、汎化性能が下がります。
定義・仕組み
過学習では、訓練データに対する誤差は小さくても、検証データやテストデータに対する誤差が大きくなります。
起きやすい条件
- モデルが必要以上に複雑
- 学習データが少ない
- ノイズの多いデータを細かく拾いすぎる
- 学習を続けすぎる
学習曲線で見る
典型的には、学習が進むにつれて訓練誤差は下がり続ける一方、検証誤差は途中から悪化します。
訓練誤差 ↓
検証誤差 ↑
→ 過学習のサイン
これは「訓練データへの適合」と「未知データへの汎化」が別であることを示しています。
いつ使う?(得意・不得意)
ここでは、過学習を防ぐ代表的な考え方を整理します。
正則化
L1・L2正則化などで、モデルが複雑になりすぎるのを抑えます。
早期終了(Early Stopping)
検証性能が悪化し始めた段階で学習を止めます。
Dropout
ニューラルネットワークの学習時に一部ユニットをランダムに無効化し、特定の経路への依存を弱めます。
データを増やす
学習データを増やしたり、画像などではデータ拡張を使ったりすることで、特定サンプルへの過度な適合を抑えます。
モデルを単純化する
必要以上に複雑なモデルを避けることも有効です。
G検定ひっかけポイント
- 学習誤差が低いだけでは「良いモデル」とは言えない
- 過学習を見るときは 訓練性能と検証性能の差 を見る
- 正則化、早期終了、Dropout、データ拡張は代表的な過学習対策
- モデルを複雑にすれば必ず性能が良くなるわけではない
- 学習回数を増やせば必ず改善するわけではない
未学習(Underfitting)との違い
過学習
→ 訓練には強い / 未知データに弱い
未学習
→ 訓練データに対しても十分に学べていない
過学習と未学習を逆にしないことが重要です。
まとめ(試験直前用)
- 過学習 = 訓練データに合わせすぎて汎化性能が落ちる
- 訓練誤差が低くても、検証誤差が高ければ注意
- 原因はモデル複雑度・データ不足・学習しすぎなど
- 対策は正則化・早期終了・Dropout・データ増加など
- 未学習は「訓練データにも十分適合できていない」状態