К тренажеру
ВопросMediumml-metricsРеальный собес

Какой constant classifier минимизирует binary logloss

Есть датасет с N0 отрицательными и N1 положительными примерами. Классификатор всегда выдает одну вероятность p. Какое p минимизирует binary logloss?

Короткий ответ

Оптимальная константа равна доле положительного класса: p = N1 / (N0 + N1).

Полный разбор

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).
  • Не ограничить p интервалом (0, 1).

Как отвечать на собеседовании

  • Сначала запиши loss по N0/N1, потом производную.
  • После формулы дай интуицию: оптимум равен base rate.