最終更新日:2026年8月21日
gk neural_network regularization
G検定トップ
> Early Stoppingとは?検証性能で過学習を防ぐ【G検定対策】
まず結論
Early Stopping(早期終了)は、検証データでの性能改善が止まったら学習を終了し、過学習を抑える方法です。
G検定では、
検証性能を監視して、学習を止める
と書かれていたらEarly Stoppingを疑います。
直感的な説明
学習を続ければ、訓練データへの当てはまりは良くなり続けることがあります。しかし途中から、訓練データを細かく覚えすぎて検証データでは性能が悪化することがあります。
訓練損失
→ 下がり続ける
検証損失
→ 下がる
→ ある時点から悪化
その前後で止める
→ Early Stopping
つまり、訓練性能ではなく汎化性能側を見て止めるのがポイントです。
定義・仕組み
一般的な流れは次のとおりです。
- 訓練データでパラメータを更新する
- 検証データで性能を確認する
- 検証指標が改善しなくなったら停止を検討する
- 最も検証性能が良かった時点のモデルを採用する
実装では、一度悪化しただけですぐ止めず、一定回数改善を待つ patience を設けることがあります。
重要なのは、テストデータを停止判断に使わないことです。テストデータは最終評価に残しておきます。
学習曲線を見ると、Early Stoppingの意味を理解しやすくなります。
いつ使う?(得意・不得意)
得意な場面
- エポック数を事前に決めにくい
- 学習を続けると過学習しやすい
- 検証性能を監視できる
注意点
- 検証データや監視指標が必要
- 偶然の変動ですぐ停止しない工夫が必要
- 早く止めすぎると十分に学習できない
Early Stoppingは過学習対策ですが、L1・L2のように損失関数へ重みの罰則を直接加える手法ではありません。
G検定ひっかけポイント
| 選択肢の表現 | 手法 |
|---|---|
| 重みに罰則項を加える | L1 / L2正則化 |
| ニューロンをランダムに無効化 | Dropout |
| 検証性能を見て学習を終了 | Early Stopping |
❌ テストデータの性能を見ながら停止する
テストデータを繰り返しモデル選択に使うと、最終評価としての独立性が失われます。停止判断には通常、検証データを使います。
❌ 検証損失が一度上がったら必ず即停止
実務では揺らぎがあるため、一定期間改善を待つことがあります。試験では細かな実装より、検証性能の悪化を見て過学習前後で止めるという目的を押さえます。
まとめ(試験直前用)
- Early Stopping=検証性能を見て学習を止める
- 目的は過学習を抑え、汎化性能を保つこと
- 停止判断にテストデータを使わない
- L1/L2のような罰則項追加ではない
- 「検証性能+停止」で即判断