機械学習におけるリコールの重要性を探る。Ultralytics 感度を測定・改善し、高い検出率を確保する方法を学ぶ。
再現率(リコール)は、感度または真陽性率とも呼ばれ、機械学習における基本的な性能指標である。これは、モデルがデータセット内の関連するインスタンスをすべて識別する能力を測定する。物体検出や分類の文脈では、具体的には「実際の陽性事例全体のうち、モデルが正しく見つけたものはいくつあるか?」という問いに答える。 陽性インスタンスの検出漏れ(偽陰性と呼ばれることが多い)が重大な結果を招くシナリオでは、高いリコール値の達成が極めて重要です。不均衡データでは誤解を招く可能性がある精度とは異なり、リコールはモデルが対象クラスを「捕捉」する効果性に焦点を当てた視点を提供します。
多くの人工知能アプリケーションでは、 detect できなかった場合のコストは、誤検知のコストよりもはるかに高い。 再現率を最適化したモデルは 偽陰性を最小化し、潜在的な脅威・異常・ 重大な状態を捕捉できる十分な網を張ることを保証する。 これはしばしばトレードオフを伴う。再現率を高めると 精度スコアが低下する可能性があるためだ。つまりモデルが より多くの無関係な項目を陽性としてフラグ付けする恐れがある。 このバランスを理解することが、堅牢な機械学習ソリューション開発の鍵となる。
リコールは多くの安全上重要なAIソリューションの主要指標である。感度が優先される代表的な事例を2つ挙げる:
再現率とその対となる精度を区別することが不可欠である。再現率は関連する事例の発見量(完全性)を測定するのに対し、精度は陽性予測の質(正確性)を測定する。
これらの2つの指標はしばしば逆相関関係にあり、 精度-再現率曲線によって可視化される。両者の総合的なバランスを評価するため、開発者は F1スコア(両者の調和平均)をよく参照する。 不均衡データセットでは、混同行列と併せて再現率を 検討することで、精度単独よりもはるかに明確な 性能像が得られる。
最先端のYOLO26のようなモデルをトレーニングする際、リコールは検証フェーズで自動的に計算されます。フレームワークは各クラスごとのリコールと平均精度(mAP)を算出するため、開発者はモデルが物体をどれだけ正確に検出できるかを評価できます。
Pythonを使用すれば、学習済みモデルの検証や再現率メトリクスの確認を簡単に行えます。以下のスニペットは、モデルを読み込み標準データセットでの性能を確認する方法を示しています:
from ultralytics import YOLO
# Load a pretrained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on the COCO8 dataset
# The results object contains metrics like Precision, Recall, and mAP
metrics = model.val(data="coco8.yaml")
# Access and print the mean recall score for box detection
print(f"Mean Recall: {metrics.results_dict['metrics/recall(B)']:.4f}")
このコードUltralytics を利用して検証を実行します。 リコールがプロジェクトの要件を下回る場合、 データ拡張による多様なトレーニング例の生成や、 モデルの感度調整のためのハイパーパラメータチューニングなどの手法を検討してください。 Ultralytics を利用すれば、 データセットの管理や複数回のトレーニング実行におけるこれらの指標の追跡プロセスも効率化できます。
モデルの再現率を高めるため、データサイエンティストは推論時に使用する信頼度閾値を調整することが多い。 閾値を下げることでモデルはより「楽観的」になり、より多くの予測を陽性として受け入れ、再現率は向上するが精度が低下する可能性がある。さらに、より多様な訓練データを収集することで、モデルは「難しい陰性」や不明瞭な事例を認識することを学習しやすくなる。複雑なタスクでは、トランスフォーマーブロックのような高度なアーキテクチャを採用したり、アンサンブル手法を検討したりすることも、単純なモデルが見逃す可能性のあるdetect 特徴をdetect システムの能力を向上させることができる。