自分が一生懸命時間をかけて作ったものが「全く役に立ちません」なんて状況に陥ったら辛いですよね。これと似たように、AI(機械学習)を実装しようとする際に多くの方が陥ってしまう問題に「過学習」があります。これは「過剰適合」、「オーバーフィッティング」と呼ばれており、このよくある問題を解決しない限り実用的なAI(機械学習)を作ることはできません。
そこで今回は、「過学習」とは何か?について説明していきましょう。
一言で言うと「過学習」とは・・・
過学習とは、モデルがぐにゃぐにゃに複雑になってしまっている状態
過学習を理解するには、まず機械学習の理解からしていく必要があります。機械学習とは、AI(人工知能)を実現するために現在非常に世間から注目を集めている技術の一つです。
そして機械学習をさらに詳しく説明すると、コンピュータがデータからデータに潜むパターンや傾向を見つけ出して、その結果を元に未知のデータに対して予測を行なっていくというものです。この、データに潜むパターンや傾向を数式で表現したものを「モデル」と呼びます。
例えば、次のようなデータがあった場合に、、
このようにデータの傾向やパターンを表現する直線が引けそうですよね。
これがモデルの学習でやっていることです。
このデータの傾向やパターンを表現している線がモデルなのですが、このように適切に線(モデル)を引くためには、モデルにデータを学習(データからパターンを掴ませていく)させることが必要です。
そして、モデルを学習させるために使うデータを「訓練(学習)データ」と言い、訓練データの他にはモデルが未知のデータに対しても予測できるのかを確かめるための「テストデータ」があります。
※説明変数:目的変数に作用する変数(ケースごとに変わる数)
テストデータ(未来の値)を予測しても全く当たらないモデルでは、全く使い物になりませんので、機械学習モデルを作る際には過学習に陥らないように避ける必要があります。
過学習に対する代表的な対策はこちら↓
まとめ
つまり、過学習とは
<参考>
AI(人工知能)って「なにそれ美味しいの?」ってレベルだった僕が、AIエンジニアを目指してステップを踏んだり踏まれたりしている記事を書いてます。よかったら読んでみてください(実話)。
コメントをどうぞ