Калибровка вероятностей

Материал из MachineLearning.

Версия от 13:51, 13 июля 2026; Gadel Mahmutov (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM Claude Sonnet 5 и проверена участником Gadel Mahmutov 17:51, 13 июля 2026 (MSD)

Промпт приводится полностью в Обсуждение:Калибровка вероятностей


Калибро́вка вероя́тностей (англ. probability calibration, calibration) — свойство вероятностной модели классификации, состоящее в том, что предсказанные ею значения вероятностей соответствуют реальным (эмпирическим) частотам событий. Модель называется хорошо откалиброванной, если среди всех объектов, которым она приписала вероятность принадлежности к классу, скажем, 0,8, доля объектов этого класса действительно близка к 80 %[1].

Калибровка — самостоятельное свойство модели, не сводящееся к точности (accuracy) или иным метрикам качества классификации. Модель может обладать высокой точностью и при этом быть плохо откалиброванной: например, систематически завышать или занижать уверенность в своих предсказаниях. Это особенно важно в задачах, где выходная вероятность используется не только для принятия решения "класс A или класс B", но и напрямую — как оценка риска, надёжности или уверенности: в медицинской диагностике, кредитном скоринге, автономных системах принятия решений, метеорологии, а также при выборе порога отсечения, взвешивании прогнозов в ансамблях и оценке неопределённости предсказаний.

Содержание

Определение

Пусть модель классификации возвращает для объекта x оценку вероятности \hat{p}(x) \in [0,1] принадлежности к положительному классу, а y \in \{0,1\} — истинная метка. Модель называется идеально откалиброванной (perfectly calibrated), если для любого значения p \in [0,1] выполняется


\mathbb{P}(y = 1 \mid \hat{p}(x) = p) = p.

На практике это условие проверяется приближённо, поскольку событие \hat{p}(x) = p для непрерывной оценки почти никогда не реализуется буквально — предсказания группируют в интервалы

Для задач с числом классов K > 2 различают несколько уровней калибровки[1]:

  • Калибровка по топ-метке (top-label calibration) — соответствие вероятностям только наиболее вероятного (предсказанного) класса.
  • Классово-специфичная калибровка (class-wise calibration) — каждая из K компонент вектора вероятностей откалибрована независимо, по схеме «один против всех».
  • Полная (совместная) калибровка — согласованность всего вектора-распределения по классам, наиболее строгое и наиболее трудно достижимое требование.

Калибровка не влияет на решающее правило по умолчанию (аргмакс) и, соответственно, не меняет точность классификатора — она лишь переоценивает шкалу уверенности.

История

Идея сопоставления субъективных вероятностных прогнозов и эмпирической частоты их подтверждения восходит к работам по прогнозированию в метеорологии. Г. Брайер в 1950 году предложил количественную меру качества вероятностных прогнозов погоды, впоследствии названную его именем (Brier score)[1]. А. Мёрфи в 1973 году показал, что эта мера раскладывается на интерпретируемые компоненты, одна из которых непосредственно измеряет калибровку[1]. Формальное статистическое понятие «хорошо откалиброванного прогнозиста» ввёл А. Ф. Давид[1], а М. Де Гроот и С. Файнберг систематизировали методы сравнения и оценки прогнозистов, включая разложение на калибровку и разрешающую способность[1].

В машинном обучении методы посткалибровки получили распространение в 1990–2000-х годах вместе с классификаторами, которые исходно не выдают вероятности (либо выдают плохо интерпретируемые оценки) — в первую очередь с методом опорных векторов (SVM). Дж. Платт в 1999 году предложил преобразовывать выход SVM в вероятность с помощью сигмоидной функции, подгоняемой на отдельной выборке[1] — этот подход впоследствии стали называть Платт-скалированием. Б. Задрозный и Ч. Элкан в 2002 году предложили непараметрический подход на основе изотонической регрессии, а также обобщили калибровку на многоклассовый случай[1]. А. Никулеску-Мизил и Р. Каруана в 2005 году провели масштабное эмпирическое сравнение методов калибровки на разных семействах моделей (в том числе случайных лесах, бустинге и нейронных сетях) и показали, какие алгоритмы исходно дают плохо откалиброванные вероятности и почему[1].

Интерес к теме резко возрос с распространением глубоких нейронных сетей. Ч. Го, Г. Плейс, Ю. Сунь и К. Вайнбергер в 2017 году эмпирически показали, что современные глубокие сети, в отличие от неглубоких моделей десятилетней давности, систематически плохо откалиброваны и, как правило, переуверены (overconfident) в своих предсказаниях, причём степень некалиброванности растёт с глубиной и шириной сети, а также при использовании batch normalization, даже когда точность классификации продолжает расти[1]. В той же работе было показано, что простой однопараметрический метод — температурное масштабирование — на большинстве наборов данных не уступает более сложным методам[1]. Позднее М. Миндерер и соавторы (2021) частично пересмотрели эти выводы, показав, что для более новых архитектур тренд «чем больше модель — тем хуже калибровка» ослабевает в условиях внутри распределения и меняется на противоположный при сдвиге распределения (distribution shift)[1].

Метрики оценки калибровки

Диаграмма надёжности

Диаграмма надёжности (reliability diagram, calibration curve, calibration plot) — основной визуальный инструмент диагностики калибровки. Предсказанные вероятности разбиваются на M интервалов (bins) равной ширины, например [0, 0.1), [0.1, 0.2), \ldots, [0.9, 1.0]. Для каждого интервала B_m вычисляется средняя предсказанная вероятность (confidence) и реальная доля положительных исходов (accuracy):


\text{conf}(B_m) = \frac{1}{|B_m|}\sum_{i \in B_m} \hat{p}(x_i), \qquad
\text{acc}(B_m) = \frac{1}{|B_m|}\sum_{i \in B_m} \mathbb{1}[y_i = \hat{y}_i].

Если модель откалибрована идеально, точки (\text{conf}(B_m), \text{acc}(B_m)) ложатся на диагональ y=x. Отклонение вверх от диагонали означает недостаточную уверенность модели (underconfidence), отклонение вниз — избыточную уверенность (overconfidence)[1].

Expected Calibration Error и Maximum Calibration Error

Ожидаемая ошибка калибровки (Expected Calibration Error, ECE) агрегирует расхождения по всем интервалам диаграммы надёжности во взвешенную сумму:


\text{ECE} = \sum_{m=1}^{M} \frac{|B_m|}{n} \left| \text{acc}(B_m) - \text{conf}(B_m) \right|,

где n — общее число объектов. Максимальная ошибка калибровки (Maximum Calibration Error, MCE) задаётся как \max_m |\text{acc}(B_m) - \text{conf}(B_m)| и используется в приложениях, критичных к риску, где важен наихудший, а не средний случай[1]. Оба показателя чувствительны к выбору числа и ширины интервалов, что является их известным ограничением и предметом дальнейших методических уточнений (адаптивные по плотности интервалы, ядерные оценки и т. п.).

Оценка Брайера

Оценка (счёт) Брайера (Brier score) для бинарной классификации — это средний квадрат отклонения предсказанной вероятности от истинной метки:


\text{BS} = \frac{1}{n}\sum_{i=1}^{n} \left(\hat{p}(x_i) - y_i\right)^2.

Оценка Брайера является строго правильным правилом подсчёта очков (strictly proper scoring rule): её математическое ожидание минимально тогда и только тогда, когда предсказанная вероятность совпадает с истинной, что делает её удобной целевой функцией для сравнения калибровки разных моделей[1]. Мёрфи показал, что оценку Брайера можно разложить на сумму слагаемых, интерпретируемых как надёжность (калибровка), разрешение (resolution) и неопределённость (uncertainty) базовой частоты класса[1]:


\text{BS} = \underbrace{\frac{1}{n}\sum_{m=1}^{M}|B_m|\big(\text{conf}(B_m)-\text{acc}(B_m)\big)^2}_{(1)} - \underbrace{\frac{1}{n}\sum_{m=1}^{M}|B_m|\big(\text{acc}(B_m)-\bar{y}\big)^2}_{(2)} + \underbrace{\bar{y}(1-\bar{y})}_{(3)},

где:

  • (1)калибровочная ошибка (calibration term) — измеряет расхождение между уверенностью модели (confidence) и её реальной точностью (accuracy) в каждом бине;
  • (2)уточнение (refinement term) — характеризует, насколько точность модели в бинах отличается от общей средней доли положительного класса \bar{y};
  • (3) — неустранимая дисперсия (irreducible variance), связанная с базовой частотой положительного класса в выборке.

Здесь B_m — множество примеров, попавших в m-й бин по уверенности предсказания, |B_m| — число примеров в этом бине, n — общий размер выборки, M — число бинов, \text{conf}(B_m) и \text{acc}(B_m) — средняя уверенность и точность модели в бине B_m соответственно, \bar{y} — доля положительного класса во всей выборке.

Логарифмическая функция потерь

Логарифмическая функция потерь (log-loss, negative log-likelihood) — ещё одна строго правильная функция подсчёта очков, широко применяемая как для обучения, так и для оценки калибровки:


\text{NLL} = -\frac{1}{n}\sum_{i=1}^{n} \left[y_i \log \hat{p}(x_i) + (1-y_i)\log(1-\hat{p}(x_i))\right].

В отличие от ECE, log-loss сильно штрафует уверенные, но неверные предсказания (при \hat p \to 0 или \hat p \to 1 значение потерь стремится к бесконечности), поэтому её часто используют как целевую функцию при подборе параметров калибровочного отображения, в частности в температурном масштабировании[1].

Методы калибровки

Методы калибровки обычно применяются после обучения основной модели (post-hoc calibration), на отдельной, не участвовавшей в обучении калибровочной выборке (calibration set / hold-out set), что критически важно: подбор калибровочного отображения на обучающей выборке приводит к переоценке качества калибровки из-за переобучения[1].

Платт-скалирование

Платт-скалирование (Platt scaling) отображает исходный выход модели (score) s(x) в вероятность с помощью сигмоидной функции с двумя обучаемыми параметрами a, b:


\hat{p}(x) = \frac{1}{1 + \exp(a \cdot s(x) + b)}.

Параметры a и b подбираются максимизацией правдоподобия (минимизацией log-loss) на калибровочной выборке[1]. Метод исходно предложен для калибровки выходов SVM, но применим к любому классификатору, дающему монотонно связанный с вероятностью класса скор. Он опирается на предположение, что условные по классам распределения скоров приблизительно нормальны с равными дисперсиями[1]. Из-за параметрической (сигмоидной) формы Платт-скалирование хорошо работает при малых калибровочных выборках, но плохо исправляет калибровочные кривые немонотонной или существенно несимметричной формы.

Изотоническая регрессия

Изотоническая регрессия — непараметрический метод, подбирающий произвольную неубывающую (кусочно-постоянную) функцию g, минимизирующую сумму квадратов ошибок среди всех неубывающих функций:


\min_{g \,\in\, \mathcal{G}_{\uparrow}} \sum_{i=1}^{n} \left(y_i - g(s(x_i))\right)^2,

где \mathcal{G}_{\uparrow} — класс всех неубывающих (изотонических) функций.

Задача эффективно решается алгоритмом pool adjacent violators (PAVA). Изотоническая регрессия гибче Платт-скалирования и не накладывает предположений о форме калибровочной кривой, однако требует больше калибровочных данных и более склонна к переобучению на малых выборках[1][1].

Бета-калибровка

Бета-калибровка (beta calibration) — семейство калибровочных отображений на основе функции плотности бета-распределения, обобщающее Платт-скалирование на случай асимметричных условных распределений скоров; в отличие от логистической модели, допускает немонотонные по параметрам, но при этом остающиеся монотонными по s калибровочные кривые[1].

Температурное масштабирование

Температурное масштабирование (temperature scaling) — метод калибровки многоклассовых моделей, основанных на функции softmax, предложенный Го и соавторами в 2017 году как частный (однопараметрический) случай Платт-скалирования[1]. Пусть \mathbf{z}(x) — вектор логитов (выход сети до softmax). Калиброванное предсказание задаётся как


\hat{\mathbf{p}}(x) = \text{softmax}\left(\frac{\mathbf{z}(x)}{T}\right),

где скалярный параметр T > 0 («температура») подбирается минимизацией log-loss на калибровочной выборке. При T = 1 предсказания не меняются; при T > 1 распределение «размягчается» (уменьшается уверенность), при T < 1 — «заостряется». Поскольку деление логитов на общую константу не меняет их относительный порядок, температурное масштабирование не меняет аргмакс и, следовательно, не влияет на точность классификации, а только перешкалирует уверенность[1][1]. Благодаря единственному параметру метод устойчив даже на небольших калибровочных выборках и стал стандартным базовым методом калибровки нейронных сетей[1]. Идейно он связан с параметром «температуры» в дистилляции знаний (knowledge distillation) Хинтона и соавторов, где аналогичное смягчение softmax применяется в иных целях.

Ограничение метода в том, что единственный общий параметр не может независимо скорректировать калибровку по разным классам; для этого предложены обобщения — векторное масштабирование (vector scaling, отдельный параметр на класс) и матричное масштабирование (matrix scaling, полное аффинное преобразование логитов), а также Дирихле-калибровка (Dirichlet calibration), моделирующая калибровочное отображение как обобщённую логистическую регрессию на логарифмах вероятностей и позволяющая корректировать не только общую уверенность, но и систематическую путаницу между конкретными парами классов[1].

Многоклассовая калибровка через приведение к бинарной

Для моделей с числом классов K>2 без нативно многоклассовых методов задачу часто сводят к K независимым бинарным задачам «один против всех» с последующей нормировкой (renormalization) вероятностей к единичной сумме — этот подход использовали ещё Задрозный и Элкан при обобщении изотонической регрессии на многоклассовый случай[1].

Калибровка глубоких нейронных сетей

Работа Го и соавторов (2017) экспериментально показала несколько устойчивых закономерностей для современных на тот момент архитектур классификации изображений и текста[1]:

  • глубина и ширина сети, наличие batch normalization и величина регуляризации весов (weight decay) существенно влияют на степень некалиброванности;
  • некалиброванность может расти по мере того, как ошибка классификации продолжает уменьшаться — то есть сеть учится делать всё более уверенные предсказания быстрее, чем растёт её реальная точность (переобучение по log-loss на фоне продолжающегося роста accuracy);
  • среди сопоставленных методов (Платт-скалирование, изотоническая регрессия, гистограммное биннинг, матричное/векторное/температурное масштабирование) наиболее простое — температурное масштабирование — на большинстве наборов данных показало результат, сопоставимый или лучший, чем у более гибких альтернатив.

Последующие исследования уточнили и частично скорректировали эту картину. Миндерер и соавторы (2021) показали, что для более новых семейств архитектур (в том числе не основанных на свёрточных сетях) связь между размером модели и калибровкой ослабевает внутри распределения обучающих данных и меняется на противоположную при распределительном сдвиге между обучающими и тестовыми данными[1]. Ряд работ также предложил альтернативные подходы к калибровке во время самого обучения (train-time calibration) — например, регуляризацию, штрафующую излишне «уверенные» выходные распределения[1], или использование сглаживания меток (label smoothing) и focal loss как альтернатив посткалибровке[1].

Практические рекомендации

  • Калибровочное отображение всегда подбирается на выборке, отдельной от обучающей и от финальной тестовой (обычно это часть валидационных данных); использование обучающей выборки даёт смещённую, завышенную оценку качества калибровки.
  • Хорошая точность классификации не гарантирует хорошую калибровку и наоборот — это независимые оси качества модели, которые стоит проверять отдельно, особенно если выходная вероятность используется в дальнейших расчётах (например, в задачах принятия решений с асимметричной ценой ошибок или при усреднении/взвешивании прогнозов нескольких моделей).
  • Диаграмму надёжности и ECE полезно строить не только на всей выборке, но и на отдельных подгруппах данных (по классам, по подвыборкам с распределительным сдвигом), поскольку общая калиброванность не гарантирует калиброванности внутри подгрупп.
  • При малом объёме калибровочной выборки предпочтительны параметрические методы с малым числом параметров (Платт-скалирование, температурное масштабирование); при большом объёме данных и сложной форме несоответствия — непараметрические методы (изотоническая регрессия) или более гибкие многопараметрические обобщения (матричное, Дирихле-калибрование).

См. также

Примечания


Список литературы

  1. Brier G. W. Verification of Forecasts Expressed in Terms of Probability // Monthly Weather Review. — 1950. — Vol. 78, No. 1. — P. 1–3.
  2. Murphy A. H. A New Vector Partition of the Probability Score // Journal of Applied Meteorology. — 1973. — Vol. 12, No. 4. — P. 595–600.
  3. Dawid A. P. The Well-Calibrated Bayesian // Journal of the American Statistical Association. — 1982. — Vol. 77, No. 379. — P. 605–610.
  4. DeGroot M. H., Fienberg S. E. The Comparison and Evaluation of Forecasters // The Statistician. — 1983. — Vol. 32, No. 1/2. — P. 12–22.
  5. Platt J. C. Probabilistic Outputs for Support Vector Machines and Comparisons to Regularized Likelihood Methods // Advances in Large Margin Classifiers. — 1999. — Vol. 10, No. 3. — P. 61–74.
  6. Zadrozny B., Elkan C. Transforming Classifier Scores into Accurate Multiclass Probability Estimates // Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. — 2002. — P. 694–699.
  7. Niculescu-Mizil A., Caruana R. Predicting Good Probabilities with Supervised Learning // Proceedings of the 22nd International Conference on Machine Learning (ICML). — 2005. — P. 625–632.
  8. Naeini M. P., Cooper G., Hauskrecht M. Obtaining Well Calibrated Probabilities Using Bayesian Binning // Proceedings of the 29th AAAI Conference on Artificial Intelligence. — 2015. — P. 2901–2907.
  9. Guo C., Pleiss G., Sun Y., Weinberger K. Q. On Calibration of Modern Neural Networks // Proceedings of the 34th International Conference on Machine Learning (ICML). — 2017. — Vol. 70. — P. 1321–1330.
  10. Kull M., Silva Filho T., Flach P. Beyond Sigmoids: How to Obtain Well-Calibrated Probabilities from Binary Classifiers with Beta Calibration // Electronic Journal of Statistics. — 2017. — Vol. 11, No. 2. — P. 5052–5080.
  11. Pereyra G., Tucker G., Chorowski J., Kaiser Ł., Hinton G. Regularizing Neural Networks by Penalizing Confident Output Distributions // ICLR Workshop track. — 2017.
  12. Kull M., Perello-Nieto M., Kängsepp M., Silva Filho T., Song H., Flach P. Beyond Temperature Scaling: Obtaining Well-Calibrated Multi-class Probabilities with Dirichlet Calibration // Advances in Neural Information Processing Systems (NeurIPS). — 2019. — Vol. 32.
  13. Minderer M. et al. Revisiting the Calibration of Modern Neural Networks // Advances in Neural Information Processing Systems (NeurIPS). — 2021. — Vol. 34.
Личные инструменты