過学習とは?
過学習とは、機械学習モデルが訓練データに対して過剰に適応し、未知のデータに対する汎化性能が低下する現象です。
学習データの特徴やノイズを過度に覚えてしまい、新しいデータを正しく予測できなくなることが特徴です。
過学習の原因
以下に、過学習の主な要因と防止策を挙げます。
特徴量が多すぎる
(
( 対策)不要なカラムを削除し、モデルが重要な特徴量に集中できるようにすることで過学習を防ぐ。
モデルが複雑すぎる
(
( 対策)シンプルなアルゴリズムの採用や正則化の活用。
訓練データが不足している
(
( 対策)データ拡張や外部データの活用。
学習時間が長すぎる
(
( 対策)早期停止(Early Stopping)を導入し、適切なタイミングで学習を停止する。
過学習を防ぐ方法
教師あり学習にはさまざまなアルゴリズムが存在しますが、代表的なものを紹介します。
正則化(Regularization)
- L1/L2正則化を使用してモデルの複雑さを制御する。
データ拡張(Data Augmentation)
- 画像データの場合、回転・反転・拡大縮小などを適用し、多様な学習データを作成する。
早期停止(Early Stopping)
- 訓練中のモデルの性能が向上しなくなったら学習を停止し、過学習を防ぐ。
過学習に関連する専門用語
- 正則化(Regularization)
モデルの過学習を抑制する手法。 - ドロップアウト(Dropout)
一部のニューロンを無効化し、モデルの汎化能力を向上させる。 - 交差検証(Cross Validation)
異なるデータ分割でモデルの性能を評価する手法。 - バッチノーマライゼーション(Batch Normalization)
学習を安定させるための手法。