Расскажу парочку способов откалибровать вашу модель.
1) Бета-калибровка (Beta Calibration).
Бета-калибровка — это метод калибровки вероятностных моделей, который корректирует выходные "сырые" вероятности модели, чтобы они лучше соответствовали реальной частоте событий. Использует бета-распределение для моделирования связи между предсказанными и истинными вероятностями.
Pкалиб = a*P/(a*p+b(1-P))
Где a, b - подобранные параметры бета-распределения, их мы подбираем на валидационной выборке.
Плюсы:
✅ Гибкость — хорошо работает для разных типов данных, включая несбалансированные выборки.
✅ Интерпретируемость — параметры a,b имеют четкий статистический смысл.
✅ Улучшение метрик — повышает точность вероятностей (логарифмические потери, Brier score).
✅ Простота — реализуется за несколько строк кода (даже на SQL)
Минусы:
❌ Зависит от валидационных данных — требует репрезентативной выборки для калибровки.
❌ Не решает проблему смещения модели — если модель изначально плоха, калибровка не поможет.
❌ Вычислительная стоимость — требует подбора параметров, что может быть затратно для больших данных.
2) Isotonic Regression (Изотоническая регрессия)
Isotonic Regression — это непараметрический метод калибровки вероятностей, который строит монотонно возрастающую функцию, преобразующую "сырые" предсказания модели (например, от SVM или нейросетей) в вероятности, соответствующие реальной частоте событий. На валидационной выборке сравниваются предсказанные вероятности P и истинные метки y. Строится кусочно-линейная монотонная функция, которая минимизирует среднеквадратичную ошибку (MSE) между P и y. Функция "выравнивает" вероятности, сохраняя их порядок (изотоничность).
Плюсы:
✅ Гибкость — адаптируется к сложным нелинейным зависимостям (в отличие от логистической регрессии).
✅ Точность — часто дает лучшую калибровку, чем Platt Scaling или Beta Calibration, особенно для необычных распределений.
Минусы:
❌ Склонность к переобучению — требует достаточно большой валидационной выборки.
❌ Вычислительная сложность — алгоритм работает за O(nlogn), что медленнее, чем Beta Calibration.
❌ Нестабильность на краях — может давать резкие скачки для экстремальных значений.
3) Platt Scaling (Калибровка Платта)
Platt Scaling — это параметрический метод калибровки вероятностей, который использует логистическую регрессию для преобразования "сырых" выходов модели (например, SVM, нейросетей) в хорошо откалиброванные вероятности. Модель выдает "сырые" предсказания s (например, расстояния до разделяющей гиперплоскости в SVM). На валидационной выборке обучается логистическая регрессия с одним признаком — s:
Pкалиб = 1/ (1 + е **-(a*s + b))
где a,b — параметры, подобранные методом максимального правдоподобия. Полученная функция "сжимает" предсказания в диапазон [0, 1], делая их интерпретируемыми как вероятности.
Плюсы:
✅ Простота — реализуется за несколько строк кода (например, через sklearn).
✅ Универсальность — работает с любыми моделями, выдающими scores (SVM, boosting, нейросети).
✅ Устойчивость к шуму — меньше склонен к переобучению, чем Isotonic Regression.
Минусы:
❌ Линейные ограничения — предполагает, что связь s и вероятностями монотонная и логит-линейная.
❌ Требует валидационных данных — как и все методы калибровки, нуждается в репрезентативной выборке.
❌ Плохо работает для экстремальных значений — может давать слишком "мягкие" вероятности около 0 или 1.
Важное замечание: все три вида калибровки не влияют на ROCAUC, потому что они не меняют порядок предсказаний, а только корректирует их абсолютные значения (вероятности).
Решает ли калибровка полностью проблему ошибок 1 и 2 рода? Увы, но нет. Поэтому если вам отказали в выдаче кредита, не расстраивайтесь, я-то знаю что вы точно хороший заемщик!
Post #36
1.56K

- 👍 4
- ❤🔥 3
- 💯 2