過学習(オーバーフィッティング)とは、AIや機械学習モデルが訓練用データを学習しすぎてしまい、未知の新しいデータに対して正しく予測や判断ができなくなる現象です。学習データに対しては非常に高い精度を示しますが、実運用での汎用性が低下します。これを防ぐために正則化やドロップアウトなどの対策が行われます。
過学習(オーバーフィッティング)とは
過学習とは、AIモデルが訓練データを学習しすぎることで、未知のデータに対する予測性能(汎用性)が著しく低下してしまう現象のことです。
詳しく解説
機械学習モデルは、与えられた訓練データの特徴やパターンを抽出して予測ルールを構築します。しかし、モデルの表現力が過剰に高かったり、訓練データに雑音(ノイズ)や偏りが含まれていたりすると、モデルはそのノイズまで完璧に記憶してしまいます。その結果、訓練データに対する誤差は極めて小さくなりますが、実際の運用環境で新しいデータが入力された際に適切な予測ができなくなります。AI開発においては、訓練精度と未知のデータへの対応力のバランスをとることが極めて重要です。
具体例・使われ方
例えば、犬の種類を識別するAIを作る際、茶色のトイプードルの写真だけを使って過度に学習させると、「犬とは茶色くて小型の動物である」という極端なルールを学習してしまいます。その結果、黒い犬や大型犬の写真を見せたときに「犬ではない」と誤判定してしまいます。また、株価予測モデルが過去の特定の日の突発的な変動まで完璧に再現しようとし、未来の株価予測で大きな誤差を出してしまうケースも該当します。
似た用語との違い
過学習と対比される概念に「未学習(アンダーフィッティング)」があります。未学習はモデルの能力不足や学習不足により、訓練データの特徴すら十分に捉えられていない状態を指します。また、「汎化」は未知のデータに適応できる能力を意味し、過学習は汎化性能が低い状態と言えます。
注意点
訓練データにおける正解率が高いからといって、必ずしも優秀なモデルとは限りません。テストデータを用いた評価を行わずに運用を開始すると、実務で予期せぬ誤判定が多発する危険があります。過学習を防ぐには、正則化の適用、ドロップアウトの導入、データ拡張によるデータの補強、学習を途中で止める早期終了などの対策が必要です。