Прескочи към съдържанието

Калкулатор за ентропия - Изчислете Shannon ентропия онлайн безплатно

Безплатен калкулатор за ентропия за моментно изчисляване на Shannon ентропия. Измерване на случайността, несигурността и информационното съдържание на данни със стъпка по стъпка. Перфектен за наука за данни.

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

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

Формат на данните

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

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

Калкулатор за зареждане...
📚

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

Какво представлява калкулаторът за ентропия?

Калкулаторът за ентропия намира ентропията на Шанън за набор от числа. Ентропията на Шанън е начин да се измери колко непредсказуем е даден набор от данни. Набор от данни, в който всяка стойност е една и съща, има нулева ентропия, защото няма нищо несигурно. Набор от данни, в който всяка стойност има еднаква вероятност да се появи, има възможно най-високата ентропия за своя размер.

Идеята произлиза от теорията на информацията — област, чието начало е поставено от американския математик Клод Шанън през 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. Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal, 27(3), 379–423.
  2. Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory (2nd ed.). Wiley-Interscience.
  3. MacKay, D. J. C. (2003). Information Theory, Inference, and Learning Algorithms. Cambridge University Press.