機械学習における過学習を特定、防止、および対処する方法について学びます。モデルの汎化性能と実世界でのパフォーマンスを向上させるためのテクニックを発見してください。
オーバーフィッティングは 機械学習(ML)において、モデルが学習データの特定の詳細やノイズを 学習データの特定の詳細やノイズを 新しいデータに対する性能に悪影響を与える程度まで学習してしまう。基本的に、モデルは学習 般化に必要な基本パターンを学習するのではなく を記憶する。 その結果 その結果、開発時には高い精度を達成しても、実 その結果、開発時には高い精度を達成できても、実世界のシナリオに展開したときに信頼できる予測を提供できないシステムになってしまうのです。
教師あり学習の文脈では、目標は テストデータとして知られる未知の入力に対してうまく機能するモデルを作成することである。 モデルを作成することである。オーバーフィッティングは通常、モデルが利用可能なデータ量に対して複雑すぎる場合に起こります。 一般的にオーバーフィッティングは、モデルが利用可能なデータ量に対して複雑すぎる場合に起こります。このような このようなモデルは、データセット中のランダムな揺らぎや「ノイズ」を、あたかも重要な特徴であるかのように拾い上げてしまいます。これは ディープラーニング(DL)の中心的な課題である、 開発者は、複雑さと柔軟性のバランスを取る必要がある。 バイアスと分散のトレードオフ
オーバーフィッティングは、用途によっては深刻な結果をもたらす可能性がある:
開発detect 通常 を監視することでオーバーフィッティングを検出する。明確な指標は 明確な指標は 検証データの損失が増加し始めるときだ。これに対処するために に対抗するために、いくつかのテクニックが採用されている:
この概念をアンダーフィットと区別することは重要である。 と区別することが重要である。オーバーフィッティングは、モデルが複雑すぎて アンダーフィッティングは、モデルが単純すぎてデータの根本的な傾向を捉えることができない(バイアスが高い)場合に起こります。 アンダーフィッティングは、モデルが単純すぎてデータの根本的な傾向を捉えることができない(バイアスが大きい)場合に発生します。両者とも予測性能が低い しかし、その理由は正反対です。最適なモデルを達成するには、この2つの両極端の間をナビゲートする必要があります。
のような近代的な図書館がある。 ultralytics は、予防戦略の実施を簡素化する。例えば
ユーザーは簡単に 早期停止 とドロップアウト
トレーニング YOLO11 モデルである。
from ultralytics import YOLO
# Load the YOLO11 model (recommended for latest SOTA performance)
model = YOLO("yolo11n.pt")
# Train with 'patience' for early stopping and 'dropout' for regularization
# This helps the model generalize better to new images
results = model.train(
data="coco8.yaml",
epochs=100,
patience=10, # Stop if validation loss doesn't improve for 10 epochs
dropout=0.1, # Randomly drop 10% of units to prevent co-adaptation
)


