Яка роль логарифму в ентропії Шеннона?


72

Ентропія Шеннона - це від’ємник суми ймовірностей кожного результату, помноженого на логарифм ймовірностей для кожного результату. Якій меті служить логарифм у цьому рівнянні?

Інтуїтивно зрозуміла або візуальна відповідь (на відміну від глибоко математичної відповіді) отримає бонусні бали!


11
Вам (або іншим читачам) можуть сподобатися: А. Реній (1961), Про заходи ентропії та інформації , Зб. Четвертого симпозіуму Берклі з математичної статистики та ймовірності , т. 1, 547-561.
кардинал

Виходячи з вашої реакції , я гадаю, що ви маєте на увазі, чому Шеннон використовував логарифм у своїй формулі, правда?
Ooker

@Ooker: Це один із способів сформулювати це. "Чому" він це вклав? "Що" це функція чи роль "?" Що "вона досягає? Як" це корисно? Для мене це всі в одному районі ...
histelheim

Подивіться мою відповідь тут: stats.stackexchange.com/questions/66186/…
kjetil b halvorsen

Дивіться мою відповідь, я думаю, що значення журналу можна по-справжньому зрозуміти, лише вивчивши корені ентропії Шеннона в статистичній механіці
Аксакал

Відповіді:


51

Ентропія Шеннона - це величина, що задовольняє набір відносин.

Коротше кажучи, логарифм полягає у тому, щоб він лінійно зростав із розмірами системи та "поводився як інформація".

Перший означає , що ентропія киданні монети раз в раз ентропія киданні монети:nn

i=12n12nlog(12n)=i=12n12nnlog(12)=n(i=1212log(12))=n.

Або просто побачити, як це працює, коли підкидає дві різні монети (можливо, несправедливо - з головами з ймовірністю та хвостами для першої монети, а та для другої) тому властивості логарифму (логарифм товару дорівнює логарифмів) мають вирішальне значення.p1p2q1q2

i=12j=12piqjlog(piqj)=i=12j=12piqj(log(pi)+log(qj))
=i=12j=12piqjlog(pi)i=12j=12piqjlog(qj)=i=12pilog(pi)j=12qjlog(qj)

Але також ентропія Ренея має цю властивість (ентропія параметризована реальним числом , яке стає ентропією Шеннона для ).αα1

Однак тут випливає друга властивість - ентропія Шеннона особлива, оскільки пов'язана з інформацією. Щоб отримати деяке інтуїтивне відчуття, ви можете подивитися на як середнє значення .

H=ipilog(1pi)
log(1/p)

Ми можемо викликати інформацію . Чому? Тому що якщо всі події відбуваються з вірогідністю , це означає, що є події. Щоб сказати, яка подія трапилася, нам потрібно використовувати біти (кожен біт подвоює кількість подій, які ми можемо розрізнити).log(1/p)p1/plog(1/p)

Ви можете відчувати занепокоєння "Добре, якщо всі події мають однакову ймовірність, є сенс використовувати як міру інформації. Але якщо їх немає, то чому усереднення інформації має сенс?" - і це природна турбота.log(1/p)

Але виявляється, що це має сенс - джерело Шеннона кодування теореми говорить про те , що рядок з uncorrelted букв з вірогідністю довжиною не може бути стиснутий (в середньому) в двійкову рядок коротше , ніж . І справді, ми можемо використовувати кодування Хаффмана для стиснення рядки і дуже близько до .{pi}innHn HnH

Дивитися також:


11
У цій відповіді є багато приємних деталей - але, з точки зору неспеціаліста, це все ще залишає проблему - яка роль логарифму? Чому ми не можемо обчислити ентропію без логарифму?
histelheim

6
@histelheim Що ви маєте на увазі під "логарифмом"? - це лише одна. Якщо ви хочете отримати інший показник різноманітності без , подивіться на індекси різноманітності - наприклад, так званий індекс зворотного Сімпсона який вказує ефективну кількість варіантів (один із середньою ймовірністю), є індекс Джині – Сімпсона який завжди знаходиться між 0 і одним. І якщо вам не байдуже тонкі властивості ентропії Шеннона, пов’язані з інформацією, ви можете використовувати будь-яку з них (хоча вони мають низьку та високу ймовірність по-різному). log 1 / i p 2 i 1 - i p 2 iipilog 1/ipi2 1ipi2
Пьотр Мігдал

10
Мене бентежить ваш останній коментар, Гістельхайм: на що може посилатися "ентропія без логарифму"? Це говорить про те, що ви ще не чітко сформулювали своє запитання, оскільки це здається, що ви маєте на увазі якусь нестабільну концепцію "ентропії". Будь ласка, не змушуйте нас гадати - відредагуйте своє запитання, щоб ваші читачі могли надати потрібні відповіді.
whuber

1
@ Piotr Migdal - ви пишете "логарифм - це змусити його лінійно зростати з розмірами системи та" вести себе як інформація ". - мені здається, це важливо для розуміння ролі логарифму, проте я не зовсім зрозумілий, що це означає.
histelheim

1
@ Piotr Migdal - далі, ваше пояснення після "Ми можемо викликати інформацію журналу (1 / p). Чому?" здається, має сенс для мене. Хіба що логарифм насправді переміщує нас від індексу різноманітності до інформаційного індексу - вимірюючи кількість бітів, які нам потрібні, щоб розповісти про події.
histelheim

25

Це те саме, що й інші відповіді, але я думаю, що найкращий спосіб пояснити це - побачити те, що говорить Шеннон у своєму оригінальному документі.

Логарифмічна міра зручніша з різних причин:

  1. Це практично корисніше. Параметри інженерної важливості, такі як час, пропускна здатність, кількість реле тощо, як правило, змінюються лінійно залежно від логарифму кількості можливостей. Наприклад, додавання одного реле до групи подвоює кількість можливих станів реле. Він додає 1 до базового 2 логарифму цього числа. Подвоєння часу приблизно розміщує в квадраті кількість можливих повідомлень або подвоює логарифм тощо.
  2. Це ближче до нашого інтуїтивного почуття щодо належної міри. Це тісно пов'язане з (1), оскільки ми інтуїтивно вимірюємо сутність шляхом лінійного порівняння із загальними стандартами. Можна відчути, наприклад, що дві перфокарти повинні мати вдвічі більший об'єм одного для зберігання інформації, а два однакових каналу - вдвічі більше, ніж один для передачі інформації.
  3. Він математично більше підходить. Багато обмежувальних операцій є простими з точки зору логарифму, але потребують незграбного перерахунку з точки зору кількості можливостей

Джерело: Шеннон, Математична теорія спілкування (1948) [ pdf ].


Зауважимо, що ентропія Шеннона збігається з ентропією Гіббса статистичної механіки, а також є пояснення, чому журнал відбувається в ентропії Гіббса. У статистичній механіці ентропія повинна бути мірою кількості можливих станів в яких можна знайти систему. Причина, чому кращий, ніж це те, що як правило, дуже швидко зростає функція своїх аргументів, і тому її не можна корисно наблизити розширенням Тейлора, тоді як може бути. (Я не знаю, чи це була оригінальна мотивація для ведення журналу, але це пояснюється таким чином у багатьох вступних книгах з фізики.)log Ω Ω Ω log ΩΩlogΩΩΩlogΩ


Ця відповідь здається найбільш цілеспрямованою, але інформативною.
яскрава зірка

1
Ось чому журнал не відображається в обчисленні ентропії. Ось чому повідомляється інформація як така. Існує альтернативна кількість: "здивування", яке повідомляє інформацію без журналу. У цій частині своєї праці Шеннон виступає за біт / нац / хартлі та проти здивування.
Ніл Г

15

x1xNxO(log2N)xN=8x.

x1xNp(x)=1/N1xNx

h(x)=log21p(x)

x=4h(4)=3x4x=4

xxh(x)x

h(x)=1xNp(x)h(x)

h(x)H(X)H(X)


1
+ Це одне з моїх улюблених застосувань теорії інформації - аналіз алгоритму. Якщо у вас є точки рішення з результатами> 2, наприклад, коли ви індексуєте масив, це принцип, що лежить в основі хеш-кодування та сортування O (n).
Майк Данлаве

Цей аргумент є чудовим для дискретної ентропії, але не може легко узагальнити постійну ентропію.
Ніл Г

12

Ось пояснення без манжети. Можна сказати, що 2 книги одного розміру мають вдвічі більше інформації, ніж 1 книга, правда? (Вважаючи, що книга є рядком бітів.) Ну, якщо певний результат має ймовірність P, то можна сказати, що його інформаційний вміст - це приблизно кількість бітів, які потрібно виписати 1 / P. (наприклад, якщо P = 1/256, це 8 біт.) Ентропія - це лише середнє значення довжини бітів інформації за всіма результатами.


5

log(pi)log(pi)H(p1,,pN)

Шеннон надав математичний доказ цього результату, який був ретельно підібраний і широко прийнятий. Призначення та значення логарифму в рівнянні ентропії, таким чином, є самостійними у межах припущень та доказів.

Це не дозволяє легко зрозуміти, але в кінцевому рахунку це причина появи логарифму.

Наступні посилання були корисними крім перелічених у інших місцях:

  1. Теорія ймовірностей: Логіка науки Е. Т. Джейнса . Джейнс - один з небагатьох авторів, який отримує багато результатів з нуля; див. Розділ 11.
  2. Інформаційна теорія, умовиводи та алгоритми навчання Девіда Маккея. Містить поглиблений аналіз теореми кодування джерела Шеннона; див. Розділ 4.

4

Підсумок:

nn

Приклад:

661n=21

3.56/2=3

1

Давай зробимо це:

  • 6>3.5
  • 6/2=35
  • 6/2/2=1.5=6

63ceil(log2(6))=ceil(2.58)=3

ceil

2.58

log2(...)nn2logn(...)

Моделювання:

import random

total_questions = 0
TOTAL_ROUNDS = 10000

for i in range(0,TOTAL_ROUNDS):
    outcome = random.randrange(1,7)
    total_questions += 1
    if outcome > 3.5:
        total_questions += 1
        if outcome >= 5:
            total_questions += 1
            if outcome == 5:
                pass
            else:
                # must be 6! no need to ask
                pass
        else:
            # must be 4! no need to ask
            pass
    else:
        total_questions += 1
        if outcome >= 2:
            total_questions += 1
            if outcome == 2:
                pass
            else:
                # must be 3! no need to ask
                pass
        else:
            # must be 1! no need to ask
            pass


print 'total questions: ' + str(total_questions)
print 'average questions per outcome: ' + str(total_questions/float(TOTAL_ROUNDS))

Результати:

total questions: 26634
average questions per outcome: 2.6634

2.6634log2(6)2.58

Що не так? Це майже близько, але не дуже близько, як я сподівався. Це PRNG Python намагається сказати повільний жарт? Або Шеннон помиляється? Або це - Боже заборонити - моє розуміння неправильне? У будь-якому випадку ДОПОМОГА. SOS вже чувак.


2
65=7776log2(65)=1313/5=2.6190537492531492531/1905372.584962500722

@whuber Це не те, що я роблю в коді? Я кидаю 10000 штампів і підбиваю загальну кількість питань, які я задаю всім штампам. Потім я отримую суму / 10000, отримую 2,66.
печерний чоловік

1
Ні, ви взагалі цього не робите у своєму коді! Потрібно задати набір питань, розроблених для того, щоб одночасно отримати стан усіх кісток одразу. Це не те саме, що середня кількість запитань, необхідних для пошуку стану одного загибелі за один раз.
whuber

3

Ω={ω1,,ωn}p1,,pnH(p1,,pn)

  • H
  • Hnp1==pn=1n
  • H
    H(12,16,13)=H(12,12)+12H(13,23).

H

H(p1,,pn)=i=1npilogkpi
k>1k=2

3

Це питання було порушено два роки тому, і вже було багато дивовижних відповідей, але я хотів би додати свою, яка мені дуже допомогла.

Питання в тому

Якій меті служить логарифм у цьому рівнянні?

Логарифм (як правило, заснований на 2) пояснюється нерівністю Крафта .

i=1m2li<=1

liLxP(x)

P(x)=2L(x)

L(x)=logP(x)P(x)L(x)

L(x)P(x)P(x)logP(x)

Інтуїтивна ілюстрація і візуальний відповідь (як вам потрібно, але більш конкретно для нерівності Крафта) артикулюють в цій статті коди дерева, і нерівність Крафта .


1

Виходячи з вашого неприйняття жодних відповідей, я думаю, що ви шукаєте, це причина, чому Шеннон в першу чергу використовував логарифм у своїй формулі. Іншими словами, філософія її.

Відмова : Я просто тиждень в цьому полі, приїжджаючи сюди через те, що у вас є питання, як у вас . Якщо ви маєте більше знань з цього питання, будь ласка, повідомте мене.

У мене є це питання після прочитання однієї з найважливіших публікацій Улановича, " Посилення ентропії: смертельна смерть чи вічні гармонії"? . Цей абзац пояснює, чому формула має -log (p) замість (1-p):

Перш ніж розпакувати формальне визначення ентропії, можна було б виправдатись питанням, чому б просто не обрати (1 - p) замість [–log (p)] як найбільш відповідний захід відсутності? Відповідь полягає в тому, що отриманий добуток з p (тобто [p – p ^ 2]) ідеально симетричний навколо значення p = 0,5. Розрахунки відповідно до такої симетричної комбінації могли б описувати лише оборотну Всесвіт. Однак Больцман і Гіббс прагнули кількісно оцінити незворотний Всесвіт. Вибравши універсальну опуклу логарифмічну функцію, Больцман тим самим надав упередженості небуття над буттям. Один зауважує, наприклад, що max [–xlog {x}] = {1 / e} ≈ 0,37, так що міра невизначеності перекошена у бік нижчих значень pi.

Схоже, що Шеннон обрав логарифм без причини. Він просто "пахнув" тим, що він повинен використовувати логарифм. Чому Ньютон обрав операцію множення у своїй формулі F = m * a?

Зауважте, що в той час він не мав уявлення про ентропію :

Моя найбільша турбота була, як це назвати. Я думав називати це «інформацією», але слово було надмірно використано, тому вирішив назвати це «невизначеністю». Коли я обговорював це з Джоном фон Нейманом, він мав кращу ідею. Фон Нойман сказав мені: «Вам слід назвати це ентропією з двох причин. В першу чергу ваша функція невизначеності була використана в статистичній механіці під цим іменем, тому вона вже має ім'я. По-друге, і що важливіше, ніхто не знає, що таке насправді ентропія, тому в дебатах ви завжди матимете перевагу.

Тож моя відповідь: для цього немає жодної причини. Він вибрав це, тому що це просто магічно спрацювало.


0

Ентропія визначається як логарифм середнього геометричного коефіцієнта мультиномії, який виражає кількість станів, в яких може знаходитися система:

log(Nn1,,nk)N

Логарифми з'являються у формулі після використання наближення Стірлінга до факторіалу (див. Це пояснення )


3
Я вважаю, що ОП знає, що логарифм є частиною визначення. Вони запитують, чому це там?
whuber

0

Журнал походить від утворення функції H, що відповідає певним природним вимогам. Див. Стр. 3 сек. 2 цього джерела:

http://www.lptl.jussieu.fr/user/lesne/MSCS-entropy.pdf

Враховуючи аксіоми, якщо проводити оптимізацію, ви отримуєте унікальну (до констант) функцію з входом у неї.

Усі вищезазначені відповіді правильні, за винятком того, що вони інтерпретують журнал, але не пояснюють його джерела.


0

Я думаю, ваше запитання стосується більше «значення» цього логарифму і чому кожен компонент сприяє загальному значенню формули, а не просто формалізму, що демонструє узгодженість визначення певним вимогам.

Ідея ентропії Шеннона полягає в оцінці інформації повідомлення, дивлячись на його ЧАСТОТНІСТЬ (тобто ) та на його загальну (тобто ):p(x)- l o g ( p ( x ) )log(p(x))

  • p(x) : чим частішим буде повідомлення, тим менше інформації буде переносити (тобто простіше передбачити).
  • log(p(x)) : Чим більше "загального" повідомлення, тим більше інформації буде нести.

Перший член - про частоту, - про його загальність.p(x)log(p(x))


Відтепер я обговорюватиму, як ЗАГАЛЬНІСТЬ впливає на остаточну формулу ентропії.

Отже, ми можемо визначити, наскільки загальним (наприклад, дощ / не дощ) або специфічним (наприклад, ligth / avg / heavy / veryHeavy rain) є повідомлення на основі кількості бітів, необхідних для його кодування:

log2(x)=number_of_bits_to_encode_the_messages

А тепер посидьте, розслабтесь і подивіться, як гарно Ентропія Шеннона виконує трюк: вона заснована на (розумному) припущенні, що повідомлення, які є ЗАГАЛЬНІ, є, отже, більш ЧАСТИМИ.

Наприклад, скажу, що йде дощ, якщо це середній, сильний або дуже сильний дощ. Таким чином, він запропонував кодувати ЗАГАЛЬНІСТЬ повідомлень, виходячи з того, наскільки БЕЗПЕЧНІ вони ...

log2N=log21/N=log2P

з - частота повідомлення .Nx

Рівняння можна інтерпретувати як: рідкісні повідомлення матимуть довше кодування, оскільки вони менш загальні, тому для кодування їм потрібно більше бітів і менш інформативні. Отже, наявність більш конкретних і рідкісних повідомлень сприятиме більшої кількості ентропії, ніж багато загальних і частих повідомлень.


У заключній постановці ми хочемо розглянути два аспекти. Перший, , полягає в тому, що часті повідомлення легше передбачити, і з цього погляду менш інформативні (тобто довше кодування означає більш високу ентропію). Другий, , полягає в тому, що часті повідомлення також є загальними і з цього погляду більш інформативними (тобто коротше кодування означає нижчу ентропію).p(x)log(p(x))

Найвища ентропія - це коли у нас є система з багатьма рідкісними та конкретними повідомленнями. Найнижча ентропія з частими та загальними повідомленнями. Між ними у нас є спектр систем, що відповідають рівню ентропії, які можуть мати як рідкісні, так і загальні повідомлення або часті, але конкретні повідомлення.


0

Я не думаю, що можна дати вам універсальну "інтуїтивну" відповідь. Я дам вам відповідь, що інтуїтивно зрозуміло для деяких людей, наприклад фізиків. Логарифм є для отримання середньої енергії системи. Ось деталі.

Шеннон використав слово " ентропія ", оскільки він адаптував концепцію зі статистичної механіки . У статистичній механіці існує насіннєвий розподіл імені Больцмана. Цікаво, що зараз це важливе розповсюдження в машинному навчанні!

РозподілБольцмана можна записати в вигляді , де є постійними, і є енергією системи в державному просторі станів . У класичній термодинаміці , де - координата і імпульс частинки. Це правильна функція ймовірності, коли константи обрані правильно, тобто . Також вам може бути цікаво, що відповідає температурі системи.

P=eaEb
a,bEdVVdV=dpdxx,pa,bVPdV=1b

Тепер зауважимо, як , тобто журнал ймовірності лінійний (пропорційний) до енергії. Тепер ви можете бачити, що наступний вираз по суті є очікуваним значенням енергії системи: Це те, що зробив Гіббс.lnPE

SVPlnPdV=<E>

Отже, Шеннон сприйняв цю річ і дискретизував як і назвав її "ентропією", і ми називаємо її "ентропією Шеннона". Тут немає більше енергетичної концепції, але, можливо, ви могли б протиреєструвати ймовірність стану і назвати це енергією стану?

η=iPilnPi
e - P iePi

Вам це досить інтуїтивно? Це для мене, але я був фізиком-теоретиком у минулому житті. Крім того, ви можете перейти до більш глибокого рівня інтуїції, посилаючись на ще більш давні поняття термодинаміки, такі як температура і твори Больцмана і Клаузія.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.