変更要約: in-scope サービス網羅: 中核サービスの解説を追加
3.2学習・過学習・ハイパーパラメータ調整
うまく学習させる——過学習/未学習、バイアス/バリアンス、正則化/early stopping、ハイパーパラメータ調整(SageMaker Automatic Model Tuning)、交差検証——を理解します。
モデルが汎化する(未知データでも当たる)ように学習させます。鍵は過学習と未学習のバランスで、学習データと検証データの差から診断します。
3.2.1過学習と未学習
- 未学習(高バイアス):学習も検証も精度が低い。特徴量追加・モデル拡大・学習延長で対処。
- 過学習(高バリアンス):学習は高いが検証は低い。正則化・ドロップアウト・データ追加・early stoppingで対処。
- ハイパーパラメータ調整:学習率・木の深さ・正則化係数などを SageMaker Automatic Model Tuning で探索。
- 交差検証:データを分割して複数回評価し、汎化性能を安定して見積もる。
「学習◎・検証✕=過学習(正則化/データ追加/early stopping)」「学習も検証も✕=未学習(モデル拡大/特徴量追加)」「ハイパーパラメータ自動探索=SageMaker Automatic Model Tuning(ベイズ最適化)」 は MLS-C01 で頻出です。過学習=バリアンス、未学習=バイアスの対応も押さえます。
L1 正則化は不要な特徴量の係数を 0 にして特徴選択の効果があり、L2 正則化は係数を小さく抑えて過学習を緩和します。
MLS-C01 ではハイパーパラメータ探索の方式と、XGBoost/ニューラルネット特有の調整が問われます。SageMaker Automatic Model Tuning(AMT)の探索戦略には、ランダム探索(並列性が高く広く探る)、グリッド探索(離散候補を総当たり)、ベイズ最適化(過去の試行から有望領域を推定し効率的に収束)、Hyperband(早期に見込みの低い設定を打ち切り計算資源を有望設定に集中)があり、連続値が多く試行コストが高いならベイズ、反復学習で early stopping が効くなら Hyperband が有利です。探索範囲はログスケール指定(学習率など桁が効くもの)や、ウォームスタートで過去のチューニングを引き継ぐと効率化できます。XGBoost の主要 HP は、max_depth(木の深さ・大きいほど過学習)/eta(学習率)/subsample・colsample_bytree(サンプリングで過学習抑制)/min_child_weight・gamma(分割の保守性)/alpha・lambda(L1/L2 正則化)/num_round(ラウンド数+early stopping)で、過学習なら深さを下げ subsample を効かせ正則化を強めます。ニューラルネットでは学習率・バッチサイズ・エポック数・ドロップアウト率・層数/ユニット数が主で、学習率が大きすぎると発散、小さすぎると収束が遅い。汎化の見積もりには k 分割交差検証(時系列は時系列分割)を使い、データが少ないほど CV が重要です。学習曲線(学習/検証スコアをデータ量やエポックでプロット)を見て、両方低ければ未学習(バイアス)、乖離が大きければ過学習(バリアンス)と診断し、バイアスならモデル拡大/特徴追加、バリアンスならデータ追加/正則化/early stopping という対処に繋げます。
| 探索戦略 | 特徴 | 向いている状況 |
|---|---|---|
| グリッド探索 | 離散候補を総当たり | 候補が少なく離散 |
| ランダム探索 | 広く・並列性が高い | 次元が多く予算が限られる |
| ベイズ最適化 | 過去試行から有望領域を推定 | 連続値・試行コストが高い |
| Hyperband | 見込み薄を早期打ち切り | 反復学習・early stopping 可 |
シナリオ:XGBoost の検証 AUC が学習 AUC より大きく低く、過学習している。→ max_depth を下げ、subsample/colsample_bytree でサンプリングを効かせ、alpha/lambda(L1/L2)と gamma/min_child_weight で正則化を強める。num_round は大きめにして early stopping(検証指標が改善しなくなったら停止)を併用し、最適点で止める。これらを AMT のベイズ最適化で同時に探索する。
FAQ:Q. ベイズ最適化と Hyperband はどう選ぶ? A. 連続値が多く 1 試行が高コストならベイズ、反復学習で早期打ち切りが効くなら Hyperband。Q. 学習率はどう範囲指定する? A. 桁が効くのでログスケールで指定する。Q. データが少なく検証が不安定? A. k 分割交差検証で複数回評価し平均を見る(時系列は時間順分割)。
ひっかけ:「過学習を直すにはエポックを増やせばよい」は誤り。学習を延ばすほど過学習は悪化しうる。過学習にはデータ追加・正則化・ドロップアウト・early stopping。エポック増やモデル拡大が効くのは未学習(高バイアス)のとき。診断は学習/検証の乖離(学習曲線)で行い、症状に合った対処を選ぶ。
3.2.2この節のまとめ
- 過学習=正則化/early stopping/データ追加、未学習=モデル拡大
- 調整=SageMaker Automatic Model Tuning、評価=交差検証
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 学習データでは非常に高精度だが、検証データでは精度が大きく落ちる。何が起きていますか?
Q2. 過学習を抑える対策として適切でないものはどれですか?
Q3. ハイパーパラメータ(学習率や木の深さ)を効率的に自動探索したい。何を使いますか?

