Калькулятор перекрёстной энтропии и log loss

Вставьте истинное распределение P и предсказанное Q — получите перекрёстную энтропию, энтропию P, дивергенцию Кульбака — Лейблера и перплексию. Или переключитесь на бинарные метки и получите log loss предсказанных классификатором вероятностей — в натах, битах или по основанию 10.

Числа через пробел или «; ». Распределение в сумме должно давать 1.
Столько же чисел, сколько в P. В режиме log loss — вероятность класса 1 для каждой метки.
Перекрёстная энтропия H(P, Q)0,356675
Энтропия H(P)
0
KL-дивергенция KL(P‖Q)
0,356675
Перплексия
1,4286
Классов
3

Работает в браузере: всё, что вы вводите, никуда не отправляется.

Как пользоваться

  1. Выберите режим. Два распределения: P — истинное распределение по классам, Q — предсказанное. Бинарные метки: в P метки 0/1, в Q — предсказанные вероятности класса 1.
  2. Вставьте числа в одинаковом порядке через пробел или «; ». Десятичный разделитель — запятая или точка: «0,7 0,2 0,1».
  3. Выберите логарифм: натуральный (наты, как в большинстве ML-библиотек), по основанию 2 (биты) или десятичный.

Формулы

  • Энтропия H(P) = −Σ pᵢ log pᵢ (слагаемые с pᵢ = 0 равны нулю).
  • Перекрёстная энтропия H(P, Q) = −Σ pᵢ log qᵢ.
  • KL(P‖Q) = H(P, Q) − H(P) = Σ pᵢ log(pᵢ ÷ qᵢ) ≥ 0.
  • Перплексия = основание^H(P, Q).
  • Log loss = −(1/N) Σ [yᵢ log qᵢ + (1 − yᵢ) log(1 − qᵢ)].

Пример

Верный класс — первый из трёх, P = (1; 0; 0), модель предсказывает Q = (0,7; 0,2; 0,1), натуральный логарифм:

  • H(P, Q) = −ln 0,7 = 0,356675.
  • H(P) = 0, значит KL(P‖Q) = 0,356675.
  • Перплексия = e^0,356675 = 1 ÷ 0,7 = 1,4286.

Log loss для меток 1; 0; 1; 1 и предсказаний 0,9; 0,1; 0,8; 0,4: (0,105361 + 0,105361 + 0,223144 + 0,916291) ÷ 4 = 0,337539, точность — 75 %.

Советы

  • Берите то же основание, что и фреймворк. PyTorch и TensorFlow считают потери в натах, книги по теории информации — в битах. 1 нат = 1,4427 бита.
  • Одна уверенная ошибка перевешивает. Одно предсказание 0,01 для верной метки добавляет к сумме 4,6 ната.
  • Распределение должно давать 1. Выход softmax даёт, а сырые оценки (логиты) — нет, их сначала нормируют.

Частые вопросы

Что такое перекрёстная энтропия?

H(P, Q) = −Σ p·log q показывает, сколько в среднем нат (или бит) нужно, чтобы кодировать исходы из P кодом, построенным для Q. Она минимальна и равна энтропии H(P), когда Q = P. В машинном обучении это стандартная функция потерь для классификации.

Как она связана с KL-дивергенцией?

KL(P‖Q) = H(P, Q) − H(P). Энтропия истинных меток от модели не зависит, поэтому минимизировать перекрёстную энтропию — то же, что минимизировать KL-дивергенцию. При one-hot метках H(P) = 0 и они равны.

Что такое log loss?

Средняя бинарная перекрёстная энтропия по набору данных: −(1/N) Σ [y·ln q + (1 − y)·ln(1 − q)], где y — метка 0/1, а q — предсказанная вероятность класса 1. Чем меньше, тем лучше; если всегда предсказывать 0,5, получится ln 2 = 0,693.

Что означает перплексия?

Перплексия = основание в степени перекрёстной энтропии — эффективное число равновероятных вариантов, между которыми «колеблется» модель. Языковая модель с перплексией 20 в среднем так же неуверенна, как при выборе из 20 слов.

Почему при q = 0 потери бесконечны?

Потому что log 0 — минус бесконечность: модель была уверена, что событие невозможно, а оно произошло. Библиотеки обходят это, обрезая вероятности до диапазона вроде 10⁻¹⁵ … 1 − 10⁻¹⁵; калькулятор вместо этого сообщает об ошибке.

Ещё в разделе «Разработчикам»

Все инструменты раздела: Разработчикам ·Обновлено 7 ноября 2026 г.

Настройки конфиденциальности

Google Analytics показывает нам, какими инструментами пользуются и работают ли они. Он может ставить cookie. Ваш выбор сохраняется в этом браузере.