YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

F1スコア

F1スコアが精度と再現率のバランスを取り、機械学習モデルを評価する方法を学びましょう。より良い精度を得るためにUltralytics YOLO26の性能を最適化する方法を発見してください。

F1スコアは、適合率と再現率を単一の調和平均に結合する、機械学習における重要な性能指標です。特に、データセットが不均衡である場合や、偽陽性と偽陰性が異なるコストを持つ分類モデルの評価に役立ちます。あるクラスがデータセットを支配している場合に誤解を招く可能性のある単純な精度とは異なり、F1スコアは、モデルが関連するインスタンスを正確に識別し、エラーを最小限に抑える能力について、よりバランスの取れた視点を提供します。極端な値をペナルティとして課すことで、適合率と再現率の両方が十分に高い場合にのみ高いスコアが達成されることを保証し、医療診断から情報検索に至るまで幅広い分野で主要な指標となっています。

なぜF1スコアは機械学習において重要なのか

多くの実世界のシナリオでは、正解予測の割合(精度)を知るだけでは不十分です。例えば、異常検知では、正常なケースが異常なケースをはるかに上回ります。すべての入力に対して「正常」と予測するモデルは99%の精度を達成するかもしれませんが、実際の問題を検出するには役に立ちません。F1スコアは、2つの競合する指標のバランスを取ることでこれに対処します。

  • 適合率: これは陽性予測の品質を測定します。「モデルが陽性とラベル付けしたすべてのインスタンスのうち、実際に陽性であったものはいくつですか?」という問いに答えます。
  • Recall: これは陽性予測の量を測定します。「すべての実際の陽性インスタンスのうち、モデルはいくつを正しく識別しましたか?」という問いに答えます。

精度を向上させると再現率が低下し、その逆もまた然りというトレードオフがしばしば存在するため、F1スコアは最適なバランス点を見つけるための統一された指標として機能します。これは、多様な条件下で堅牢なパフォーマンスを確保するために、ハイパーパラメータ最適化を使用してモデルを調整する際に不可欠です。

実際のアプリケーション

F1スコアの有用性は、エラーのコストが重大であるさまざまな産業に及びます。

  • 医療診断: ヘルスケアAIにおいて、特に腫瘍detectのようなタスクでは、偽陰性(腫瘍の見落とし)は生命を脅かす一方、偽陽性(良性組織の誤検出)は不必要な不安を引き起こします。F1スコアは、YOLO26のようなモデルを最適化し、医師を誤報で圧倒することなく、疾患を捕捉するのに十分な感度をシステムが持つことを保証するのに役立ちます。
  • 情報検索: 検索エンジンや文書分類システムは、関連性を評価するためにF1スコアを使用します。ユーザーはすべての関連文書を見たい(高再現率)一方で、無関係な結果をふるいにかけるのは避けたい(高精度)と考えます。高いF1スコアは、エンジンが不要な情報を排除しつつ、適切な情報を効果的に取得していることを示します。
  • スパムフィルタリング: メールサービスはテキスト分類を使用してスパムを分離します。システムはスパムメールを捕捉する(再現率)必要がありますが、重要な仕事のメールを迷惑メールとして分類しない(適合率)ことが極めて重要です。F1スコアは、これらのフィルターの主要なベンチマークとして機能します。

UltralyticsでF1スコアを計算する

現代のコンピュータービジョンフレームワークは、これらのメトリクスの計算を簡素化します。物体検出モデルをトレーニングする際、F1スコアは検証フェーズ中に自動的に計算されます。Ultralytics Platformは、これらのメトリクスをリアルタイムチャートで可視化し、ユーザーが異なる信頼度閾値に対するF1スコアの曲線を確認できるようにします。

Python APIを使用して、F1スコアの構成要素を含む検証メトリクスにアクセスする方法を以下に示します。

from ultralytics import YOLO

# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")

# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")

# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")

# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")

F1スコアと関連指標

F1スコアが他の評価基準とどのように異なるかを理解することは、プロジェクトに適したツールを選択するために不可欠です。

  • 精度との違い: Accuracyはすべてのエラーを等しく扱います。F1スコアは、陽性クラス(関心のある少数クラス)のパフォーマンスに焦点を当てるため、不均衡なデータセットに対して優れています。
  • mAPとの関係: Mean Average Precision (mAP)は、すべての信頼度閾値で物体detectモデルを比較するための標準です。しかし、F1スコアはデプロイのための最適な信頼度閾値を決定するためによく使用されます。アプリケーションをデプロイする際には、F1カーブがピークに達する閾値を選択するかもしれません。
  • 混同行列: 混同行列は、F1スコアが導出される生のカウント(真陽性、偽陽性など)を提供します。混同行列は詳細な情報を提供しますが、F1スコアは迅速な比較のための単一の要約統計量を提供します。
  • ROC-AUC: 曲線下面積 (AUC)は、すべてのしきい値における分離可能性を測定します。クラス分布が非常に偏っている場合(例:詐欺が稀な詐欺detect)、一般的にF1スコアがROC-AUCよりも優先されます。

F1スコアの改善

モデルのF1スコアが低い場合、いくつかの戦略が役立ちます。 データ拡張は、ポジティブな例の多様性を増やし、モデルの汎化性能向上に貢献します。堅牢な基盤モデルからの転移学習を適用することで、ネットワークは事前学習済みの特徴を活用できます。さらに、推論時に信頼度閾値を調整することで、精度と再現率のバランスを手動で調整し、特定のユースケースでF1スコアを最大化できます。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。