【ディープラーニング基礎④】過学習
はじめに
ディープラーニングにおいて過学習は重大な問題です。
過学習
過学習(オーバーフィッティング)とは、機械学習モデルが訓練データに過度に適合し、新たなデータに対して適切な予測や分類ができなくなる現象を指します。これは、モデルが訓練データのノイズや偶然の変動まで学習してしまい、一般化性能が低下するためです。
パラメータ数と仮説の数
機械学習モデルにおけるパラメータ数とは、モデルが学習する調整可能な要素の数を指します。一方、仮説の数は、モデルが表現可能な関数や予測の集合を意味します。一般に、パラメータ数が多いほど、モデルは複雑で多くの仮説を表現できるため、訓練データに対する適合度が高まります。しかし、パラメータ数が増えすぎると、モデルは訓練データに過度に適合し、過学習が発生しやすくなります。パラメータ数が多い場合、仮設の数も増えるのでこれを表現力が高いと言ったりします。
過学習が起きる原因と具体例
過学習の主な原因は以下のとおりです:
-
学習データの不足:訓練データが少ないと、モデルはデータセットの特定の特徴やノイズに過剰に適応し、一般化能力が低下します。
-
モデルの複雑さ:パラメータ数が多く複雑なモデルは、訓練データに対して高い適合性を示しますが、新しいデータに対しては適切に機能しないことがあります。
-
データの偏り:偏ったデータセットを使用すると、モデルは特定のパターンに適応しすぎ、他のパターンに対しては性能が劣化します。
具体例として、あるモデルが動物の画像を分類する際、訓練データに猫の画像が多く含まれているとします。この場合、モデルは猫の特徴に過度に適応し、犬や他の動物の画像を正確に分類できなくなる可能性があります。
過学習を回避する方法
-
データを増やす、データの水増し(ノイズ):訓練データの量を増やすことで、モデルはより一般的なパターンを学習し、過学習のリスクを減らせます。また、データ拡張(データオーグメンテーション)技術を用いて、既存のデータに変換やノイズを加えることで、データの多様性を高めることができます。
-
パラメータを減らす:モデルのパラメータ数を減らし、複雑さを抑えることで、訓練データへの過度な適合を防ぎ、一般化性能を向上させることができます。
-
データをテストに利用する : 学習用データを訓練用データとテスト用データに分類します。テスト用データの性能を確認しながら学習の打ち切りタイミングを決定します。
これらの方法により、モデルの複雑さと訓練データのバランスを適切に保つことで、過学習を防ぎ、未知のデータに対する予測精度を向上させることが可能です。
さらに、以下の動画では過学習の概念と対策について詳しく解説されています。
Discussion