過学習(オーバーフィッティング)

Overfitting

過学習(オーバーフィッティング、Overfitting)とは、機械学習モデルが訓練データに対して過度に適合してしまい、未知のデータに対する予測性能が低下する現象です。モデルが訓練データのノイズや偶然のパターンまで学習してしまうことで発生します。

過学習が起きる原因

過学習は主に以下の要因で発生します。モデルの複雑さに対して訓練データが少なすぎる場合、モデルのパラメータ数が多すぎる場合、学習回数(エポック数)が多すぎる場合、そして特徴量にノイズが多い場合などです。

過学習の見分け方

訓練データに対する精度(訓練誤差)は高いのに、検証データやテストデータに対する精度(汎化誤差)が低い場合、過学習が発生していると判断できます。学習曲線を描くと、訓練誤差と検証誤差の乖離が大きくなるのが特徴的です。

過学習の対策

過学習を防ぐための代表的な手法には、正則化(L1/L2正則化)、ドロップアウト、早期終了(Early Stopping)、データ拡張、交差検証、より多くの訓練データの収集、モデルの簡略化などがあります。これらの手法を適切に組み合わせることが重要です。

未学習(アンダーフィッティング)との違い

過学習が「訓練データに適合しすぎ」であるのに対し、未学習は「訓練データにすら適合できていない」状態です。適切なモデルは、過学習と未学習のバランスが取れた状態にあります。