Confusion Matrix
混同行列が分類性能を評価する仕組みを学びます。TP、FP、TN、FNを探り、Ultralytics YOLO26モデルを最適化して精度を高めます。
混同行列は、出力が2つ以上のクラスになる機械学習の分類問題における性能測定ツールです。これは予測値と実際の値の4種類の組み合わせを表す表であり、モデル評価におけるデータ可視化の基盤となる要素です。データセットのバランスが崩れている場合、単純な正解率は誤解を招く可能性がありますが、混同行列を使用すると、コンピュータービジョン (CV)モデルがどこで誤りを犯しているかを詳細に把握できます。予測結果をグラウンドトゥルースラベルと比較することで、開発者はシステムが特定の2つのクラスを混同しているのか、それとも物体をまったく検出できていないのかを判断できます。
混同行列の主要構成要素#
混同行列は通常、二値分類では4つの象限に分けられますが、Ultralytics YOLO26が扱うようなマルチクラス問題では拡張されます。これら4つの構成要素は、モデルが予測した内容と、画像内に実際に存在する内容の交差を表します。
- 真陽性 (TP): モデルが陽性クラスを正しく予測した状態です。たとえば物体検出タスクでは、実際にフレーム内に存在する人物の周囲に、モデルが正しくバウンディングボックスを描画します。
- 真陰性 (TN): モデルが陰性クラスを正しく予測した状態です。これは異常検知のようなシナリオで重要です。この場合、システムは製造部品に欠陥がないことを正しく判定します。
- 偽陽性 (FP): モデルが陽性クラスを誤って予測した状態です。「タイプIエラー」と呼ばれることもあり、存在しない物体をシステムが検出した場合に発生します。たとえば、防犯カメラが影を侵入者として検知するケースです。
- 偽陰性 (FN): モデルが陰性クラスを誤って予測した状態です。「タイプIIエラー」と呼ばれ、存在する物体をモデルが検出できず、実質的に対象を「見逃す」場合に発生します。
派生指標とその重要性#
混同行列の生の数値は、モデル性能を表す、より高度な指標の計算に使用されます。これらの派生指標を理解することは、ニューラルネットワークを最適化するうえで不可欠です。
- 適合率: TP / (TP + FP) として計算されるこの指標は、陽性予測がどの程度正確かを示します。適合率が高いほど、誤警報が少ないことを意味します。
- 再現率 (感度): TP / (TP + FN) として計算され、すべての陽性事例を見つけるモデルの能力を測定します。物体を見逃した場合の影響が深刻なケースでは、高い再現率が不可欠です。
- F1スコア: 適合率と再現率の調和平均です。両者のトレードオフのバランスを取った単一のスコアを提供するため、異なるYOLO26モデルの比較に役立ちます。
実世界での利用例#
混同行列によって定義されるエラーの具体的なコストによって、モデルをさまざまな業界向けにどのように調整するかが決まります。
**医療分野におけるAI**では、混同行列は安全性に関わる重要な要素です。腫瘍を検出する医用画像解析用のモデルをトレーニングする場合、偽陰性(腫瘍の見逃し)は、偽陽性(良性の病変を医師の確認対象として誤検出すること)よりもはるかに深刻です。そのため、エンジニアはこれらの行列において適合率よりも再現率を優先し、健康上の潜在的なリスクを見逃さないようにします。
一方、**製造品質管理**では、効率が重要です。組立ラインの部品を分類するシステムで偽陽性(良品を不良品として判定すること)が多発すると、不要な廃棄が生じ、生産が遅延します。この場合、混同行列はエンジニアがモデルを調整して適合率を最大化するのに役立ちます。これにより、自動機械学習ワークフローを効率化し、廃棄対象が確実に不良品となるようにできます。
Ultralytics YOLO26で混同行列を生成する#
最新のフレームワークを使用する場合、この行列の生成は標準的な検証パイプラインの一部であることが多いです。以下の例では、YOLO26モデルを検証し、ultralyticsパッケージを使用して混同行列のデータにアクセスする方法を示します。
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on the COCO8 dataset
# This automatically generates and plots the confusion matrix
metrics = model.val(data="coco8.yaml")
# Access the confusion matrix object directly
print(metrics.confusion_matrix.matrix)関連概念との違い#
混同行列を、類似する評価用語と区別することが重要です。
- 正解率との比較: 正解率は、正しい予測数を予測総数で割った比率にすぎません。正解率は有用ですが、不均衡データセットでは非常に誤解を招く可能性があります。たとえば、メールの95%がスパムではない場合、すべてのメールを*「スパムではない」*と予測するモデルは正解率95%を達成しますが、実用性はありません。混同行列は、スパムクラスの真陽性がゼロであることを示して、この問題を明らかにします。
- ROC曲線との比較: 混同行列は、特定の単一の信頼度しきい値における性能のスナップショットを提供します。これに対して、受信者動作特性 (ROC) 曲線は、しきい値を変化させたときに真陽性率と偽陽性率がどのように変化するかを可視化します。Ultralytics Platformなどのツールを使用すると、両方の可視化を確認し、デプロイに最適な運用点を選択できます。






