Area Under the Curve (AUC)
機械学習モデルの評価におけるArea Under the Curve(AUC)の重要性について解説します。その利点、ROC曲線による洞察、現実世界の応用例をご紹介します。
曲線下面積(AUC)は、分類モデルの性能を定量化するために使用される基本的な指標である、
特に
機械学習(ML)の領域では特にそうである。これは
クラス間を区別するモデルの能力を測定する。単一の決定しきい値に依存する
単一の決定閾値に依存する測定基準とは異なり、AUCは、すべての可能な閾値にわたる性能の包括的なビューを提供する
を包括的に見ることができる。そのため
教師あり学習アルゴリズムの評価に不可欠なツールであり
モデルの予測能力がロバストであり、特定のカットオフ・ポイントによって偏らないことを保証する。一般にAUC値が高いほど
のスコアは、完全な分類を表す。
AUCとROCの関係
AUCという用語は、特にROC曲線下面積を指す。
Receiver Operating Characteristic (ROC)曲線下面積のことである。ROC曲線は、2値分類システムの診断能力を示すグラフプロットである。これは
真陽性率(TPR)(Recallとも呼ばれる)を、次のようにプロットします。
偽陽性率(FPR)をプロットします。
-
真陽性率:モデルによって効果的に識別された実際の陽性症例の割合。
-
偽陽性率:実際の陰性症例のうち、誤って陽性と判定された症例の割合。
の割合。
AUCを計算することで、データ科学者はROC曲線に含まれる情報を1つの数値に凝縮する。これにより
モデル評価が単純化され
異なるアーキテクチャ間の比較が容易になります。
ResNet-50
バックボーンをより軽量なものと比較するなど、異なるアーキテクチャ間の比較が容易になります。
スコアの解釈
AUCスコアは0から1の範囲で、モデルのランキングの質を確率的に解釈することができる。
-
AUC = 1.0:完全な分類器.100%の確率で正クラスと負クラスを正しく区別できる。
正しく識別できる。
-
0.5 < AUC < 1.0: The model has a better-than-random chance of classifying instances
correctly. This is the target range for most
predictive modeling tasks.
-
AUC = 0.5:モデルには識別能力がない。
と同じである。)
-
AUC < 0.5: This suggests the model is performing worse than random chance, often indicating that
the predictions are inverted or there is a significant issue with the
training data.
分類の仕組みをより深く学ぶには、次のようなリソースがあります。
Google 機械学習クラッシュコース
のようなリソースは、視覚的に優れた解説を提供している。
実際のアプリケーション
AUCは、偽陽性と偽陰性の結果が大きく異なるシナリオで特に価値がある。
特に有用である。
-
医療診断医療診断
ヘルスケアにおけるAIでは、X線やMRI検査で腫瘍などの異常を検出するために
X線やMRIスキャンで腫瘍のような異常をdetect ために学習されます。AUCスコアが高ければ、モデルが確実に良性より悪性をランク付けできる。
高いAUCスコアは、モデルが悪性症例を良性症例よりも確実に上位にランク付けすることを保証する。この信頼性は、放射線科医が使用する臨床判断支援システムにとって重要である。
にとって重要である。例えば
YOLO11 腫瘍検出に役立っている
は、生命に関わるアプリケーションにおける堅牢な評価指標の重要性を浮き彫りにしている。
-
金融詐欺の検出:金融機関は
コンピュータ・ビジョン(CV)とパターン認識
を使用して不正取引にフラグを立てる。正当な取引の方が不正な取引よりも圧倒的に多いため、データは非常に不均衡である。
不均衡である。ここでAUCが好まれるのは、生データとは異なり、多数の正当なネガによって歪められることなく、不正確率のランキングを評価できるからである。
生の精度とは異なり、多数の正当な否定によって歪められることなく、不正確率の順位付けを評価できるためである。
が望ましい。これは、セキュリティを維持しながら
システムの構築に役立つ。
金融におけるAI
AUCと他の指標との比較
AUCと他の指標の使い分けを理解することが、モデル展開を成功させる鍵である。
モデル展開を成功させる鍵である。
-
AUCと精度の比較: 精度は
予測値の正答率を測定する。しかし、不均衡なデータセット(例えば、99%ネガティブ・クラス)では、モデルは予測力がゼロであるにもかかわらず、すべてに対して「ネガティブ」と予測することで、99%の精度を達成することができます。
99%の精度を達成することができます。AUCは
はクラスの不均衡に対して不変であり、このような問題に対してより正直な指標となります。
-
AUC vs. プレシジョン・リコール:ROC AUCはTPRとFPRの両方を考慮する、
Precisionと
Recall は特に正のクラスに焦点を当てる.場合
偽陽性は許容されるが偽陰性は許容されない場合(例:初期疾患のスクリーニング)、PrecisionとRecallのトレードオフを分析することで
精度と再現率のトレードオフ
を分析する方が、ROC AUCよりも有益である。
-
AUCとmAP比較:に対して
のようなモデルによる物体検出タスクでは
YOLO11のようなモデルによって実行される物体検出タスクでは、標準的な指標は
平均平均精度( mAP
)である。
は基本的に、特定のIntersection over Union (IoU)閾値におけるバウンディング・ボックスのPrecision-Recall曲線下面積を計算する。
UnionIoU)しきい値におけるバウンディング・ボックスのPrecision-Recall曲線下面積を計算する。
クラス確率の計算
AUCを計算するには、最終的なクラス・ラベルだけでなく、正のクラスの確率スコアが必要です。以下の例では
を使ってこれらの確率を求める方法を示します。
画像分類 のモデルである。
ultralytics 図書館
from ultralytics import YOLO
# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Access the probability scores for all classes
# These scores are the inputs needed to calculate AUC against ground truth
probs = results[0].probs.data
print(f"Class Probabilities: {probs}")
データセットの確率がわかったら、次のような標準的なライブラリを使うことができます。
Scikit-learn
最終的なAUCスコアを計算する。