4.1
モデル選択
まとめ
- 交差検証(K-Fold/層化K-Fold/Nested CV)による汎化性能の推定手法を学ぶ。
- 学習曲線・検証曲線を使ったモデル挙動の可視化と診断方法を身に付ける。
- AIC/BICなどの情報量規準で、統計モデルの複雑さとフィットのバランスを評価する。
直感 #
「どのモデルがもっとも良いか」を公平に比較するには、学習に使っていないデータで性能を測る必要がある。データの分割方法を誤ると過学習を見逃し、本番環境で精度が大幅に低下する。このチャプターでは、データ分割・検証曲線・情報量規準という3つの視点からモデル選択の基本を体系的に押さえる。
詳細な解説 #
このチャプターで学べること #
- ホールドアウトとK-Fold交差検証の違い、層化分割が必要な場面の判断基準
- ネストした交差検証でハイパーパラメーター探索と汎化性能推定を同時に行う方法
- 検証曲線によるハイパーパラメーターの影響の可視化と過学習の診断
- 学習曲線を使ったサンプルサイズの効果の把握と追加データ収集の判断
- AIC・BICによる統計モデルの比較と、交差検証との使い分け
これがわかるとできること #
- データ特性(クラス不均衡・時系列性・サンプル数)に応じた検証戦略を設計できる
- 過学習・過少学習の兆候を曲線から読み取り、改善の方向性を判断できる
- モデルの複雑さとフィットのトレードオフを定量的に評価できる
手法間の関係マップ #
graph LR
CV["交差検証"] --> KF["K-Fold"]
KF --> SKF["層化 K-Fold"]
KF --> NCV["Nested CV"]
VIS["可視化診断"] --> LC["学習曲線"]
VIS --> VC["検証曲線"]
IC["情報量規準"] --> AIC["AIC"]
IC --> BIC["BIC"]
手法クイックリファレンス #
| 手法 | 目的 | 計算量 | 推奨場面 |
|---|---|---|---|
| 交差検証 | 汎化性能の推定 | 中 | モデル比較のベースライン |
| 層化 K-Fold | クラス比率を保持した分割 | 中 | 不均衡データの検証 |
| Nested CV | 探索と評価の分離 | 高 | HP探索+汎化推定の同時実行 |
| 学習曲線 | サンプル数の効果の把握 | 中 | データ追加の判断 |
| 検証曲線 | HPの影響の可視化 | 中 | 過学習・過少学習の診断 |
| AIC / BIC | 情報量規準によるモデル比較 | 低 | 統計モデルの選択 |
| Optuna | ベイズ最適化によるHP探索 | 高 | 大規模なHP空間の効率的探索 |
学習の進め方 #
- まず交差検証と層化K-Foldでデータ分割の基本を理解する
- 次に検証曲線と学習曲線で、モデル挙動の可視化手法を押さえる
- ネストした交差検証で、探索と評価を分離する設計パターンを学ぶ
- 最後にAIC・BICで、交差検証を使わないモデル比較の手法を確認する
まとめ #
このチャプターでは、交差検証によるデータ分割・学習曲線/検証曲線による診断・情報量規準によるモデル比較の3つの柱でモデル選択を学んだ。 過学習と過少学習を正しく見分け、データ特性に応じた検証戦略を設計してモデルの汎化性能を公平に比較できるようになることがゴールである。