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

Энтропия Шеннона: средняя информация дискретного источника

Энтропия Шеннона измеряет среднюю неопределённость исхода по его вероятностям. При двоичном логарифме результат выражают в битах на символ; редкие и частые символы вносят разный вклад.

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

Формула

$$H(X)=-\sum_{i=1}^{m}p_i\log_2p_i$$
Схема Вклады четырёх символов в H
Вклады четырёх символов в HВклады четырёх символов в HСимволp−log₂pВкладA1/210,5B1/420,5C1/830,375D1/830,375H = 0,5 + 0,5 + 0,375 + 0,375

Сумма последнего столбца равна 1,75 бит на символ.

Обозначения

$X$
дискретный случайный символ, безразмерная величина
$m$
число возможных символов, безразмерная величина
$i$
индекс символа, безразмерная величина
$pᵢ$
вероятность символа i, безразмерная величина
$H(X)$
энтропия источника, бит/символ

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

Вероятности неотрицательны и в сумме дают единицу. Здесь используется двоичный логарифм и конечный алфавит. Слагаемое нулевой вероятности принимают равным нулю по пределу. Для интерпретации H как средней границы посимвольного кодирования отдельно учитывают зависимости между символами.

Ограничения

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

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

Информация об отдельном исходе с вероятностью p равна −log₂p: маловероятный исход сильнее меняет ожидания. Энтропия усредняет эти значения с весами p. Поэтому редко возникающий символ может нести много информации при появлении, но его вклад в среднее ограничен малой частотой.

Для равновероятного алфавита из m символов каждое p равно 1/m. Все слагаемые одинаковы, и сумма превращается в log₂m. Это знакомый алфавитный подход, который получается как частный случай более общей формулы, а не как независимое правило.

При фиксированном числе символов равномерное распределение даёт максимальную энтропию. Если один исход становится почти достоверным, неопределённость уменьшается. Для единственного достоверного исхода H=0: сообщать, какой исход произошёл, уже не требуется.

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

При оценке вероятностей по выборке сначала делят частоты на общее число наблюдений. Нельзя подставлять проценты как числа 25 и 75: логарифм ожидает вероятности 0,25 и 0,75. В небольшой выборке вычисленная энтропия характеризует эмпирическое распределение и может отличаться от свойства самого источника.

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

  1. Составьте полный список вероятностей символов и проверьте, что их сумма равна единице с учётом округления.
  2. Для каждого положительного p вычислите −log₂p; символы с нулевой вероятностью пропустите по пределу.
  3. Умножьте информационное значение каждого исхода на его вероятность и сложите полученные вклады.
  4. Сравните ответ с границами 0 и log₂m и подпишите единицу бит на символ, а не общий размер сообщения.

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

В 1948 году Клод Шеннон опубликовал «Математическую теорию связи» в Bell System Technical Journal. Работа сформулировала вероятностный подход к передаче сообщений и связала неопределённость источника с возможностями кодирования. Историческая задача была инженерной: отделить статистические свойства сообщений от их конкретного смысла и описать ограничения каналов и кодов общим математическим языком. Современная запись H(X) с суммой по вероятностям сохраняет эту идею. Термин «энтропия» имеет связь с более ранней математической формой в статистической физике, но в теории информации он применяется к распределению сообщений. На этой странице рассматривается конечный дискретный источник; дифференциальная энтропия непрерывных величин имеет другие свойства и не получается простым переименованием единиц.

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

Формула информационной энтропии в данном контексте связана с работой Шеннона 1948 года. Это статистическая характеристика распределения сообщений; сходство математической формы с термодинамической энтропией не означает тождества физических единиц и смысла двух величин.

Пример

Источник выдаёт A,B,C,D с вероятностями 1/2,1/4,1/8,1/8. Информационные значения равны соответственно 1,2,3,3 бит. Взвешиваем их: H = (1/2)·1 + (1/4)·2 + (1/8)·3 + (1/8)·3 = 0,5+0,5+0,375+0,375 = 1,75 бит/символ. Для проверки сравним с четырьмя равновероятными символами: там было бы log₂4=2 бита. Здесь один символ появляется в половине случаев, поэтому неопределённость меньше максимальной. Двоичный префиксный код 0,10,110,111 имеет те же длины и средний расход 1,75 бит/символ, если не считать описание словаря и другие служебные данные.

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

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

Практика

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

Честный двоичный источник

Условие. Оба символа имеют вероятность 1/2. Найдите энтропию.

Решение. Два вклада равны −(1/2)log₂(1/2)=1/2. Их сумма равна 1.

Ответ. 1 бит/символ

Достоверный символ

Условие. Вероятности двух исходов равны 1 и 0. Найдите энтропию.

Решение. Первый вклад −1·log₂1=0. Второй равен нулю по принятому пределу.

Ответ. 0 бит/символ

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

  • https://www.nokia.com/bell-labs/publications-and-media/publications/a-mathematical-theory-of-communication/
  • https://www.princeton.edu/~wbialek/rome/refs/shannon_48.pdf
  • https://ocw.mit.edu/courses/6-02-introduction-to-eecs-ii-digital-communication-systems-fall-2012/4bcb4b872e8e98459ce71e77d4fe9c42_MIT6_02F12_chap02.pdf

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

Информатика

Средняя длина кода Хаффмана: расход бит на символ

$\overline{L}=\sum_{i=1}^{m}p_i\ell_i$

Средняя длина двоичного кода равна сумме длин кодовых слов с весами вероятностей символов. Для кода Хаффмана этот расход минимален среди двоичных посимвольных префиксных кодов с заданными вероятностями.