機械学習における「過学習」の原因と回避法を解説

2020年06月08日

過学習とは

機械学習における過学習とは、訓練誤差は小さいにもかかわらず、汎化誤差(未知のデータを判定したときの誤差)が小さくならない状態をいいます。「オーバーフィッティング」や「過剰適合」とも呼びます。モデルが教師データセットにおけるパターンだけでなく、教師データそのものを学習しすぎてしまった状態です。過学習は、未知のデータを判定できない原因を作ってしまいます。

過学習のグラフ
出典: 訓練誤差と汎化誤差の理論計算(Qiita)

 

過学習の原因と回避法

AI(機械学習)を実装しようとする際に、過学習は誰もが直面する問題ですが、なぜ起きるのでしょうか。また、過学習を回避するためには、そのような分析手法があるのでしょうか。

過学習の原因はいくつか挙げられます。

1つ目は、重みの値が大きすぎることです。機械学習では、重みを小さい値に保つので、この場合は、汎化誤差を下げるために正則化(誤差パラメータのノルムによる正則化項を付け加えること)を使い、過学習を回避します。

正則化には、一部のパラメータの値を0にすることで、特徴選択を行う「L1正則化」と、パラメータの大きさに応じて0に近づけることで、汎化された滑らかなモデルを構築することができる「L2正則化」があります。L1やL2は、ノルム(移動距離)の種類のことをいいます。詳しくは、こちらの記事もご参照ください。

教師データの量が不十分でも過学習は起きます。画像を扱っている場合、データ拡張で比較的簡単にデータの不足を補うこともできます。大規模な機械学習プロジェクトの教師データでお困りの方は、当社の教師データ作成/アノテーションサービスについてお気軽にお問い合わせください。

他には、正則化(データの大きさを適切にスケーリングすること)やドロップアウト(ディープニューラルネットワークにおける、重みの更新の際に一定の割合でランダムに枝を無効化する手法)が過学習の回避法として挙げられます。サポートベクターマシン(SVM)の場合、特徴量の次元数が多いなら、カーネル法を使用することによって回避することも可能です。

AI開発に肝心な学習データを提供いたします

メディア掲載結果

    AI・機械学習の最新情報をお届けします!

    Lionbridge AIのブログで紹介している事例記事やトレンドニュースといったビジネスに役立つ情報はもちろん、オープンデータセット集なども合わせてメール配信しております。