False Positive Rate
Доля ложноположительных результатов (FPR) — это доля фактически отрицательных примеров, ошибочно помеченных как положительные; здесь объясняются формула, связанные метрики и влияние порога.
Доля ложноположительных результатов (FPR) — это доля фактически отрицательных примеров, которые модель ошибочно классифицирует как положительные. Эта метрика показывает частоту ложных срабатываний среди случаев, когда целевое условие отсутствует. В машинном обучении она помогает оценивать системы классификации, когда ненужные оповещения приводят к операционным издержкам.
Как рассчитать долю ложноположительных результатов#
Для расчёта FPR используют два значения из матрицы ошибок: ложноположительные результаты (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 — ошибка первого рода: отклонение верной нулевой гипотезы. Джерзи Нейман и Эгон Пирсон формализовали контроль этой ошибки при максимизации мощности обнаружения в своей системе проверки гипотез 1933 года.
Пороги и цена ложных срабатываний#
Порог уверенности преобразует оценки в решения. При фиксированных оценках повышение порога может только сохранить или снизить FPR, но при этом полнота тоже может снизиться. ROC-кривая (кривая рабочих характеристик приёмника) показывает зависимость полноты от FPR при разных порогах; площадь под кривой обобщает это качество ранжирования.
Произведение FPR на число отрицательных примеров даёт ожидаемое количество ложных срабатываний. Порог выбирают по валидационным данным, а итоговые результаты приводят отдельно на тестовых данных. Обучение на сложных отрицательных примерах помогает сосредоточить обучение на примерах, которые модель часто путает. Модели Ultralytics YOLO26 предоставляют conf в режиме Predict: он отфильтровывает обнаружения ниже выбранного порога оценки и меняет набор ложных срабатываний, поступающих в приложение.
В здравоохранении ложноположительные результаты скрининга могут вызывать тревогу и приводить к дополнительным инвазивным процедурам.
FPR в компьютерном зрении#
При обнаружении объектов несопоставленные ограничивающие рамки считаются ложноположительными результатами; дублирующиеся рамки тоже могут учитываться как ложноположительные, даже если класс помеченного объекта совпадает и выполнены требования к пересечению по отношению к объединению. Для фоновых областей нет стандартного подсчёта истинно отрицательных результатов, поэтому при обнаружении объектов обычно используют число ложноположительных результатов на изображение или кривую точности и полноты. Чтобы вычислить FPR на уровне изображения, считай положительным результатом хотя бы одно обнаружение целевого класса: каждое изображение без целевого объекта, на котором есть такое обнаружение, даёт один FP независимо от количества рамок.
В сфере безопасности распознавание лиц может ошибочно сопоставлять личности. В оценке по схеме «один ко многим» NIST определяет долю ложной идентификации как долю поисковых запросов от людей, отсутствующих в галерее, для которых возвращается хотя бы один кандидат с оценкой выше порога совпадения.










