変更要約: in-scope サービス網羅: モデル開発/AIサービス(SageMaker AI/Bedrock/Q/Comprehend/Kendra/Personalize/Fraud Detector/Rekognition/Polly/Lookout/HealthLake/A2I/CodeGuru)を追加
2.2ハイパーパラメータ調整と過学習対策
SageMaker Automatic Model Tuning によるハイパーパラメータ探索、過学習(オーバーフィット)と未学習(アンダーフィット)、正則化やデータ追加による対策を理解します。
モデルの性能はハイパーパラメータで大きく変わります。また、学習しすぎ(過学習)と学習不足(未学習)のバランスを取ることが重要です。
2.2.1チューニングと過不足
- Automatic Model Tuning:ベイズ最適化やランダム探索で、指定したメトリクスを最大化/最小化するハイパーパラメータを探す。
- 過学習(オーバーフィット):訓練データに適合しすぎて未知データで性能が落ちる。対策=正則化・ドロップアウト・データ追加・早期終了。
- 未学習(アンダーフィット):モデルが単純すぎる/学習不足。対策=モデルを複雑化・特徴量追加・学習を増やす。
「ハイパーパラメータの自動探索=Automatic Model Tuning」「訓練は高精度だがテストが低い=過学習(正則化/データ追加/早期終了)」「両方低い=未学習」 は MLA で頻出です。
チューニングは「性能をハイパーパラメータで最適化しつつ、過学習/未学習のバランスを取る」作業です。SageMaker Automatic Model Tuning(AMT) は探索空間(学習率・木の深さ・正則化係数など)を定義し、ベイズ最適化(少ない試行で効率的)や ランダム/グリッド/Hyperband(早期に見込みの低い試行を打ち切る)で、検証メトリクスを最大化/最小化する組み合わせを探します。性能の崩れ方は バイアス-バリアンス で理解します:未学習(高バイアス) は訓練もテストも低い → モデルを複雑化・特徴量追加・学習を増やす。過学習(高バリアンス) は訓練が高くテストが低い → 正則化(L1/L2)・ドロップアウト・データ追加/データ拡張・早期終了 で対処します。学習曲線(訓練/検証の推移)で診断し、検証スコアが悪化し始めたら 早期終了 で止める——過学習防止とコスト削減を同時に達成できます。AMT は学習ジョブを多数起動するため、並列度と総ジョブ数でコストが決まる点にも注意します。
| 症状 | 状態 | 対策 |
|---|---|---|
| 訓練もテストも低い | 未学習(高バイアス) | 複雑化・特徴量追加 |
| 訓練は高くテストが低い | 過学習(高バリアンス) | 正則化/データ追加/早期終了 |
| 最適なハイパーパラメータ探索 | — | AMT(ベイズ最適化) |
シナリオ:訓練精度98%・テスト72%で本番が不安定。 典型的な過学習。対策として L2 正則化とドロップアウトを入れ、データ拡張で実効データ量を増やし、検証監視で早期終了。ハイパーパラメータは Automatic Model Tuning(ベイズ最適化)で探索し、Hyperband で見込みの低い試行を打ち切ってコストを抑えます。
Q. ハイパーパラメータ自動探索? AMT(ベイズ最適化)。Q. 訓練高・テスト低は? 過学習→正則化/データ追加/早期終了。Q. 両方低いは? 未学習→複雑化/特徴量追加。Q. 学習を効率よく止める? 早期終了。Q. 試行を賢く打ち切る? Hyperband。
混同に注意:
①過学習に「さらに複雑化して学習継続」は逆効果——正則化/データ追加/早期終了。
②未学習に正則化を強めるのも逆効果(さらに単純化される)。
③検証データでチューニングしすぎると検証に過適合——最終評価は触れていないテストで。
④AMT のジョブ数×並列度がコストを左右する。
検証データの性能を監視し、改善が止まったら学習を止める「早期終了(early stopping)」は、過学習防止とコスト削減の両方に有効です。
2.2.2この節のまとめ
- ハイパーパラメータ=Automatic Model Tuning で探索
- 過学習=正則化/データ追加/早期終了、未学習=複雑化
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. ハイパーパラメータの最適な組み合わせを自動で探索したい。SageMaker の機能はどれですか?
Q2. 訓練データでは高精度なのにテストデータで性能が大きく落ちる。最も考えられる状態はどれですか?
Q3. 過学習を抑える対策として適切でないものはどれですか?

