Shannonova entropija je koncept u informacijskim teorijama koji se bavi mjerenjem nesigurnosti. Otkrijte njezinu važnost i primjene.
Granica ispod koje komunikacija ili pohrana informacija postaju potpuno nefunkcionalni jest trenutak kad entropija padne na nulu. Vrijednost $H = 0$ označava stanje bez ijedne doze nesigurnosti, dakle poruku koja je unaprijed poznata s apsolutnom sigurnošću. Ovaj prag, iako jednostavan na prvi pogled, otvara kompleksnu dimenziju razumijevanja Shannonove entropije i njene uloge u teoriji informacija. Ali što zapravo odlučujemo kad gledamo vrijednost entropije? Nije riječ samo o nesigurnosti, već o tome kako tu nesigurnost iskoristiti za optimalno komprimiranje podataka što zvuči elegantno dok se ne zapitamo koliko je to zapravo izvedivo u svim realnim situacijama.
Shannonova entropija primjenjuje se na diskretne izvore s konačnim skupom simbola $\mathcal{X} = \{x_1, x_2, \ldots, x_n\}$ i pripadajućim vjerojatnostima $P(x_i) = p_i$, pri čemu vrijedi $\sum_{i=1}^n p_i = 1$. Entropija se definira kao
$$
H(X) = - \sum_{i=1}^n p_i \log_2 p_i.
$$
Baza logaritma dva proizlazi iz prakse mjerenja informacije u bitovima. Ova formula nije slučajna; temelji se na načelima koja zvuče intuitivno: entropija treba biti kontinuirana funkcija vjerojatnosti, mora rasti monotono kod uniformne distribucije te biti aditivna za neovisne podsustave. No kad se krene dublje u ove postulate, shvatiš da ih nije lako uvijek dosljedno primijeniti u prirodi podataka često postoje nijanse koje otežavaju tako čistu analizu.
Shannonova entropija mjeri prosječnu količinu iznenađenja ili nesigurnosti sadržanu u poruci koju šaljemo ili primamo. Važno je naglasiti da to nije isto što i "informacija" kakvu razumijemo u svakodnevnom govoru; riječ klijenta kojeg sam savjetovao prije nekoliko godina koji je zbog pogrešnog shvaćanja koncepta izgubio šest mjeseci prilagođavajući softver bila je jasna: informacija nije broj podataka nego njihova relevantnost i neočekivanost. I tu dolazimo do one frustracije kojom se često susrećem koliko zapravo ova matematička definicija obuhvaća stvarnu vrijednost informacije? Može li račun biti dovoljan?
Formulu za entropiju dobijemo korak po korak krenuvši od definicije očekivane vrijednosti iznenađenja za pojedini simbol $I(x_i) = -\log_2 p_i$. Intuitivno, ako je $p_i$ vrlo blizu jedan, simbol gotovo ne nosi dodatnu informaciju jer je predvidljiv; suprotno tomu, mali $p_i$ znači znatno iznenađenje. Prosječno iznenađenje nad cijelim skupom definira se kao očekivanje:
$$
H(X) = E[I(X)] = \sum_{i=1}^n p_i \cdot I(x_i) = - \sum_{i=1}^n p_i \log_2 p_i.
$$
Svaki korak proizlazi iz svojstava očekivanja i definicije logaritma kao mjere eksponencijalnog pada vjerojatnosti. Zanimljivo je kako formula pokazuje subaditivnost: kod nepovezanih varijabli ukupna entropija može biti manja od zbroja pojedinačnih jer ih povezanost smanjuje. Ali opet, koliko često uspijemo precizno kvantificirati tu povezanost u stvarnim sustavima?
Vrijednost entropije doseže maksimum kod uniformne distribucije gdje su svi simboli jednako vjerojatni:
$$
p_i = \frac{1}{n} \quad \Rightarrow \quad H(X) = -\sum_{i=1}^n \frac{1}{n} \log_2 \frac{1}{n} = \log_2 n.
$$
No ova maksimalna vrijednost vrijedi samo za konačan broj simbola. Uvođenje beskonačnih skupova ili kontinuiranih prostora mijenja pravila igre tada koncept treba dodatno oblikovati kroz diferencijalnu entropiju i druge prilagodbe. To me podsjeća koliko su ove matematičke konstrukcije istovremeno moćne i zamršene.
Iskreno, volim gledati Shannonovu entropiju kao alat za praktične odluke optimizaciju prijenosa podataka kroz kanal ograničenog kapaciteta ili određivanje potrebnog prostora za pohranu datoteka različitih karakteristika ali opet osjećam da ta primjena skriva znatnu mjeru improvizacije kojoj nije lako stati na kraj.
Za primjer razmotrimo izvor s tri simbola $A$, $B$, $C$ s vjerojatnostima $p_A=0{,}5$, $p_B=0{,}3$ i $p_C=0{,}2$. Želimo procijeniti prosječnu nesigurnost izvora da bismo odlučili koliko bitova nam treba za efikasno kodiranje.
Računamo pojedinačne doprinose:
$$
- p_A \log_2 p_A = -0{,}5 \log_2 0{,}5,
$$
pri čemu $\log_2 0{,}5 = -1$, jer je $0{,}5 = 2^{-1}$ pa:
$$
-0{,}5 \times (-1) = 0{,}5.
$$
Za simbol $B$ imamo:
$$
- p_B \log_2 p_B = -0{,}3 \log_2 0{,}3,
$$
gdje je približno $\log_2 0{,}3 = -1{,}737$, pa:
$$
- 0{,}3 \times (-1{,}737) = 0{,}521.
$$
Za simbol $C$:
$$
- p_C \log_2 p_C = -0{,}2 \log_2 0{,}2,
$$
s $\log_2 0{,}2 \approx -2{,}322$, što daje:
$$
- 0{,}2 \times (-2{,}322) = 0{,}4644.
$$
Zbrojimo li sve zajedno,
$$
H(X) = 0{,}5 + 0{,}521 + 0{,}4644 = 1{,}4854\,\text{bita}.
$$
To znači da će najefikasnije kodiranje ovog izvora zahtijevati minimalno oko $1.49$ bita po simbolu u prosjeku što je manje od dva bita koliko bi bilo potrebno kodiranjem fiksnom duljinom od dva bita po symbolu. Precizna analiza distribucije omogućuje nam značajnu optimizaciju resursa.
Na kraju ostaje pitanje koje me muči svaki put kad razgovaram o ovome: Ako dizajnirate sustav za prijenos informacija s ograničenjima u cijeni svakog bita i pouzdanosti kanala kako odlučiti koliko uložiti u smanjenje nesigurnosti izvora? Koliko ste spremni platiti za povećanje preciznosti modeliranja ishoda prije nego što troškovi nadvladaju potencijalnu korist? To pitanje još uvijek nema jednostavan odgovor.
Generira se sažetak…