AI(人工知能)用語集

ゼロから理解!AI(機械学習)モデルの構築でよくある問題過学習とは

過学習、過剰適合、オーバーフィッティング

自分が一生懸命時間をかけて作ったものが「全く役に立ちません」なんて状況に陥ったら辛いですよね。これと似たように、AI(機械学習)を実装しようとする際に多くの方が陥ってしまう問題に「過学習」があります。これは「過剰適合」、「オーバーフィッティング」と呼ばれており、このよくある問題を解決しない限り実用的なAI(機械学習)を作ることはできません。

そこで今回は、「過学習」とは何か?について説明していきましょう。

一言で言うと「過学習」とは・・・

モデルが「学習に使ったデータに対してはきちんと予測できるけど、知らないデータに対しては全然当たらない」という実用性を全く伴っていない状態のこと。

過学習とは、モデルがぐにゃぐにゃに複雑になってしまっている状態

過学習を理解するには、まず機械学習の理解からしていく必要があります。機械学習とは、AI(人工知能)を実現するために現在非常に世間から注目を集めている技術の一つです。

そして機械学習をさらに詳しく説明すると、コンピュータがデータからデータに潜むパターンや傾向を見つけ出して、その結果を元に未知のデータに対して予測を行なっていくというものです。この、データに潜むパターンや傾向を数式で表現したものを「モデル」と呼びます。

例えば、次のようなデータがあった場合に、、

愛の深さと結婚経過年数のグラフ

このようにデータの傾向やパターンを表現する直線が引けそうですよね。

愛の深さと結婚経過年数の関係を示したグラフ

これがモデルの学習でやっていることです。

このデータの傾向やパターンを表現している線がモデルなのですが、このように適切に線(モデル)を引くためには、モデルにデータを学習(データからパターンを掴ませていく)させることが必要です。

そして、モデルを学習させるために使うデータを「訓練(学習)データ」と言い、訓練データの他にはモデルが未知のデータに対しても予測できるのかを確かめるための「テストデータ」があります。

訓練データは、学習データ、トレーニングデータ、教師データなど様々な呼名があります
そして過学習とは、学習させたモデルが学習(訓練)データに対してしか適合しておらず、未知のデータ(テストデータ)には適合していない状態、つまり未知のデータをうまく予測することができない状態のことを言います。
イメージで説明すると、次のようなデータがあった場合には、、、
※目的変数:求めたいもの
※説明変数:目的変数に作用する変数(ケースごとに変わる数)
学習データとテストデータのイメージ
このように線を引く(モデルを構築する)のが良さそうですよね。
学習データとテストデータからモデルが予測をしているイメージ
しかし、モデルが訓練データに対してしか適合しておらず、未知のデータ(テストデータ)には適合していない過学習の状態は次のイメージです。
過学習している状態のイメージ
上の図は、学習データの予測はできているけれど、テストデータに対する予測は全くできていません。このように過学習という状態は、次のように学習データにだけ適合している状態です。過剰に学習データを学習しているため、「過学習」や「過剰適合」、「オーバーフィッティング」と呼ばれています。

テストデータ(未来の値)を予測しても全く当たらないモデルでは、全く使い物になりませんので、機械学習モデルを作る際には過学習に陥らないように避ける必要があります。

過学習に対する代表的な対策はこちら↓

まとめ

つまり、過学習とは

モデルの形が複雑になって学習データにだけ適合してしまっており、全く実用性を伴っていない状態のこと

 

つっちー
つっちー

AI(人工知能)って「なにそれ美味しいの?」ってレベルだった僕が、AIエンジニアを目指してステップを踏んだり踏まれたりしている記事を書いてます。よかったら読んでみてください(実話)。

「歩く負債」と言われた僕がゼロからAIエンジニアになる為のステップを実践してみた!
みんなのAI(人工知能)用語集

コメントをどうぞ

トップへ戻る
タイトルとURLをコピーしました