Какой constant classifier минимизирует binary logloss
Есть датасет с N0 отрицательными и N1 положительными примерами. Классификатор всегда выдает одну вероятность p. Какое p минимизирует binary logloss?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Если N0 + N1 > 0, оптимальная константа равна доле положительного класса: p = N1 / (N0 + N1). При N1 = 0 оптимум на границе p = 0, при N0 = 0 - p = 1.
Полный разбор
Binary logloss для константного предсказания:
L(p) = -N1 log(p) - N0 log(1-p).
Берем производную:
dL/dp = -N1 / p + N0 / (1-p).
Приравниваем к нулю:
N1 / p = N0 / (1-p), значит N1(1-p)=N0p, откуда p = N1 / (N0 + N1).
Интерпретация: если модель ничего не знает о признаках и должна выдавать одну вероятность для всех объектов, лучший calibrated прогноз - это base rate положительного класса.
Теория
Logloss является proper scoring rule: минимальный ожидаемый loss достигается, когда предсказанная вероятность равна истинной вероятности события. Для константной модели истинная вероятность оценивается class prior.
Типичные ошибки
- Ответить 0.5 независимо от class balance.
- Потерять знак при дифференцировании log(1-p).
- Забыть граничные случаи N1 = 0 или N0 = 0 и численное clipping в реализации.
Как отвечать на собеседовании
- Сначала запиши loss по N0/N1, потом производную.
- После формулы дай интуицию: оптимум равен base rate.