Underfitting
機械学習におけるアンダーフィッティングの特定と解決方法を学びます。その原因、指標、およびより高い精度を得るためにUltralytics YOLO26モデルを最適化する方法を探りましょう。
アンダーフィッティングは、機械学習モデルが単純すぎるか、学習データに含まれる根本的な傾向やパターンを捉える能力が不足している場合に発生します。概念的には、明確な曲線を描くデータポイントに対して直線を当てはめようとするようなもので、モデルは入力と出力の複雑な関係を把握できていません。モデルがデータを効果的に学習していないため、学習セットだけでなく未知の検証データに対してもパフォーマンスが低下し、予測精度が低くなります。この現象は、多くの場合、高いAIにおけるバイアスの結果として生じます。この状態では、アルゴリズムがターゲット関数に対して過度に単純化した仮定を立ててしまいます。
Link to this section原因と指標#
モデルがアンダーフィッティングを起こす要因はいくつかあります。最も一般的な原因は、非線形データに対して線形回帰を適用するなど、タスクに対して十分な複雑さを持たないモデルアーキテクチャを使用することです。また、モデルが収束するための十分なエポック数が与えられていないといった学習不足も、適切な学習を妨げます。さらに、本来は逆の問題を防ぐために使用される手法である過度な正則化も、モデルを過度に制約し、重要な特徴を捉えられないようにしてしまう可能性があります。
エンジニアは、学習中に損失関数を監視することでアンダーフィッティングを特定できます。学習誤差と検証誤差の両方が高いままで、有意に減少しない場合、モデルはアンダーフィッティングを起こしている可能性が高いです。モデルがデータを理解するのを助ける効果的な特徴量エンジニアリングとは対照的に、提供する特徴量が少なすぎることも、モデルに必要な情報が不足する原因となります。
Link to this sectionアンダーフィッティング対オーバーフィッティング#
アンダーフィッティングをその対極であるオーバーフィッティングと区別することは極めて重要です。これら2つの概念は、バイアス・バリアンスのトレードオフの両端を表しています。
- アンダーフィッティング(高バイアス): モデルが硬直化しすぎています。基本的なシグナルを学習できていないため、学習データとテストデータの両方でパフォーマンスが悪くなります。
- オーバーフィッティング(高バリアンス): モデルが柔軟すぎます。ノイズを含めて学習データを暗記してしまい、学習中は非常に優れたパフォーマンスを発揮しますが、新しい例に対しては汎化できません。
これら2つの極端な状態の間の「スイートスポット」を見つけることが、モデル最適化の主な目標です。
Link to this section実社会での応用#
アンダーフィッティングを理解することは、さまざまな業界で信頼性の高いAIシステムを開発するために不可欠です。
- 自動運転: 自動運転車の文脈では、アンダーフィッティングを起こした物体検出モデルは、複雑な都市環境において歩行者と街灯を区別できない可能性があります。モデルが微細な視覚的差異を学習するためのパラメータを欠いているため、AI安全性を危険にさらすことになります。
- 医療診断: 腫瘍などの異常を検出するために医療画像分析を適用する場合、単純すぎるモデルでは小さかったり不規則だったりする増殖物を見逃す可能性があります。ニューラルネットワークが浅すぎると、高い感度と特異度に必要な複雑な質感を学習できず、診断の誤りにつながります。
Link to this sectionコードによるアンダーフィッティングへの対処#
コンピュータビジョンにおいて、アンダーフィッティングは、タスクの難易度に対して小さすぎるモデルバリアントを使用した場合(例:高解像度のドローン映像における小さな物体の検出)によく発生します。以下のPythonの例は、ultralyticsライブラリを使用して、より小さめのモデルから、より能力の高い大きなモデルに切り替えてアンダーフィッティングを解決する方法を示しています。
from ultralytics import YOLO
# If 'yolo26n.pt' (Nano) is underfitting and yielding low accuracy,
# upgrade to a model with higher capacity like 'yolo26l.pt' (Large).
model = YOLO("yolo26l.pt")
# Train the larger model.
# Increasing epochs also helps the model converge if it was previously underfitting.
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)より大きなUltralytics YOLO26モデルに移行し、十分な学習期間を確保することで、システムは複雑なパターンを学習するために必要なパラメータを獲得し、アンダーフィッティングを効果的に緩和します。モデルのアンダーフィッティングが解消されたことを確認するには、常に堅牢なテストデータセットで評価を行ってください。データセットの管理や実験の追跡を行い、アンダーフィッティングを早期に発見するために、Ultralytics Platformでは可視化と分析のための包括的なツールを提供しています。






