ROC曲線下面積(AUC)は、二値分類モデルのためのスカラー性能指標です。これは、すべての可能な分類閾値にわたって、モデルが正例と負例を識別する全体的な能力を定量化します。AUCは、受信者動作特性(ROC)曲線から導出され、これは様々な閾値設定における真陽性率(感度)を偽陽性率(1 - 特異度)に対してプロットしたものです。AUC値は0から1の範囲であり、0.5はランダムな推測と同等の性能を示し、1.0は完全な識別を表します。実際には、AUCはMachine learning、臨床診断、および信号検出などの分野で広く使用され、特定の閾値やコスト文脈に依存せずにモデルを比較および選択するために用いられます。
ROC曲線の概念は、第二次世界大戦中に電気およびレーダー技術者が敵対物体を検出する受信器の能力を評価するために開発したことに起源を持ちます。「受信者動作特性」という用語は、この起源を反映しています。ROC曲線は後に心理学、医学、および他の分野で採用されました。AUCは、ROC曲線を単一の数値に縮約するため、標準的な要約指標となり、モデルの比較および選択を容易にしました。
数学的定義
連続スコアを各インスタンスに対して出力する二値分類器の場合、ROC曲線は分類閾値を変化させることによって構築されます。各閾値において、真陽性率(TPR)および偽陽性率(FPR)が計算されます。AUCは、FPRを0から1まで積分したROC曲線の積分です:
AUC = ∫₀¹ TPR(FPR) d(FPR)
等価的に、AUCは、ランダムに選択された正インスタンスが、ランダムに選択された負インスタンスよりも高いスコアを受け取る確率を表します。この解釈は、Mann-Whitney U統計量またはWilcoxon順位和検定として知られ、AUCをスコアの絶対値に依存しない順位ベースの指標にします。
解釈と特性
AUC値は、モデルの識別力の尺度を提供します。0.5のAUCは、モデルがランダムな偶然よりも優れた性能を発揮しないことを示し、これは無識別の対角線に沿ったROC曲線に対応します。1.0のAUCは、正例と負例の完全な分離を示します。0.5と1.0の間の値は、様々な程度の識別能力を示します。0.5未満のAUCは、モデルがランダムよりも悪いことを示唆しますが、そのような場合、モデルの予測を反転させることで良好な分類器を得ることができます。これは、ROC曲線が点(0.5, 0.5)に関して対称であるためです。
AUCは、閾値に依存しないため特に有用です。精度やF1スコアなどの指標とは異なり、これらは特定の閾値を選択する必要がありますが、AUCはすべての可能な閾値にわたってモデルを評価します。これにより、最適な閾値が不明である場合や、クラス分布が不均衡である場合に、モデルを比較するための堅牢な尺度となります。しかし、AUCは特定の動作点でのモデルの性能に関する情報を提供せず、2つのモデルのROC曲線が交差する場合には過度に楽観的になる可能性があります。
ROC分析との関係
ROC分析は、コスト文脈やクラス分布に依存せずに、最適なモデルを選択し、劣ったモデルを破棄するためのツールを提供します。ROC曲線自体は、真陽性(利益)と偽陽性(コスト)の間のトレードオフをグラフで表現したものです。AUCは、このトレードオフを単一の数値に要約します。臨床疫学では、ROC分析は診断テストの性能を評価するために一般的に使用されます。診断テストのAUCは、疾患個体と非疾患個体を区別する能力を示します。例えば、0.8のAUCは、ランダムに選択された疾患個体が、ランダムに選択された非疾患個体よりも高いテスト結果を持つであろう時間の80%を示唆します。
実際には、AUCはデータの有限サンプルから推定されます。正例および負例の予測スコアのセットが与えられた場合、AUCは順位ベースの式を使用して計算できます:
AUC =(Σᵢ₌₁ⁿ⁺(rᵢ - i))/(n⁺ * n⁻)
ここで、n⁺およびn⁻は正例および負例の数であり、rᵢは結合ソートリスト内の正例の順位です。代替として、台形則を経験的ROC曲線に適用できます。pythonおよびRを含む多くのソフトウェアライブラリは、AUC計算のための組み込み関数を提供します。
AUCは、モデル評価および選択のためにMachine learningで広く使用されています。これは、スパム検出、不正検出、医療診断、および信用スコアリングなどの二値分類タスクで特に一般的です。これらの領域では、クラス分布がしばしば不均衡であり、AUCは精度よりも信頼性の高い尺度を提供します。これは、クラス不均衡に鈍感であるためです。AUCはまた、ハイパーパラメータ調整、特徴選択、およびモデル比較にも使用されます。例えば、Deep learningおよびNeural network研究では、AUCは他の指標とともに報告され、モデルの性能を示すことがよくあります。
AUCはまた、ランキング問題でも使用され、そこではインスタンスを正クラスに属する確率によって順序付けることが目標です。そのような場合、AUCはランキングの品質を直接測定します。これにより、情報検索および推薦システムでの採用につながりました。
その人気にもかかわらず、AUCには限界があります。これはモデルの較正を反映しません - つまり、予測確率の正確さです。同じAUCを持つ2つのモデルは、非常に異なる確率出力を持つことができます。AUCはまた、偽陽性と偽陰性のコストが等しいと仮定しますが、これは現実のアプリケーションではめったに真実ではありません。コストが不等である場合、精度-再現率曲線またはコスト曲線などの閾値固有の指標がより適切かもしれません。さらに、ROC曲線が交差する場合、AUCは誤解を招く可能性があります。これは、より高いAUCを持つモデルが、ROC空間の特定の領域でより悪い性能を発揮する可能性があるためです。
もう一つの考慮点は、AUCがグローバルな尺度であり、モデルがどこで良くまたは悪く機能するかを示さないことです。例えば、モデルが高いAUCを持つが、低い偽陽性率での性能が悪い場合があります。これは、偽陽性がコスト高である不正検出などのアプリケーションでは重要となる可能性があります。
AUCの概念は、多クラス分類問題に拡張されています。一つのアプローチは、各クラスに対して他のすべてに対するAUC(一対他)を計算し、それらを平均することです。もう一つは、多クラス問題に対してROC曲面下の体積を使用することです。さらに、精度-再現率曲線およびその曲線下面積(PR-AUC)は、特に高度に不均衡なデータセットに対して、代替としてしばしば使用されます。PR-AUCは正クラスに焦点を当て、再現率の改善に対してより敏感です。
近年、AUCはモデルを訓練するための損失関数に組み込まれています。例えば、AUC最適化は、Large language model微調整および他のGenerative AIアプリケーションで使用され、ランキング性能を直接最適化しています。しかし、AUCは非微分可能であるため、代理損失がしばしば使用されます。
ROC曲線は、第二次世界大戦中(1941年開始)にレーダー信号検出のために最初に開発されました。後に心理学に導入され、知覚検出をモデル化しました。1970年代および1980年代に、ROC分析は医学および放射線学で広く使用されるようになりました。要約指標としてのAUCは、1990年代および2000年代の機械学習の台頭とともに重要性を増しました。Thomas-DietterichおよびMichael-Jordanなどの研究者は、分類器評価の統計的理解に貢献し、AUCはこの分野の標準的な指標となりました。
- Machine learning
- Neural network
- Deep learning
- Artificial intelligence
- Generative AI
- Large language model
- Transformer (architecture)
- OpenAI
- Google DeepMind
- Anthropic
- Fawcett, T. (2006). An introduction to ROC analysis. Pattern Recognition Letters, 27(8), 861-874.
- Hanley, J. A., & McNeil, B. J. (1982). The meaning and use of the area under a receiver operating characteristic(ROC)curve. Radiology, 143(1), 29-36.
- Bradley, A. P. ((1997). The use of the area under the ROC curve in the evaluation of machine learning algorithms. Pattern Recognition, 30(7), 1145-1159.