機械学習 オーバーフィッティング(過学習)について
2016.5.31
お久しぶりです。橘です。
引き続き、機械学習について書いていきます。
前回、「次回は最尤推定法」という風にお伝えしましたが、要望があったことと「機械学習の弱点」は先におさえておくべきと考え、「オーバーフィッティング(過学習)」についてお話します。
オーバーフィッティングについて
機械学習 曲線フィッティングについて 後編 の記事でも少し触れましたが、オーバーフィッティングとは 「学習データには適合するけど、新たなデータを予測することができないモデルが出来てしまうこと」 をいいます。オーバーフィッティングが出来てしまう要因は機械学習の手法によって異なるため、前回までにご紹介した2乗誤差の場合を基に説明していきます。
オーバーフィッティングが起こる理由
例
最初に一つの例を上げます。深夜に思いついた例なので、突っ込みどころ満載かと思います。
A君・B君・C君は、「LPIC(Linux技術者認定試験)」のレベル1の資格
を受験しようとしています。二人とも それぞれに参考書を買って 同じ時間 勉強しました。これで完璧!
C君は無事合格しましたが、A君とB君は資格をとることはできませんでした。二人とも落ち込んでなにかブツブツいっているので、聴いてみました。
A君 「問題集は3問しかなかったけど完璧だったんだけどなぁ。。。。。」
B君「LPIC受かりたくて、LPICの問題の他に、フラワーアレンジメント・危険物取扱2種・大学入試・司法試験・秋田ふるさと検定の問題 をやったんだけどなぁ。。。。やっぱり簿記もやった方がよかったかなぁ。。。」
A君は、「こなした問題数の少なさ」にあります。
B君は、「必要のない資格試験の問題を解いてしまった」ことにあります。
補足: 対応表
補足として、例中の言葉は以降の説明で
例中の言葉 | 対応する言葉 |
---|---|
A君 | モデル1 |
B君 | モデル2 |
C君 | モデル3 |
参考書 | データ群 |
問題 | データ |
時間 | モデルの複雑さ |
LPICの問題 | 正常なデータ |
フラワーアレンジメント・危険物取扱2種・大学入試・司法試験・秋田ふるさと検定の問題 | 例外なデータ |
として説明していきます。
オーバーフィッティングが起こる理由その1 「学習データが足りない」
オーバーフィッティングは 「学習データが足りない」 ときによく起こります。
例で言うところの「A君の場合」ですね。
A君は、C君と同じ時間をかけて、「問題3問」を勉強しました。上の言葉の対応表で(少し強引ですが)読み替えると、
モデル1は、モデル3と同じモデルの複雑さで、3つのデータを学習した
ということになります。 3つのデータを必要以上に複雑に考えてしまったわけです。
ここで 「モデルの複雑さ」 とは実は、機械学習 曲線フィッティングについて 後編 でのMの値に大きさに当たります。モデルが複雑であればあるほど精密に予測できる反面、データが少ない場合は 勝手に モデルを複雑にしてしまい、本来得たいモデルとはかけ離れたモデルになってしまうことがあるのです。
対策としては、「データを十分に増やすこと」「十分なデータを基に、適切なモデルの複雑さを調べていく」ことが重要になります。
オーバーフィッティングが起こる理由その2 「学習データに異常なデータの割合が多い」
「学習データに異常なデータの割合が多い」 場合にも、オーバーフィッティングは起こり得ます。
例で言うところの「B君の場合」ですね。
B君は、C君と同じ時間をかけて、「LPIC、フラワーアレンジメント・危険物取扱2種・大学入試・司法試験・秋田ふるさと検定 etc.の問題」を勉強しました。
理由その1の時と同じように、言葉を置き換えてみると
モデル2は、モデル3と同じモデルの複雑さで、「正常なデータと多数の例外なデータ」を学んだ
となります。2乗誤差を使ってモデルに学習させる段階では、例外データが多数入っているとそれらが影響を受けてしまい、偏ったモデルが作成されてしまう場合があります。
これらの対策のために、学習によってモデルを作成するときに「クロスバリデーション(交差検証)」といった方法を使うことで、作成されたモデルの 正しさ を調べることが出来ます。
具体的な方法
具体的な対策方法に関しては、次回以降の機械学習の手法の紹介時に紹介していきます。
その前に今後の更新について
幸いなことに今までの記事を読んでくださった方々から様々な感想やご要望をいただいています。今のような 「できるだけ数学を噛み砕くスタイル」 は引き続き続けていきたいと思いますが、ところどころトピックとして 「ちょっとコアな数学部分」 であったり 「最近HOTなライブラリの使い方」 などもやっていきたいと思います。
次回予告
次回こそ、「最尤推定法」をご紹介します。
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterAWSを中心としたクラウドインフラやオンプレミス、ビッグデータ、機械学習などの技術ネタを中心にご紹介します。
Recommends
こちらもおすすめ
-
第18回情報科学技術フォーラム(FIT2019)に参加しています
2019.9.5
-
PythonやR言語で相関係数を計算する方法
2018.2.20
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 8 %割引になる!
『AWSの請求代行リセールサービス』
2023.01.15