過学習とは?起きる原因・さける対策、なぜ良くないのかまで初心者向けにわかりやすく解説!
![overfitting](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-48.jpeg)
INDEX
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-48.jpeg)
機械学習をする上で、気をつけなければならないことがあります。
それは「過学習」です。
近年の機械学習は、ビジネスや研究において進化を遂げています。
こんな悩みの方はいませんか?
「過学習ってなに?」
「どうしたらさけられるの?」
「起きるとなぜ良くないの?」
そんなあなたに。
本記事では、初心者向けに「原因・対策」をわかりやすく解説します。
過学習とは
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-52.jpeg)
学習しすぎた結果、予測がうまくできなくなった状態です。
例えば、こんな経験はありませんか?
「食べ過ぎてしまった…。」
「期限が過ぎてしまった…。」
なんでも「過ぎてしまう」とよくないですよね。
AIの分野にも「同じような現象」があります。
より詳しく説明すると、訓練データでは正解率が良い、未知データでは正解率が悪いという状態です。。
訓練データと未知データとは?
・元となるデータのことを(訓練データ)
・新しいデータのことを(未知データ)
用意された元データで正解率がよくても、新しいデータになると正解率が悪かったら運用では役に立ちません。
過学習を起こさずに、どんなデータを入れても正しい予測をしてくれるAIが理想です。
機械学習とは
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-49.jpeg)
データを分析する方法の1つ。
データからコンピューターが自動で学習して、データの背景にあるルールやパターンを発見する方法です。
機械学習の類義語としては、「人工知能」や「ディープラーニング」があります。
人工知能を実現するデータ分析技術の1つが機械学習です。
機械学習の代表的な分析手法がディープラーニングといわれています。
機械学習で重視される点は、予測の精度です。
より正しく予測できているかどうかを重視します。
そのため、未知のデータを予測できていない過学習の状態は良くないです。
過学習の原因
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-46.jpeg)
過学習が起こる原因は3つ。
適切な対策をするためには、原因を理解することが重要です。
3つの点を詳しく解説していきます。
・データが不足している
過学習というと、多すぎることによって起こると思われがちです。
実は、データが少ないことが原因で過学習は起きやすくなります。
学習データが少ない場合、限られたデータからモデルを作成しなければなりません。
その結果、偏ったデータのモデルになってしまって過学習が起こります。
データ分析を実現するには、十分な量のデータを学習させる必要があります。
・データの学習が偏っている
パターンが限られるデータの場合、正しい分析ができないため過学習が起こります。
データの量だけではなく質も重要です。
例えば、公園で6歳から70歳の男女を調査をしました。
しかし、呼びかけて集まった人は25歳だけの情報です。
作成されたモデルは25歳の人に限定されます。
結果、フラットな分析を行うためには多様で豊富なデータが必要です。
・モデルが複雑になっている
目的を明確にして、データを多く学習させることが重要です。
複雑なデータからモデルを作成した場合、過学習が起きる可能性があります。
複雑なモデルとは、不必要なデータや偏ったデータが多い状態です。
目的に対して、モデルが複雑ではないかを確認しましょう。
過学習をさける対策
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-47.jpeg)
過学習をさける対策は3つあります。
・正則化
・データの増加
・アンサンブル手法
それぞれのモデルについて、初心者向けに説明します。
正則化
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-43.jpeg)
正則化とは、複雑になったモデルをシンプルにする手法。
過学習対策に使える汎用性の高い手法です。
1番有名な手法なので、覚えることをオススメします。
正則化には2つの手法があります。
・L1正則化:複数の説明変数の中から、必要のない説明変数の影響を0にします。
複数の説明変数の中から、必要のない説明変数の影響を0にします。
・L2正則化:多くない場合、複雑にさせている要素をシンプルにすることで防ぎます。
説明変数自体の数は減らさない方法。
偏回帰係数が大きすぎて偏りが出ているときにオススメです。
L1正則化とL2正則化の使い方
・データ数が多いか少ないか
・説明変数の数が多いか少ないか
L1正則化は、基本的にデータ数や説明変数が多い場合に使います。
L2正則化は、データ数と説明変数が少ない場合に使います。
データの増加
サンプルの量を増やすことが重要です。
データが少ない場合、情報が足りずに過学習になる可能性が高くなります。
ただ量を増やすだけではなく、質にもこだわることが重要です。
アンサンブル手法
複数のモデルを組み合わせて使う手法です。
過学習を避けつつ、モデルの向上に貢献します。
アンサンブル手法には3つ。
・バギング:複数のモデルでデータを学習し、それぞれを平均したり多数決をとる手法です。
・ブースティング:複数のデータから、前の学習結果を次の学習に影響させる手法です。
・スタッキング:複数のモデルを1段目から2段目と、積み上げていく手法です。
過学習に気づく方法
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-42.jpeg)
対策できなかった場合には、早い段階で過学習に気づく必要があります。
気づかない場合は、役に立たないモデルが量産される可能性があり危険です。
過学習に気づく方法を4つ解説します。
訓練データ・検証データ・テストデータ
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-50.jpeg)
・訓練データ:モデル構築に使う
・検証データ:モデルの精度を改善する
・テストデータ:予測モデルをテストする
訓練データを使って予測モデルを作成
↓
検証データを用いて改善を行い、モデルの精度を高める
↓
最終的なモデルをテストデータでチェック
検証とテストの二段階認証のような形で、過学習の状態に気づきやすくなります。
過学習を見分ける方法は以下の3つです。
ホールドアウト法
ホールドアウト法とは、訓練データ・検証データ・テストデータを分割してモデルを作成するごとに検証をはさみながら分析する手法です。
データ分割は1通りしかないため、分割がうまくいかないとデータ傾向に偏りが出る可能性があります。
全てに使えない点がデメリットです。
ホールドアウト法は、実装がかんたんでコンピューターが計算する負担も少ないため最もスタンダードな手法。
データ数が10万以上でコンピューターのスペックが高くない場合は、ホールドアウト法がオススメです。
用意したデータを訓練データにしてモデルを作成し、テストデータを未知データと見立てることでモデルが未知データをどれくらい予測できているのかを評価します。
データの分割は、訓練データ:テストデータ・70:30が一般的です。
過学習の判断は、訓練データとテストデータにどれくらい予測精度があるのかを比較して行います。
交差検証法
交差検証法はホールドアウト法と同様に、訓練データ・検証データ・テストデータを分割して判断する手法です。
ホールドアウト法との違いは、データ分割の種類です。
ホールドアウト法が1つの分割に対して、交差検証法では複数の分割方法を試して平均を取ります。
交差検証でよく使われる手法は「K‐分割交差検証」です。
K-分割交差検証法とは、元データをK個のデータに分割します。
1つはテストデータ、残りは訓練データとしてモデルを構築する方法です。
・メリット
検証するデータが重ならない為、ホールドアウト法を繰り返すよりも信頼性が高いです。
・デメリット
元データが多すぎるため、K個の検証に時間と計算負荷がかかります。
時間と計算負荷に余裕がある場合はオススメです。
学習曲線
学習曲線とは、訓練データと検証データへの精度を表すものです。
学習曲線から2点が明らかになります。
・過学習が起きていないか
・サンプル数が不足していないか
例えば、
訓練データでは高い精度を出していたとしても、検証データと曲線の違いが大きい場合は過学習の可能性が高いです。
違いが激しすぎる場合は、予測モデルとして使えないことを意味します。
過学習はなぜ良くないのか?
過学習の原因から対策、気づく方法を解説してきました。
あらためて過学習はなぜよくないのか?
過学習が行われると、未知のデータ分析が正しく行えなくなります。
AIが学習プロセスで取得したデータに過剰にフィットするためです。
過学習の対義語で未学習があります。
分かりやすくするために、比較してみましょう。
特徴は以下の通りです。
指標 | 過学習 | 未学習 |
訓練データでの性能 | 高い | 低い |
テストデータでの性能 | 低い | 低い |
モデルの複雑さ | 高い | 低い |
データのノイズと影響 | 大きい | 中 |
過学習と未学習の2つの違い
・過学習の場合、データが複雑すぎる場合に起こる
・未学習の場合、データが単純すぎる場合に起こる
・過学習はデータやノイズの外れ値に敏感
・未学習はデータや外れ値を無視する
過学習がおきていると、役に立たないモデルばかり量産されてしまい悪循環に陥ります。
そのため、過学習を対策したり気づく方法を実践することが大切です。
過学習の具体例
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-45.jpeg)
過学習は新しいデータへの適応が低いです。
これによりビジネスにおいて、大きな損失になる可能性があります。
具体例を解説していきます。
医療診断AIが特定の症状やノイズ、外れ値しか識別できなくなり多くの患者を見逃します。
例えば、コロナ患者の咳をした60歳男性しか識別できないとなれば大変な事態になるでしょう。
他の多くの症状と年代の患者が識別できなくなります。
まとめ
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-51.jpeg)
本記事では、初心者向けに「原因・対策」をわかりやすく解説しました。
いかがでしたでしょうか?
過学習は機械学習をするうえで、避けては通れない問題です。
こんな悩みの方はいませんか?
「学習って人間でもやればやる程いい気がしてたのですが…。」
学習っていいイメージしかないですよね。
実は、問題:答え:解法を「暗記」してしまった。
この状態を過学習と呼びます。
人間で例えると問題を繰り返し5回したので、考えなくても答えが出てくる感じです。
知っている問題に対しては、最適化しているので高速で答えが出ます。
しかし、未知の問題を考える知恵はないのでAIシステムとしては使い物にならないです。
1 + 1=2 (学習済みのデータ)知っている問題の場合は高速で出ます。
1+2=…。(未知のデータ)知らないデータの場合は答えが出ません。
過学習を解消した場合は?
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2023/12/image-44.jpeg)
「知識として答えを出すこと、未知の問題を考える知恵の両方を搭載したAI」になります。
近年AIの技術が増えてきて、今後さらに流れが加速するといわれています。
紹介した手法を参考に過学習の理解を深めていただけたら幸いです。
さらに、今注目を集める生成AIリスキリングの第一歩を。生成AIパスポートとは?
![](https://gen-ai-media.guga.or.jp/wp-content/uploads/2024/02/ADEFED91-AC33-4855-A520-9573D6C3F26F-1024x576.jpg)
生成AIパスポートは、一般社団法人生成AI活用普及協会(GUGA)が提供する、AI初心者のために誕生した、生成AIリスクを予防する資格試験です。AIを活用したコンテンツ生成の具体的な方法や事例に加え、企業のコンプライアンスに関わる個人情報保護、著作権侵害、商用利用可否といった注意点などを学ぶことができます。
⽣成AIの台頭により、AIはエンジニアやデータサイエンティストといった技術職の方々だけではなく誰もがAIを使えるようになりました。今、私たちがインターネットを当たり前に活用していることと同様に、誰もが生成AIを当たり前に活用する未来が訪れるでしょう。
そのような社会では、採用や取引の場面で、生成AIを安全に活用できる企業・人材であることが選ばれる前提条件になり「生成AIレベルの証明」が求められることが予測できます。生成AIパスポート試験に合格すると、合格証書が発行されるため、自身が生成AIを安全に活用するためのリテラシーを有する人材であることを、客観的な評価として可視化することが可能です。
ぜひあなたも生成AIレベルを証明し「生成AI人材」に仲間入りしましょう!