機械学習(ML)の領域では、最適なモデル性能を達成するには、単純さと複雑さのバランスを見つける必要がある。アンダーフィッティングは一般的な問題で、モデルが単純すぎて学習データに存在する基本的なパターンを捉えることができない。これは、モデルが効果的に学習できないことを意味し、学習したデータだけでなく、新しい未知のデータ(テストデータまたは実世界の入力)でもパフォーマンスが低下します。アンダーフィットモデルは、データ内の関係を正確に表現するのに必要な容量や学習時間が不足しているため、バイアスが高くなり、うまく汎化できない。
アンダーフィットの原因は?
過小適合モデルにはいくつかの要因がある:
- モデルの複雑さが不十分:選択したモデルがデータの複雑さに対して単純すぎる可能性がある。例えば、非線形のパターンを持つデータに対して基本的な線形回帰モデルを使用したり、層やニューロンの数が少なすぎるニューラルネットワーク(NN)を使用したりする。
- 不十分な特徴エンジニアリング:モデルに提供される入力特徴には十分な関連情報が含まれていなかったり、基本的なパターンを効果的に表現できていなかったりする可能性がある。
- 不十分なトレーニングデータ:モデルは、基礎となるパターンを学習するのに十分な例を見ていない可能性がある。これは特に複雑な深層学習モデルに当てはまる。多様で代表的なデータを持つことは非常に重要であり、Ultralytics データセットのようなプラットフォームを通じて調べることができる。
- トレーニングが短すぎる:モデルのトレーニングプロセスが、データ内のパターンを学習するのに十分なエポック数を得る前に、早期に停止してしまう可能性がある。
- 過度の正則化:L1正則化、L2正則化、高ドロップアウト率など、オーバーフィッティングを防ぐために使われるテクニックは、強く適用しすぎるとモデルを過度に制約し、必要なパターンの学習を妨げることがある。
アンダーフィットの特定
アンダーフィッティングは通常、トレーニング中とトレーニング後のモデルのパフォーマンスを評価することで診断される:
アンダーフィットへの対応
アンダーフィッティングを克服するには、いくつかの戦略がある:
アンダーフィットとオーバーフィットの比較
アンダーフィットとオーバーフィットは同じコインの裏表であり、モデルの汎化の失敗を表している。
- アンダーフィット:モデルが単純すぎる(バイアスが大きい)。データの根本的な傾向を捉えることができず、結果としてトレーニングセットとテストセットの両方でパフォーマンスが低下する。
- オーバーフィット:モデルが複雑すぎる(分散が大きい)。ノイズやランダムな揺らぎを含め、訓練データをうまく学習しすぎるため、訓練セットでは優れた性能を発揮するが、未経験のデータでは性能が低下する。
MLにおける目標は、アンダーフィットとオーバーフィットの間のスイートスポットを見つけることであり、しばしばバイアスと分散のトレードオフという文脈で議論される。
アンダーフィットの実例
- 単純な画像分類器:非常に基本的な畳み込みニューラルネットワーク(CNN)(例えば、1つか2つの畳み込み層のみ)を、ImageNetの何千ものオブジェクトカテゴリを分類するような複雑な画像分類タスクにトレーニングする。CNNの容量が限られているため、多くのクラスを効果的に区別するために必要な複雑な特徴を学習することができず、モデルが適合しない可能性が高い。トレーニング精度も検証精度も低いままです。
- 基本的な予知保全:単純な線形モデルを使って、運転温度のみに基づいて機械の故障を予測すること。故障が実際には振動、経年変化、圧力、温度の非線形性のような複雑な要因の相互作用の影響を受けている場合、線形モデルは適合を下回ることになります。真の複雑性をとらえることができず、予測モデリング性能が低下し、故障を正確に予測することができなくなります。より複雑なモデルや、より優れた機能を利用することが必要でしょう。次のようなフレームワーク PyTorchまたは TensorFlowのようなフレームワークは、より洗練されたモデルを構築するためのツールを提供している。