#ML
Последователи Decision Models, Jev и иже с ними уже обретают черты религиозного культа 😵💫
Особо продвинутые самопровозглашённые пророки уже требуют упразднить скоринговые и NBO/NBA модели — всё же «заменят Decision Models».
Тем, кто изучает ML исключительно по Telegram-каналам и верит в «калиброванные вероятности из коробки», посвящается.
Что такое калиброванная вероятность?
От бинарного классификатора часто хочется получить не метку, а скор от 0 до 1, соответствующий вероятности события. Например, из 1000 заёмщиков со скором 0.6 примерно 600 должны выйти в дефолт, а со скором 0.05 — примерно 50. Если это свойство выполняется на всём диапазоне скоров, модель идеально откалибрована.
На практике скоры разбивают на бины (например, 0–0.05, 0.05–0.1), сравнивая среднюю вероятность дефолта (PD) с фактической долей дефолтов (DR). Так строят калибровочную кривую.
Взвешенное по доле наблюдений в бинах среднее абсолютных разностей PD и DR называется ECE (Expected Calibration Error). Преобразование выходов модели для улучшения соответствия предсказанных вероятностей фактическим частотам называют калибровкой.
Для других задач вместо DR используют ER (Event Rate). Есть и более слабое условие — calibration-in-the-large, когда средний скор совпадает с ER всей выборки.
ER может меняться со временем. В кредитном скоринге различают PIT (Point-in-Time), учитывающий текущие экономические условия, и TTC (Through-the-Cycle), отражающий долгосрочный риск на протяжении экономического цикла.
Но скоры распределены неравномерно, поэтому в разных бинах разное количество наблюдений и разная точность оценки DR. Следовательно, у калибровочных кривых есть доверительные интервалы.
Все еще сложнее
Aleatoric uncertainty — неопределённость самого исхода. Даже зная, что вероятность дефолта 50%, мы не можем уверенно предсказать исход для конкретного заёмщика.
Epistemic uncertainty (EU) — недостаток знаний модели. Например, когда похожих заёмщиков почти не было в обучающей выборке. Два клиента могут получить одинаковый скор 0.5, хотя для одного у нас сотни тысяч похожих наблюдений, а для другого — практически ни одного. EU приближённо оценивают через ансамбли и бутстрап. В CatBoost для этого есть
Virtual Ensembles, позволяющие оценивать Data и Knowledge Uncertainty.
Если все модели ансамбля предсказывают около 0.5, это может указывать на высокую неопределённость исхода. Если половина предсказывает 0.1, а половина 0.9 — скорее на недостаток знаний. Хотя ансамбли тоже умеют дружно ошибаться.
Калибровка, Aleatoric и Epistemic uncertainty — разные вещи.
Даже идеально откалиброванная модель может систематически ошибаться на отдельных сегментах или при изменении распределения данных.
Для серьёзных бизнес-кейсов одного калиброванного скора недостаточно. Нужны независимая валидация, проверка калибровки с доверительными интервалами, устойчивости во времени и по сегментам, иногда — отдельная оценка Epistemic uncertainty.
А для NBO/NBA вероятность события вообще не равна полезности действия. Нужны стоимости ошибок, ограничения и оценка влияния действий на результат.
Вернёмся к Jev
Когда заявляют о «калиброванных вероятностях из коробки», хочется спросить:
• На чем калибровали и проверяли?
• Что происходит при смещении данных и на новых доменах?
• Как оценивается Epistemic uncertainty?
Пока ответов нет, число 0.97 на выходе Decision Model — просто выход модели, вероятностную интерпретацию которого ещё нужно подтвердить.
И тут бы мне продемонстрировать калибровку Jev на каком-нибудь датасете, но мне лень, поскольку это
сделали вскоре после её выхода на двух задачах классификации текстов.
А чуть позже —
на задаче обнаружения prompt injection.
Результаты ожидаемо показали, что калибровки на произвольной новой задаче из коробки нет.
Итого: чтобы использовать Jev в проде, её придётся долго и упорно тестировать на вашем рейсе — с выдумкой и смекалкой.
А если нужно классифицировать тексты и есть разметка, разумнее взять предобученный BERT, дообучить классификационную голову (при необходимости — и энкодер), откалибровать и провалидировать.