Назад к подготовке

Какой 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.