Перейти к содержимому

Калькулятор энтропии - Онлайн-расчет энтропии Шеннона бесплатно

Бесплатный калькулятор энтропии для мгновенного расчета энтропии Шеннона. Измеряйте случайность данных, неопределенность и информационное содержание с пошаговыми результатами. Идеально подходит для науки о данных.

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

Введите числовые значения, разделенные пробелами или запятыми в зависимости от выбранного формата.

Формат данных

Распределение частот

Введите данные для визуализации

Калькулятор загрузки...
📚

Документация

Что такое калькулятор энтропии?

Калькулятор энтропии вычисляет энтропию Шеннона для набора чисел. Энтропия Шеннона позволяет измерить непредсказуемость набора данных. Набор данных, в котором все значения одинаковы, имеет нулевую энтропию, поскольку в нём нет ничего неопределённого. Набор данных, в котором вероятность появления каждого значения одинакова, имеет максимально возможную для своего размера энтропию.

Эта идея происходит из теории информации — области, начало которой положил американский математик Клод Шеннон в 1948 году. Шеннон стремился измерить, сколько информации несёт сообщение. Он определил энтропию как среднее количество «неожиданности» в последовательности символов. Та же формула теперь используется в анализе данных, криптографии, биологии и машинном обучении — везде, где требуется измерить случайность набора исходов.

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

Для набора данных с уникальными значениями от x₁ до xₙ, каждое из которых встречается с вероятностью p(xᵢ), энтропия Шеннона H равна:

H(X)=−∑i=1np(xi)log⁡2p(xi)H(X) = -\sum_{i=1}^{n} p(x_i) \log_2 p(x_i)

Словами: для каждого уникального значения умножьте его вероятность на логарифм этой вероятности по основанию 2, сложите все полученные произведения, а затем измените знак. Результат всегда равен нулю или является положительным.

Этот калькулятор всегда использует логарифмы по основанию 2, поэтому результат измеряется в битах. Для других целей применяются и другие основания: натуральный логарифм даёт единицы, называемые натами, а основание 10 — единицы, называемые хартли. Биты — стандартная единица в вычислительной технике и теории информации, поэтому этот калькулятор использует основание 2.

Почему результат не может быть отрицательным

Каждая вероятность p(xᵢ) находится между 0 и 1, поэтому её логарифм равен нулю или является отрицательным. Умножение вероятности на отрицательный или нулевой логарифм даёт отрицательное или нулевое число. Суммирование этих чисел с последующим изменением знака всегда даёт результат, равный нулю или больше него.

Максимально возможная энтропия

Для набора данных с n уникальными значениями энтропия максимальна, когда каждое значение встречается одинаковое число раз. Этот максимум равен log₂(n) битам. Набор данных с 4 одинаково часто встречающимися уникальными значениями может иметь энтропию не более 2 бит, поскольку log₂(4) = 2. Любое неравномерное распределение тех же 4 значений даёт меньшую энтропию.

Как вычислить энтропию: пошагово

  1. Перечислите уникальные значения в наборе данных и подсчитайте, сколько раз встречается каждое из них.
  2. Разделите каждое количество вхождений на общее число значений, чтобы получить вероятность каждого уникального значения.
  3. Вычислите логарифм каждой вероятности по основанию 2, затем умножьте его на ту же вероятность.
  4. Сложите все полученные произведения, затем умножьте сумму на −1.

Этот калькулятор автоматически выполняет те же четыре шага. Введите числа в поле ввода, разделяя их пробелами или запятыми, выберите соответствующий формат — и сразу появятся энтропия, таблица вероятностей и столбчатая диаграмма. В таблице под результатом для каждого уникального числа отображаются значение, количество вхождений, вероятность и p(x) × log₂(p(x)), поэтому виден весь расчёт, а не только итоговый ответ.

Правила ввода

  • Принимаются только числовые значения: целые, десятичные и отрицательные числа.
  • Значения разделяются пробелами (пример: 1 2 3 4) или запятыми (пример: 1,2,3,4) в зависимости от выбранного формата.
  • Набор данных может содержать до 100 000 значений. При вводе большего количества появляется сообщение об ошибке с предложением использовать меньший набор данных.
  • Допускается экспоненциальная запись, поэтому 1e3 интерпретируется как 1000.
  • Текст, символы и пустые элементы между разделителями отклоняются с сообщением об ошибке, а не игнорируются без уведомления.
  • Слишком большое для хранения компьютером число, например 1e400, также отклоняется. Максимальное значение, которое может хранить калькулятор, составляет примерно 1,8 x 10^308.

Пример расчёта

Рассмотрим набор данных 1 2 3 1 2 1, содержащий шесть чисел.

Сначала подсчитаем каждое уникальное значение:

ЗначениеКоличествоВероятность
133/6 = 0,5
222/6 ≈ 0,3333
311/6 ≈ 0,1667

Затем применим формулу к каждой строке и сложим результаты:

H=−(0.5log⁡20.5+0.3333log⁡20.3333+0.1667log⁡20.1667)H = -(0.5 \log_2 0.5 + 0.3333 \log_2 0.3333 + 0.1667 \log_2 0.1667) H=−(0.5×−1+0.3333×−1.585+0.1667×−2.585)H = -(0.5 \times -1 + 0.3333 \times -1.585 + 0.1667 \times -2.585) H≈1.4591 битыH \approx 1.4591 \text{ биты}

В наборе данных 3 уникальных значения, поэтому максимально возможная энтропия равна log₂(3) ≈ 1,585 бит. Фактический результат, 1,4591 бит, меньше этого максимума, поскольку значение 1 встречается чаще остальных, из-за чего набор данных немного менее случаен, чем при идеально равномерном распределении.

Набор данных без неопределённости

Набор данных 5 5 5 5 5 содержит только одно уникальное значение, поэтому его вероятность равна 1. Поскольку log₂(1) = 0, каждое слагаемое суммы равно нулю, а энтропия составляет ровно 0 бит. В наборе данных, где все значения одинаковы, нет ничего неопределённого.

Как интерпретировать результат

  • Энтропия, близкая к 0, означает, что данные повторяются и предсказуемы. В них преобладает одно или несколько значений.
  • Энтропия, близкая к log₂(n), где n — число уникальных значений, означает, что данные распределены почти равномерно между всеми уникальными значениями.
  • Энтропия, в точности равная 0, означает, что все значения в наборе данных одинаковы.

Сама по себе энтропия не говорит, является ли набор данных «хорошим» или «плохим». Генератор паролей стремится к высокой энтропии, поскольку это затрудняет угадывание пароля. Датчик, который должен показывать постоянную температуру, должен иметь низкую энтропию, поскольку это означает стабильность показаний.

Где используется энтропия Шеннона

  • Машинное обучение: алгоритмы деревьев решений используют энтропию, чтобы определить, какой признак лучше всего разделяет набор данных на предсказуемые группы.
  • Сжатие данных: энтропия задаёт теоретический предел того, насколько малым можно сделать файл при сжатии без потери информации.
  • Криптография: энтропия измеряет непредсказуемость пароля или криптографического ключа.
  • Генетика: энтропия может выявить необычные или сильно варьирующие регионы в последовательности ДНК.
  • Анализ текста: если рассматривать буквы или слова как «значения», энтропия позволяет измерить предсказуемость фрагмента текста.

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

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

Как вычислить энтропию Шеннона вручную? Подсчитайте, сколько раз встречается каждое уникальное значение, разделите каждое количество на общее число и получите вероятности, умножьте каждую вероятность на её логарифм по основанию 2, сложите результаты и умножьте их на −1.

Может ли энтропия быть отрицательной? Нет. Наименьшее возможное значение — 0 бит, оно возникает, когда все значения в наборе данных одинаковы.

Какова максимальная энтропия набора данных? Максимум равен log₂(n) бит, где n — число уникальных значений; он достигается только тогда, когда каждое уникальное значение встречается одинаковое число раз.

Существует ли ограничение на размер набора данных? Да. Этот калькулятор принимает до 100 000 значений в одном наборе данных. Для более крупных наборов возвращается сообщение об ошибке.

Чем энтропия отличается от дисперсии? Дисперсия измеряет, насколько числовые значения рассеяны относительно среднего. Энтропия измеряет непредсказуемость структуры исходов, основываясь только на вероятностях, независимо от фактического масштаба чисел.

Источники

  1. Шеннон, К. Э. (1948). Математическая теория связи. Bell System Technical Journal, 27(3), 379–423.
  2. Ковер, Т. М. и Томас, Дж. А. (2006). Основы теории информации (2-е изд.). Wiley-Interscience.
  3. Маккей, Д. Дж. К. (2003). Теория информации, вывод и алгоритмы обучения. Cambridge University Press.