過学習とは?
モデルが訓練データの細かなノイズまで覚えてしまい(丸暗記してしまい)、新しいデータへの性能が落ちる状態です。医療AIでは内部検証では高性能でも、別施設の外部検証では崩壊する原因の1つです。
— Interactive Overfitting Demo
機械学習モデルを複雑にすればするほど、訓練データを正確に予測できるようになります。しかし、未知のデータに対する予測性能はむしろ悪化することが多々あります。これが 過学習(overfitting)です。教科書で何度説明されても直感が湧きにくいこの過学習を、多項式回帰の次数などを実際にスライダーで動かしながら体感するのが本デモの目的です。訓練データ(青)とテストデータ(緑)の違いを体験してください。
まず、右の操作パネルから、多項式の次数を 1〜3 に下げて観察してください。次に、少しずつ次数を上げて、最終の15に上げてみてください。訓練 MSE は改善傾向である一方で、テスト MSE は一旦改善するものの、その後上昇することがわかります。つまり、U字型を描くのが見えるはずです。これが過学習です。
次数を上げると、青い訓練データへの当てはまりが強くなる。
// TIP 訓練 MSE が小さくなっても、テスト MSE が悪化していたら過学習。
モデルが訓練データの細かなノイズまで覚えてしまい(丸暗記してしまい)、新しいデータへの性能が落ちる状態です。医療AIでは内部検証では高性能でも、別施設の外部検証では崩壊する原因の1つです。
予後予測モデルで過学習が起こると「この病院の過去データには合うが、その病院での未来や別の病院の予測には使えない」モデルになってしまいます。AUC だけ高く見えても、外的妥当性が低い可能性が残るので危険です。
訓練性能と検証性能の差を、正則化・交差検証・外部検証の観点で整理します。
本デモで体感した過学習を、目的関数のペナルティで抑える手法。Lasso / Ridge / Elastic Net の考え方を整理します。
過学習以外で、内部検証では高性能なのに外部検証で崩れる原因を整理します。
過学習を見抜く評価指標体系。AUC、Calibration、外部検証、Decision Curve を整理します。