Qual è il ruolo del logaritmo nell'entropia di Shannon?


72

L'entropia di Shannon è il negativo della somma delle probabilità di ogni risultato moltiplicato per il logaritmo delle probabilità per ogni risultato. A quale scopo serve il logaritmo in questa equazione?

Una risposta intuitiva o visiva (al contrario di una risposta profondamente matematica) riceverà punti bonus!


11
A te (o ad altri lettori) potrebbero piacere: A. Renyi (1961), On Measures of Entropy and Information , Proc. del quarto simposio di Berkeley su statistiche matematiche e probabilità , vol. 1, 547-561.
cardinale il

Sulla base della tua reazione , suppongo che tu voglia dire perché Shannon abbia usato il logaritmo nella sua formula, giusto?
Ooker

@Ooker: questo è un modo per esprimerlo. "Perché" l'ha inserito? "Che cosa" è la sua funzione o ruolo "?" Che cosa "raggiunge?" Come "è utile? Per me, questi sono tutti nello stesso quartiere ...
histelheim


Vedi la mia risposta, penso che il significato di un registro possa essere veramente compreso solo esaminando le radici dell'entropia di Shannon nella meccanica statistica
Aksakal,

Risposte:


51

L'entropia di Shannon è una quantità che soddisfa un insieme di relazioni.

In breve, il logaritmo è di farlo crescere linearmente con le dimensioni del sistema e "comportarsi come informazione".

Il primo significa che l'entropia di lanciare una moneta n volte è n volte entropia di lanciare una moneta:

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

O solo per vedere come funziona quando si lanciano due monete diverse (forse ingiusto - con teste con probabilità p1 e code p2 per la prima moneta, e q1 e q2 per la seconda)

i=12j=12piqjlog(piqj)=i=12j=12piqj(log(pi)+log(qj))
=-Σio=12Σj=12pioqjceppo(pio)-Σio=12Σj=12pioqjceppo(qj)=-Σio=12pioceppo(pio)-Σj=12qjceppo(qj)
quindi le proprietà dellogaritmo(il logaritmo del prodotto è la somma dei logaritmi) sono cruciali.

Ma anche l' entropia di Rényi ha questa proprietà (è un'entropia parametrizzata da un numero reale α , che diventa entropia di Shannon per α1 ).

Tuttavia, ecco che arriva la seconda proprietà: l'entropia di Shannon è speciale, in quanto legata alle informazioni. Per avere una sensazione intuitiva, puoi guardare

H=ipilog(1pi)
come media dellog(1/p).

Possiamo chiamare le informazioni del log(1/p) . Perché? Perché se tutti gli eventi accadono con probabilità p , significa che ci sono eventi 1/p . Per sapere quale evento è accaduto, dobbiamo usare i bit di log(1/p) (ogni bit raddoppia il numero di eventi che possiamo distinguere).

Potresti sentirti ansioso "OK, se tutti gli eventi hanno la stessa probabilità ha senso usare il log(1/p) come misura di informazioni. Ma se non lo sono, perché la media delle informazioni ha un senso?" - ed è una preoccupazione naturale.

Ma si scopre che ha senso - fonte di Shannon codifica teorema dice che una stringa con le lettere uncorrelted con probabilità {pi}i di lunghezza n non possono essere compressi (in media) a stringa binaria più corta nH . E infatti, possiamo usare codifica di Huffman per comprimere la stringa e ottenere molto vicino al nH .

Guarda anche:


11
Questa risposta ha molti dettagli carini - ma dal punto di vista di un laico evita ancora il problema - qual è il ruolo del logaritmo? Perché non possiamo calcolare l'entropia senza il logaritmo?
histelheim,

6
@histelheim Cosa intendi con "senza il logaritmo"? è solo uno. Se vuoi un'altra misura della diversità senza log , guarda gli indici di diversità - ad esempio il cosiddetto indice Inverse Simpson 1 / i p 2 i che indica un numero effettivo di scelte (una sopra la probabilità media), c'è l' indice Gini – Simpson 1 - i p 2 iipilog 1/ipi2 1ipi2che è sempre tra 0 e uno. E se non ti interessano le sottili proprietà legate all'informazione dell'entropia di Shannon, puoi usarne una (anche se pesano le probabilità basse e alte in modo diverso).
Piotr Migdal,

10
Sono sconcertato dal tuo ultimo commento, Histelheim: a cosa potrebbe riferirsi "entropia senza il logaritmo"? Ciò suggerisce che non hai ancora chiaramente articolato la tua domanda, perché sembra che tu abbia in mente un concetto non dichiarato di "entropia". Per favore, non farci indovinare: modifica la tua domanda in modo che i tuoi lettori possano fornire il tipo di risposte che stai cercando.
whuber

1
@ Piotr Migdal - scrivi "il logaritmo è farlo crescere linearmente con le dimensioni del sistema e" comportarsi come informazione "." - questo mi sembra fondamentale per capire il ruolo del logaritmo, tuttavia non sono abbastanza chiaro su cosa significhi.
histelheim,

1
@ Piotr Migdal - inoltre, la tua spiegazione a seguito di "Siamo in grado di chiamare le informazioni di registro (1 / p). Perché?" sembra avere senso per me. È che il logaritmo ci sposta essenzialmente da un indice di diversità a un indice di informazioni, misurando il numero di bit necessari per distinguere gli eventi.
histelheim,

25

Questa è la stessa delle altre risposte, ma penso che il modo migliore per spiegarlo sia vedere cosa dice Shannon nel suo documento originale.

La misura logaritmica è più conveniente per vari motivi:

  1. È praticamente più utile. I parametri di importanza ingegneristica come tempo, larghezza di banda, numero di relè, ecc., Tendono a variare linearmente con il logaritmo del numero di possibilità. Ad esempio, l'aggiunta di un relè a un gruppo raddoppia il numero di possibili stati dei relè. Aggiunge 1 al logaritmo di base 2 di questo numero. Raddoppiando il tempo, si raddoppia il numero dei possibili messaggi o si raddoppia il logaritmo, ecc.
  2. È più vicino alla nostra sensazione intuitiva quanto alla misura corretta. Ciò è strettamente correlato a (1) poiché misuriamo intuitivamente le entità mediante un confronto lineare con standard comuni. Si sente, ad esempio, che due schede perforate dovrebbero avere il doppio della capacità di una per la memorizzazione delle informazioni e due canali identici il doppio della capacità di una per la trasmissione delle informazioni.
  3. È matematicamente più adatto. Molte delle operazioni di limitazione sono semplici in termini di logaritmo ma richiederebbero una goffa riformulazione in termini di numero di possibilità

Fonte: Shannon, A Mathematical Theory of Communication (1948) [ pdf ].


Si noti che l'entropia di Shannon coincide con l'entropia di Gibbs della meccanica statistica, e c'è anche una spiegazione del perché il log si verifica nell'entropia di Gibbs. Nella meccanica statistica, si suppone che l'entropia sia una misura del numero di stati possibili in cui è possibile trovare un sistema. Il motivo per cui il log Ω è migliore di Ω è perché Ω è di solito una funzione in rapida crescita dei suoi argomenti, e quindi non può essere utilmente approssimata da un'espansione di Taylor, mentre il log Ω può esserlo. (Non so se questa fosse la motivazione originale per prendere il registro, ma è spiegato in questo modo in molti libri introduttivi di fisica.)ΩlogΩΩΩlogΩ


Questa risposta sembra essere la più mirata eppure istruttiva.
stella luminosa il

1
Questo non è il motivo per cui il registro appare nel calcolo dell'entropia. Questo è il motivo per cui le informazioni riportate sono riportate come tali. Esiste una quantità alternativa: la "perplessità" che riporta informazioni senza il registro. In questa parte del suo articolo, Shannon sta discutendo a favore di bit / nats / hartleys e contro la perplessità.
Neil G,

15

un altro modo di vedere questo è da un punto di vista algoritmico. Immaginate che si sta andando ad indovinare un numero , che le uniche informazioni che hai è che questo numero è nell'intervallo 1 x N . In questa situazione, l'algoritmo ottimale per indovinare il numero è un semplice algoritmo di ricerca binaria , che trova x nell'ordine O ( log 2 N ) . Questa formula dice intuitivamente quante domande devi porre per scoprire cos'è x . Ad esempio, se N = 8 , è necessario porre un massimo di 3 domande per trovare la x sconosciutax1xNxO(log2N)xN=8x.

Dal punto di vista probabilistico, quando si dichiara come la stessa probabilità di essere qualsiasi valore nella gamma di 1 x N , significa p ( x ) = 1 / N per 1 x N . Claude Shannon ha mostrato bene che il contenuto informativo di un risultato x è definito come:x1xNp(x)=1/N1xNx

h(x)=log21p(x)

Il motivo della base 2 nel logaritmo è che qui stiamo misurando le informazioni in bit . Puoi anche assumere il logaritmo naturale che misura le tue informazioni in nats . Ad esempio, il contenuto informativo di outcom è h ( 4 ) = 3 . Questo valore è esattamente uguale al numero di passaggi dell'algoritmo di ricerca binaria (o al numero di istruzioni IF dell'algoritmo). Pertanto, il numero di domande che devi scoprire x è uguale a 4 , è esattamente il contenuto informativo del risultato x = 4 .x=4h(4)=3x4x=4

Possiamo anche analizzare le prestazioni dell'algoritmo di ricerca binaria per ogni possibile risultato. Un modo per farlo è scoprire qual è il numero previsto di domande da porre per qualsiasi valore di . Si noti che il numero di domande richieste per indovinare un valore di x , come ho discusso in precedenza, è h ( x ) . Pertanto, il numero previsto di domande per ogni x è per definizione uguale a:xxh(x)x

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

Il numero atteso di domande è proprio uguale alla entropia di un ensemble H ( X ) , o entropia insomma. Pertanto, possiamo concludere che l'entropia H ( X ) quantifica il numero atteso (o medio) delle domande che bisogna porre per indovinare un risultato, che è la complessità computazionale dell'algoritmo di ricerca binaria.h(x)H(X)H(X)


1
+ Questa è una delle mie applicazioni preferite della teoria dell'informazione - analisi dell'algoritmo. Se hai punti di decisione con> 2 risultati, ad esempio quando indicizzi un array, questo è il principio alla base della codifica hash e degli ordinamenti O (n).
Mike Dunlavey,

Questo argomento va bene per l'entropia discreta, ma non si generalizza facilmente all'entropia continua.
Neil G,

12

Ecco una spiegazione immediata. Potresti dire che 2 libri della stessa dimensione hanno il doppio delle informazioni di 1 libro, giusto? (Considerando un libro come una serie di bit.) Bene, se un determinato risultato ha probabilità P, allora si potrebbe dire che il suo contenuto informativo è relativo al numero di bit che è necessario scrivere 1 / P. (ad es. se P = 1/256, sono 8 bit). L'entropia è solo la media della lunghezza di quel bit di informazioni, su tutti i risultati.


5

Lo scopo di appare nell'entropia di Shannon è che log ( p i ) è l' unica funzione che soddisfa l'insieme di proprietà di base che la funzione entropia, H ( p 1 , ... , p N ) , è considerata per incarnare.log(pi)log(pi)H(p1,,pN)

Shannon ha fornito una prova matematica di questo risultato che è stato accuratamente raccolto e ampiamente accettato. Lo scopo e il significato del logaritmo nell'equazione dell'entropia sono quindi autonomi all'interno delle ipotesi e delle prove.

Questo non lo rende facile da capire, ma alla fine è il motivo per cui appare il logaritmo.

Ho trovato utili i seguenti riferimenti oltre a quelli elencati altrove:

  1. Teoria della probabilità: la logica della scienza di ET Jaynes . Jaynes è uno dei pochi autori che ottiene molti risultati da zero; vedi capitolo 11.
  2. Teoria dell'informazione, inferenza e algoritmi di apprendimento di David MacKay. Contiene un'analisi approfondita del teorema del codice sorgente di Shannon; vedi capitolo 4.

4

Sommario:

Perché rappresenta il numero totale medio di domande perfette di cui hai bisogno per ottenere una risposta al fine di risolvere completamente tutte le ambiguità in un dato che non avevi ancora visto. Una domanda perfetta con possibili risposte è quella che, una volta risposta, lo spazio delle possibilità sarà ridotto di n volte.nn

Esempio:

Supponiamo che io abbia lanciato un dado a facce e che tu debba prevederne l'esito. Lo spazio delle possibilità è 6 . Potresti farmi domande come questa binaria "è il risultato 1 ?" (la risposta è sì o no, ovvero n = 2 ) e la mia risposta potrebbe essere "nopies!". Quindi lo spazio delle possibilità di solo 1 . Quindi questa domanda non è una buona domanda.661n=21

In alternativa, potresti porre domande migliori, come questa domanda binaria superiore "è maggiore di ?", E la mia risposta sarebbe "yeppies!" - poi boom, lo spazio delle possibilità è ridotto della metà! Cioè ci sono solo 6 / 2 = 3 candidati a sinistra (fuori originariamente 6). Diavolo sì amico.3.56/2=3

Supponiamo ora che continui a porre ricorsivamente più di queste buone domande fino a quando non raggiungi il caso in cui lo spazio delle possibilità ha solo possibilità, per cui, per definizione, non è rimasta ambiguità (conosci la risposta).1

Facciamolo:

  • possibilità. D: Il risultato è > 3.5 ? A: Sì.6>3.5
  • possibilità sinistra. D: il risultato è5 ? A: Sì.6/2=35
  • possibilità sinistra. D: è outcome = 6 ? A: Sì.6/2/2=1.5=6

Concludete che il risultato deve essere il numero e avete solo bisogno di porre 3 domande binarie. Ie c e i l ( log 2 ( 6 ) ) = c e i l ( 2.58 ) = 363ceil(log2(6))=ceil(2.58)=3

Ora, ovviamente, il numero di domande binarie è sempre un numero naturale. Allora perché l'entropia di Shannon non usa la funzione ? Perché in realtà sputa il numero medio di buone domande che devono essere poste.ceil

Se ripeti questo esperimento (scrivendo un codice Python), noterai che in media dovrai porre domande binarie perfette.2.58

Naturalmente, se poni domande binarie, imposti la base del registro su quello. Quindi, ecco , Perché le nostre domande erano binario. Se fare domande che si aspettano n molte risposte possibili, si imposterà la base per n invece di 2 , cioè log n ( . . . ) .log2(...)nn2logn(...)

Simulazione:

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))

risultati:

total questions: 26634
average questions per outcome: 2.6634

Holy molly dude .2.6634log2(6)2.58

Cosa c'è che non va? È quasi vicino, ma non molto vicino come speravo. È il PRNG di Python che sta cercando di dire una battuta lenta? O Shannon ha torto? O è -Dio proibito- la mia comprensione è sbagliata? Ad ogni modo AIUTO. SOS già amico.


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

@whuber non è questo che sto facendo nel mio codice? Lancio 10000 matrici e somma il numero totale di domande che faccio per tutte le matrici. Faccio quindi la somma / 10000 ottengo 2,66.
cavernicolo,

1
No, non lo fai affatto nel tuo codice! È necessario porre una serie di domande progettate per ottenere contemporaneamente lo stato di tutti i dadi contemporaneamente. Non è la stessa cosa del numero medio di domande necessarie per trovare lo stato di un dado alla volta.
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

Questa domanda è stata sollevata due anni fa e ci sono già state molte risposte fantastiche, ma vorrei aggiungere la mia che mi ha aiutato molto.

La domanda è

A quale scopo serve il logaritmo in questa equazione?

Il logaritmo (di solito basato su 2) è dovuto alla disuguaglianza di Kraft .

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)

Un'illustrazione intuitiva e una risposta visiva (come richiesto, ma più specificamente per la disuguaglianza di Kraft) è articolata in questo documento Code Tree e Kraft's Inequality .


1

In base alla tua non accettazione di eventuali risposte già, penso che quello che stai cercando sia il motivo per cui Shannon ha usato il logaritmo nella sua formula in primo luogo. In altre parole, la filosofia di esso.

Clausola di esclusione della responsabilità : sono solo in questo campo da una settimana, venendo qui perché ho una domanda come te . Se hai maggiori conoscenze su questo, per favore fatemelo sapere.

Ho questa domanda dopo aver letto uno dei documenti più importanti di Ulanowicz, L'aumento dell'entropia: morte termica o armonie perpetue? . Questo è il paragrafo spiega perché la formula ha -log (p) invece di (1-p):

Prima di spacchettare ulteriormente la definizione formale di entropia, ci si giustificherebbe chiedendo perché non semplicemente scegliere (1 - p) invece di [–log (p)] come la misura più appropriata di inesistenza? La risposta è che il prodotto risultante con p (ovvero [p – p ^ 2]) è perfettamente simmetrico rispetto al valore p = 0,5. I calcoli secondo tale combinazione simmetrica sarebbero in grado di descrivere solo un universo reversibile. Boltzmann e Gibbs, tuttavia, stavano cercando di quantificare un universo irreversibile. Scegliendo la funzione logaritmica convessa univariata, Boltzmann impartì così una propensione al non essere rispetto all'essere. Si nota, ad esempio, che max [–xlog {x}] = {1 / e} ≈ 0,37, in modo che la misura dell'indeterminatezza sia inclinata verso valori più bassi di pi.

Sembra che Shannon abbia scelto il logaritmo senza motivo. Ha semplicemente "annusato" che avrebbe dovuto usare il logaritmo. Perché Newton ha scelto di moltiplicare l'operazione nella sua formula F = m * a?

Si noti che a quel tempo, non aveva idea dell'entropia :

La mia più grande preoccupazione era come chiamarla. Ho pensato di chiamarlo "informazioni", ma la parola era troppo usata, quindi ho deciso di chiamarla "incertezza". Quando ne ho discusso con John von Neumann, ha avuto un'idea migliore. Von Neumann mi disse: 'Dovresti chiamarlo entropia, per due ragioni. In primo luogo la tua funzione di incertezza è stata utilizzata nella meccanica statistica con quel nome, quindi ha già un nome. In secondo luogo, e ancora più importante, nessuno sa cosa sia realmente l'entropia, quindi in un dibattito avrai sempre il vantaggio.

Quindi la mia risposta è: non c'è motivo per questo. Ha scelto questo perché ha funzionato magicamente.


0

L'entropia è definita come il logaritmo della media geometrica del coefficiente multinomiale che esprime il numero di stati in cui un sistema può trovarsi:

log(Nn1,,nk)N

I logaritmi compaiono nella formula dopo aver usato l'approssimazione del fattoriale di Stirling (vedi questa spiegazione )


3
Credo che l'OP sappia che il logaritmo fa parte della definizione. Chiedono perché è lì?
whuber

0

Il registro deriva dalla derivazione di una funzione H che soddisfa determinati requisiti naturali. Vedi pag. 3 sec. 2 di questa fonte:

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

Dati gli assiomi, se si esegue l'ottimizzazione, si ottiene una funzione unica (fino a costanti) con un log in esso.

Tutte le risposte sopra riportate sono corrette, tranne per il fatto che interpretano il registro, ma non ne spiegano l'origine.


0

Immagino che la tua domanda riguardi più il "significato" di quel logaritmo e perché ogni componente contribuisca al significato generale della formula, piuttosto che al semplice formalismo che mostra la coerenza della definizione a determinati requisiti.

p(X)-log(p(X))

  • p(X)
  • -log(p(X))

p(X)-log(p(X))


D'ora in poi, parlerò di come la GENERALITÀ influenzi la formula finale dell'entropia.

log2(X)=numBer_of_BiotS_to_encode_the_meSSun'geS

Ora, siediti, rilassati e guarda come l'entropia di Shannon fa il trucco: si basa sul presupposto (ragionevole) che i messaggi che sono più GENERALI sono, di conseguenza, più FREQUENTI.

Ad esempio, dirò che piove o se si tratta di una pioggia media, forte o molto forte. Quindi, ha proposto di codificare la GENERALITÀ dei messaggi in base a quanto sono FREQUENTI ... e il gioco è fatto:

log2N=-log21/N=-log2P

NX

L'equazione può essere interpretata come: i messaggi rari avranno una codifica più lunga perché sono meno generali, quindi hanno bisogno di più bit per essere codificati e sono meno informativi. Pertanto, avere messaggi più specifici e rari contribuirà più all'entropia che avere molti messaggi generali e frequenti.


p(x)log(p(x)) , è che i messaggi frequenti sono anche generali, e da questo punto di vista più informativo (ovvero una codifica più breve significa un'entropia inferiore).

L'entropia più elevata è quando abbiamo un sistema con molti messaggi rari e specifici. L'entropia più bassa con messaggi frequenti e generali. Nel mezzo, abbiamo uno spettro di sistemi equivalenti all'entropia che potrebbero avere sia messaggi rari che generali o messaggi frequenti ma specifici.


0

Non credo sia possibile darti una risposta "intuitiva" universale. Ti darò una risposta intuitiva per alcune persone, come i fisici. Il logaritmo è lì per ottenere l'energia media del sistema. Ecco i dettagli.

Shannon ha usato una parola " entropia " perché ha adattato il concetto dalla meccanica statistica . Nella meccanica statistica c'è una distribuzione fondamentale che prende il nome da Boltzmann. È interessante notare che ora è una distribuzione importante nell'apprendimento automatico!

P=eaEb
a,bEdVVdV=dpdxx,pa,bVPdV=1b corrisponde a una temperatura del sistema.

lnPE

SVPlnPdV=<E>

η=iPilnPi
ePi

È abbastanza intuitivo per te? È per me, ma ero un fisico teorico nella vita passata. Inoltre, puoi andare a un livello più profondo di intuizione collegando a concetti termodinamici ancora più antichi come la temperatura e le opere di Boltzmann e Clausius.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.