スポンサーリンク

過学習とは

過学習

機械学習において、訓練データには正しく答えられるが、未知の一般データに対しては正しく答えられない、汎化できていない状況を指します。

過学習になると、accuracyとlossは、図のようになります。青のTrainingではaccuracyが上がり、lossが下がっているのが分かります。それに対して、オレンジのValidationではaccuracyが上がらず、lossは上がっているのが分かります。典型的な過学習のグラフになります。
過学習はovertrainingですが、過剰適合(overfitting)という言葉も使われます。

過学習対策

過学習に対しては、いくつか対策が考えられますが、画像分類のディープラーニングでは、データ拡張とドロップアウト層導入が対策として効果的です。特に、データ拡張に回転が入っていないために過学習になることが多々ありますので注意しましょう。あとは、単純に学習用データが少ないことが原因のこともあります。

他にも対策として、バッチノーマライゼーションを挟むことで改善されることがあるようです。

まとめ

過学習が発生すると、まともに推論ができなくなってしまいます。まずは、データを増やしたり、データ拡張したりで、入力データに変化を与えることを考えましょう。次にドロップアウトやバッチノーマライゼーションの導入を検討しましょう。(ただし、ドロップアウトとバッチノーマライゼーションの同じ層での併用は、逆効果のようです。<https://arxiv.org/abs/1801.05134>)

タイトルとURLをコピーしました