Перейти к содержанию
Избранное

Калькулятор энтропии Шеннона

Обновлено:

Рассчитайте энтропию Шеннона для любого набора вероятностей или частот. Введите значения по категориям, выберите основание логарифма (биты, наты или диты) — и получите H, максимальную энтропию и коэффициент эффективности.

Оценка неопределённости распределения

Поля ввода
Если включено, результат будет автоматически обновляться при изменении любого значения.

Формула энтропии Шеннона

Формула
\[ H = -\sum_{i=1}^{k} p_i \log_b p_i = \sum_{i=1}^{k} p_i \log_b \frac{1}{p_i} \]

Где:

  • \(p_i\) — вероятность категории \(i\) (количества нормализуются: \(p_i = n_i / n\));
  • \(k\) — число категорий;
  • \(b\) — основание логарифма: при 2 получаются биты, при \(e\) — наты, при 10 — диты (хартли).

Формула отражает среднюю неожиданность, или информативность, исхода, извлечённого из этого распределения: каждый член учитывает информацию \(\log_b(1/p_i)\) категории с весом, равным частоте её появления.

Энтропия Шеннона — пример расчёта

Пример: в опросе 100 человек просили назвать любимый бренд из четырёх; количества ответов — 40, 30, 20 и 10. Они нормализуются в вероятности \(p = (0.4,\ 0.3,\ 0.2,\ 0.1)\), основание логарифма — 2 (биты).

\[ H = -(0.4\log_2 0.4 + 0.3\log_2 0.3 + 0.2\log_2 0.2 + 0.1\log_2 0.1) \]

\[ H = 0.5288 + 0.5211 + 0.4644 + 0.3322 = 1.8464 \text{ бит} \]

\[ H_{max} = \log_2 4 = 2 \text{ бит}, \quad \frac{H}{H_{max}} = \frac{1.8464}{2} = 0.9232 \]

Результат: \(H \approx 1.8464\) бит, то есть 92,32% от максимума — распределение близко к равномерному по четырём категориям.

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

  1. Введите значения в поле «Вероятности или количества по категориям» — по одному на категорию, разделяя их пробелами, точками с запятой или переносами строк. Можно указать вероятности (например, 0,5; 0,25; 0,25) или исходные количества (например, 40; 30; 20; 10); десятичной запятой пользоваться можно.
  2. Установите «Тип входных данных» в режим «Автоопределение» (значения, дающие в сумме 1, считаются вероятностями) либо принудительно выберите «Вероятности (должны давать в сумме 1)» или «Количества / частоты (нормализуются)», если автоматический выбор неоднозначен.
  3. Выберите основание логарифма: 2 — для битов, \(e\) — для натов, 10 — для дитов (хартли).
  4. Прочитайте результаты: энтропия Шеннона H, максимальная возможная энтропия \(H_{max}\) для вашего числа категорий, эффективность \(H/H_{max}\) и разбивка по категориям с вероятностью каждой, её информативностью и вкладом в H.

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

Энтропия Шеннона, предложенная Клодом Шенноном в 1948 году, измеряет неопределённость распределения вероятностей: насколько трудно в среднем предсказать, какая категория выпадет. Это математическое ожидание «неожиданности» исхода \(\log_b(1/p_i)\). Редкие события удивляют сильно (большая величина \(\log_b(1/p_i)\)), но случаются редко; частые события происходят часто, но почти не удивляют. Энтропия — равновесие между этими двумя факторами, средневзвешенная по вероятностям неожиданность.

Значение H лежит в пределах от 0 до \(\log_b k\). Оно равно 0, когда один исход предопределён (единичная вероятность \(p_i = 1\)), и максимально при равномерном распределении — тогда никакая догадка не лучше другой. При основании 2 единицей измерения служит бит, и H можно понимать буквально как ожидаемое число вопросов «да/нет», необходимых для выяснения исхода — идея, лежащая в основе сжатия данных и теории кодирования. При основании \(e\) единицы называются натами, они распространены в машинном обучении и физике; основание 10 даёт диты. Смена основания лишь меняет масштаб H: порядок распределений по величине энтропии и отношение \(H/H_{max}\) остаются прежними.

Эффективность \(H/H_{max}\) (её также называют нормированной или относительной энтропией) показывает, насколько ваше распределение близко к максимально неопределённому. В примере выше 92,32% означают, что четыре бренда делят рынок почти поровну. Значение, близкое к 0, говорит о том, что исход почти предсказуем. Поскольку это отношение безразмерно, оно удобнее всего для сравнения неопределённости распределений с разным числом категорий — чего «сырая» величина H сделать не может, ведь \(H_{max}\) растёт вместе с \(k\).

Допущения, ограничения и советы

  • Полное распределение: значения должны охватывать все категории. Вероятности обязаны давать в сумме 1 (небольшая погрешность округления исправляется автоматически); количества нормализуются так, чтобы это условие выполнялось.
  • Нулевые вероятности: по соглашению \(0 \cdot \log 0 = 0\), поэтому пустые категории ничего не добавляют — но учтите, что категория с нулевой вероятностью всё же увеличивает \(k\), а значит, и \(H_{max}\), снижая эффективность.
  • Категории, а не величины: энтропия измеряет неопределённость относительно того, какая категория выпадет, а не размер значений. Она не учитывает порядок категорий, расстояния между ними и их названия, поэтому энтропия — не мера разброса; для этого воспользуйтесь калькулятором асимметрии и эксцесса.
  • Выборочные данные: при малых выборках энтропия, оценённая по количествам, занижается. Поправка на смещение (Миллера–Мэдоу) добавляет \((k-1)/(2n\ln b)\), где \(n\) — суммарное количество наблюдений; при малых количествах её стоит применять.
  • Родственные меры: те же слагаемые \(p \log p\) фигурируют в перекрёстной энтропии и дивергенции Кульбака–Лейблера, которыми распределение сравнивают с эталонным. Энтропия равномерного распределения напрямую связана с равномерным распределением, а к матрице ошибок её routinely применяют для оценки неопределённости классификатора — точнее, её регулярно применяют. Для сравнения наблюдаемого распределения с ожидаемым можно также использовать критерий Краскела–Уоллиса.

Краткая справка: единицы и максимальная энтропия

Основание Единица \(H_{max}\) для \(k\) категорий Типичное применение
2 биты \(\log_2 k\) Теория информации, кодирование, информатика
\(e \approx 2.718\) наты \(\ln k\) Машинное обучение, статистическая механика
10 диты (хартли) \(\log_{10} k\) Классические меры информации

Для перевода между единицами используйте \(H_{\text{бит}} = H_{\text{нат}} / \ln 2\) или \(H_{\text{бит}} = H_{\text{дит}} \cdot \log_2 10\). Если не уверены, какое основание выбрать, берите 2 — биты встречаются в отчётах чаще всего.

Часто задаваемые вопросы

Какие ошибки чаще всего допускают при вычислении энтропии?

Самые частые ошибки: забыть нормализовать количества так, чтобы их сумма равнялась 1; включить в набор категории с нулевым количеством, что завышает k (увеличивает \(H_{max}\) и снижает эффективность); перепутать основания логарифма при сравнении значений из разных источников. И помните: энтропия не учитывает величину и порядок значений — наборы (10, 20, 70) и (70, 20, 10) дают одинаковую энтропию, поскольку важны только вероятности.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *