Информатика / Кодирование информации

Перекрёстная энтропия дискретного распределения

Перекрёстная энтропия дискретного распределения даёт не только вычислительную запись, но и правило, какие данные определяют результат и как проверить его численно. Формула применяется к строго указанной модели; ниже разобраны предпосылки, два решённых задания и границы корректной интерпретации.

Опубликовано: Обновлено:

Формула

$$H(P,Q)=-\sum_i p_i\log_2q_i$$
Схема Перекрёстная энтропия честного P
Перекрёстная энтропия честного PПерекрёстная энтропия честного PQ=(q;1−q)0.0510.2751.3250.51.650.7251.9750.952.3qH(P,Q), бит

При q=0,5 значение равно 1 бит; избыток над ним равен KL(P||Q).

Обозначения

$x$
аргумент, состояние или вектор данных конкретной задачи, единицы исходной модели
$n,k,i,j$
целые индексы узла, шага либо компоненты, безразмерные
$ε / err$
допуск или оценка вычислительной ошибки, если она используется, единицы результата

Условия применения

P и Q должны быть распределениями на одном наборе событий. Для каждого p_i>0 требуется q_i>0, иначе сумма бесконечна; нулевые p_i не влияют. Основание 2 даёт биты, а переход к натуральному логарифму меняет только масштаб в 1/ln 2.

Ограничения

Результат нельзя переносить на похожую по словам, но другую модель. Оценка ошибки может быть локальной, а сходимость — зависеть от гладкости, обусловленности или начальных данных. Округление, вырождение матрицы и нарушения ограничений меняют смысл вычисления. Число после знака равенства не заменяет проверку: следует показать, какая именно формула применена, в каких единицах получен ответ и почему условия выполнены. Для информационных величин особенно важно не смешивать биты и натуральные единицы.

Подробное объяснение

Перекрёстная энтропия спрашивает, сколько в среднем бит потребует код, рассчитанный на Q, когда данные на самом деле приходят по P. Поэтому именно P стоит в весах, а Q — внутри логарифма.

Равенство H(P,Q)=H(P)+D_KL(P||Q) сразу объясняет минимум: при Q=P лишняя стоимость отсутствует. Если модель даёт малую вероятность частому событию, средняя цена резко растёт.

В обучении классификатора P часто является one-hot меткой, а Q — выходом softmax. Тогда потеря одного наблюдения равна −log вероятности правильного класса, что связывает формулу с максимальным правдоподобием.

Нельзя принимать log₂ и натуральный логарифм за одно и то же: первый даёт биты, второй — наты. Оптимум модели одинаков, но численное значение и масштаб градиентов различаются.

В первом примере −0,5log₂0,75≈0,207519 и −0,5log₂0,25=1; сумма 1,207519. Энтропия честного P равна одному, поэтому избыток 0,207519 совпадает с KL(P||Q). Это проверяет направление обоих распределений в формуле.

Как пользоваться формулой

  1. Выпишите H(P,Q)=-\sum_i p_i\log_2q_i и отметьте искомую величину; не заменяйте её одноимённым параметром из другой модели.
  2. Подготовьте данные в требуемой форме: проверьте индексы, знак, область аргумента, нормировку либо размерность.
  3. Выполните первое задание по действиям и сохраните промежуточные значения каждого коэффициента, отношения или суммы.
  4. Проверьте результат естественным способом: симметрией, точным частным случаем, невязкой или исходным ограничением.
  5. Разберите второе задание: изменённые данные показывают границу применимости и предупреждают типичную ошибку метода.

Историческая справка

Перекрёстная энтропия выросла из шенноновского анализа средней длины кодирования и стала стандартной записью для потери при вероятностном прогнозе. Если данные следуют P, а код или модель рассчитаны как Q, среднее число бит определяется −Σp log q. В 1951 году работа Кульбака и Лейблера сделала особенно прозрачной связь H(P,Q)=H(P)+D_KL(P||Q). В современной статистике эта формула объясняет, почему максимизация правдоподобия эквивалентна минимизации средней логарифмической потери.

Термин cross entropy вошёл в статистику и теорию кодирования как запись средней длины кода, выбранного по модельному распределению. Связь с дивергенцией Кульбака—Лейблера после статьи 1951 года сделала выражение основой логарифмической функции потерь.

Историческая линия формулы

Перекрёстная энтропия не принадлежит одному изолированному историческому акту: она следует из теории кодирования Шеннона и связи с дивергенцией Кульбака—Лейблера. В формуле важно направление: веса берутся из P, а логарифм — из Q. Источник в карточке указан для различения исторического имени, публикации и современной вычислительной формы; эти уровни не следует смешивать.

Пример

Для P=(0,5;0,5), Q=(0,75;0,25): H(P,Q)=−0,5log₂0,75−0,5log₂0,25≈1,207519 бита. Энтропия P равна 1, разность равна D_KL≈0,207519. В первом примере −0,5log₂0,75≈0,207519 и −0,5log₂0,25=1; сумма 1,207519. Энтропия честного P равна одному, поэтому избыток 0,207519 совпадает с KL(P||Q). Это проверяет направление обоих распределений в формуле. Перекрёстная энтропия спрашивает, сколько в среднем бит потребует код, рассчитанный на Q, когда данные на самом деле приходят по P. Поэтому именно P стоит в весах, а Q — внутри логарифма.

Частая ошибка

Нельзя усреднять log q_i с весами q_i: это была бы энтропия Q. Нельзя допускать q_i=0 для наблюдаемого класса. Не следует путать перекрёстную энтропию с KL, забывая H(P). И нельзя называть результат в битах при использовании ln без деления на ln2. В разборе «Перекрёстная энтропия дискретного распределения» проверяют именно обозначения и условия данной записи.

Практика

Задачи с решением

Перекрёстная энтропия при P=Q

Условие. Вычислите H(P,Q) при P=Q=(0,5;0,5).

Решение. −0,5log₂0,5−0,5log₂0,5=0,5+0,5=1.

Ответ. H(P,Q)=1 бит.

Штраф за малую вероятность

Условие. Вычислите H((1;0),(0,25;0,75)).

Решение. Ненулевой вес только у первого события: −log₂0,25=2.

Ответ. H(P,Q)=2 бита.

Дополнительные источники

  • https://onlinelibrary.wiley.com/doi/pdf/10.1002/j.1538-7305.1948.tb01338.x
  • https://doi.org/10.1214/aoms/1177729694

Связанные формулы

Информатика

Дивергенция Кульбака—Лейблера для дискретных распределений

$D_{KL}(P\|Q)=\sum_i p_i\log_2\frac{p_i}{q_i}$

Дивергенция Кульбака—Лейблера для дискретных распределений даёт не только вычислительную запись, но и правило, какие данные определяют результат и как проверить его численно. Формула применяется к строго указанной модели; ниже разобраны предпосылки, два решённых задания и границы корректной интерпретации.

Информатика

Взаимная информация двух дискретных величин

$I(X;Y)=\sum_{x,y}p(x,y)\log_2\frac{p(x,y)}{p(x)p(y)}$

Взаимная информация двух дискретных величин даёт не только вычислительную запись, но и правило, какие данные определяют результат и как проверить его численно. Формула применяется к строго указанной модели; ниже разобраны предпосылки, два решённых задания и границы корректной интерпретации.

Информатика

Ёмкость двоичного симметричного канала

$C=1-H_2(p),\quad H_2(p)=-p\log_2p-(1-p)\log_2(1-p)$

Ёмкость двоичного симметричного канала даёт не только вычислительную запись, но и правило, какие данные определяют результат и как проверить его численно. Формула применяется к строго указанной модели; ниже разобраны предпосылки, два решённых задания и границы корректной интерпретации.