スポンサーリンク

【応用情報技術者試験】過学習

過学習とは、機械学習モデルが訓練データに過剰に適合し、訓練データ上では高い精度を示すものの、未知のデータに対する予測精度(汎化性能)が低下してしまう現象です。これは、訓練データに存在するノイズや特定のパターンまで学習してしまった結果、新しいデータにうまく対応できなくなるために起こります。 

原因

  • データ不足: 訓練データの量が少ないと、モデルがデータの特徴を十分に捉えきれず、ノイズまで学習してしまう可能性があります。
  • モデルが複雑すぎる: パラメータが多すぎるなど、モデルが複雑な場合、訓練データに完全に合わせようとして過学習が起こりやすくなります。
  • データに偏りがある: 訓練データが特定のパターンに偏っている場合、モデルもその偏りを過剰に学習してしまいます。 

確認方法

訓練データとテストデータ(未知のデータ)を用意し、それぞれのデータに対するモデルの予測精度を比較することで確認できます。 

  • 訓練データでの精度は高いが、テストデータでの精度が低い場合、過学習が起きている可能性が高いです。
  • 学習曲線(訓練データとテストデータに対する損失関数の推移など)を確認することでも、過学習の兆候を捉えられます。 

対策方法

  • モデルを単純化する: パラメータを減らす、正規化(正則化)を行うなどでモデルの自由度を制限し、複雑さを抑えます。
  • データ量を増やす: 訓練データの量を増やすことで、ノイズへの過剰な適合を防ぎます。
  • 早期停止: 学習曲線を見て、テストデータでの精度が下がり始めた時点で学習を終了します。
  • 手法の変更: 決定木のようなモデルの場合、ツリーの深さを制限するなどしてモデルを単純化します。 

コメント