0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】機械学習の過学習に関して

Posted at

機械学習の目的は汎化性能を上げることです。訓練データで学習モデルを作り、そのモデルがテストデータや未知のデータに対して高い精度で予測できると、汎化性能が良いと言えます。

訓練データに適合しすぎると過学習の状態になり、汎化性能が悪くなります。

例えば、説明変数が100個あるデータに対して、訓練データの正解率が95%、テストデータの正解率が60%だと、過学習と言えます。次のグラフの黄色い線のように、訓練データに過剰に適合しすぎて、汎化性能が悪くなっています。
image.png

この場合は主成分分析の次元削減で説明変数を減らしたり、他のアルゴリズムを採用して次のように適合させる必要があります。
image.png

また、説明変数が極端に少ない場合など、モデルが単純すぎると適合不足になります。

例えば、説明変数が1つしかないデータに対して、訓練テストの正解率が60%、テストデータの正解率が60%だと適合不足と言えます。この場合は説明変数を2乗、3乗するなどして、説明変数を増やす必要があります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?