False Positive Rate
偽陽性率(FPR)は、実際には陰性であるデータを誤って陽性と判定した割合です。計算式、関連指標、しきい値の影響について説明します。
偽陽性率(FPR)は、モデルが誤って陽性に分類した実際の陰性例の割合です。対象の状態が存在しないケースで、誤警報がどの程度発生するかを測定します。機械学習では、不要なアラートが運用コストにつながる場合に、分類システムの評価に役立ちます。
偽陽性率の計算方法#
FPRの計算には、混同行列に含まれる2つの数値を使用します。偽陽性(FP)は陰性を誤って陽性と判定した数、真陰性(TN)は陰性を正しく陰性と判定した数です。正解ラベルによって、どの例が実際に陰性かを判定します。
FPR = FP / (FP + TN)
分母には、実際の陰性例がすべて含まれます。FPRの範囲は0~1で、100を掛けるとパーセンテージになります。偽陽性が20件、真陰性が980件の場合、FPRは20 / 1,000 = 2%です。実際の陰性例がない場合、FPRは定義できません。
scikit-learnをインストールすると、付属の手書き数字画像を使ってFPRを計算できます。このロジスティック回帰分類器は数字の9を認識し、scikit-learnの混同行列から誤りの件数を取得します。
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix
from sklearn.model_selection import train_test_split
images, digits = load_digits(return_X_y=True)
# Treat 9 as positive and every other digit as negative.
labels = (digits == 9).astype(int)
X_train, X_test, y_train, y_test = train_test_split(images, labels, test_size=0.3, random_state=42, stratify=labels)
model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)
predictions = model.predict(X_test)
tn, fp, fn, tp = confusion_matrix(y_test, predictions, labels=[0, 1]).ravel()
fpr = fp / (fp + tn)
print(f"False positive rate: {fpr:.2%}")このパーセンテージは、保留画像に含まれる他の数字が誤って9と認識される頻度を示します。
FPRと特異度、適合率、再現率の比較#
特異度は真陰性率(TN / (TN + FP))であるため、FPR = 1 − 特異度です。特異度が98%の場合、FPRは2%です。真陽性(TP)は正しく識別された陽性例、偽陰性(FN)は実際には陽性であるものの陰性と判定された例です。
関連指標では、分母がそれぞれ異なります。
- 適合率: TP / (TP + FP)は、陽性と予測された例のうち、予測が正しい割合を測定します。その補数であるFP / (TP + FP)は、偽発見割合です。
- 再現率: TP / (TP + FN)は、感度または真陽性率とも呼ばれ、実際の陽性例をどれだけ検出できたかを測定します。偽陰性率は1 − 再現率です。
- 正解率: (TP + TN) / 全例数は、全体的な予測の正しさを測定します。FPRは陰性クラス内の誤りに限定した指標です。
FPRの統計的基盤は、真の帰無仮説を棄却する第I種過誤です。Jerzy NeymanとEgon Pearsonは、1933年の仮説検定の枠組みで、検出力を最大化しながらこの過誤を制御する方法を定式化しました。
しきい値と誤警報のコスト#
信頼度しきい値によって、スコアを判定に変換します。スコアが固定されている場合、しきい値を上げるとFPRは維持または低下しますが、再現率も低下する可能性があります。受信者動作特性(ROC)曲線は、しきい値ごとの再現率とFPRをプロットしたものです。曲線下面積は、その順位付けの性能を要約します。
FPRに陰性例の件数を掛けると、予想される誤警報の件数が得られます。しきい値の選定には検証データを使用し、最終的な報告には別のテストデータを使用します。ハードネガティブマイニングでは、判別が難しい陰性例に焦点を当てて学習します。UltralyticsのYOLO26モデルは、Predictモードでconfを公開します。この機能は、選択したスコアしきい値を下回る検出を除外し、アプリケーションに届く誤警報を変化させます。
医療では、偽陽性のスクリーニング結果によって、不安や追加の侵襲的処置が生じることがあります。
コンピュータービジョンにおけるFPR#
物体検出では、マッチしないバウンディングボックスは偽陽性として数えられます。また、ラベル付けされた物体のクラスと交差率の要件を満たす重複ボックスも、偽陽性として数えられる場合があります。背景領域には標準的な真陰性の数え方がないため、検出では一般に、画像あたりの偽陽性数または適合率-再現率曲線が使われます。画像単位のFPRでは、対象クラスの検出が1つ以上ある場合を陽性と定義します。対象が存在しない画像でそのような検出があれば、ボックスの数にかかわらずFPが1件加算されます。
セキュリティ分野では、顔認識によって誤った人物照合が発生することがあります。NISTの1対多評価では、ギャラリーに登録されていない人物による検索のうち、一致しきい値を超える候補が1つ以上返される検索の割合を、偽陽性識別率と定義しています。










