Kalkulator entropii Shannona
Oblicz entropię Shannona dla dowolnego zestawu prawdopodobieństw lub liczebności. Wpisz wartości dla poszczególnych kategorii, wybierz podstawę logarytmu (bity, naty lub dity) i otrzymaj H, entropię maksymalną oraz efektywność.
Zmierz niepewność rozkładu
Wzór na entropię Shannona
Gdzie:
- \(p_i\) — prawdopodobieństwo kategorii \(i\) (liczebności są normalizowane: \(p_i = n_i / n\))
- \(k\) — liczba kategorii
- \(b\) — podstawa logarytmu: 2 daje bity, \(e\) daje naty, 10 daje dity (hartleye)
Wzór wyraża średnie zaskoczenie, czyli wartość informacyjną, wyniku wylosowanego z tego rozkładu: każdy składnik waży informację \(\log_b(1/p_i)\) kategorii proporcjonalnie do tego, jak często ona występuje.
Entropia Shannona — przykład obliczenia
Przykład: w ankiecie 100 osób poproszono o wybór ulubionej spośród czterech marek, a liczebności wyniosły 40, 30, 20 i 10. Liczebności normalizujemy do prawdopodobieństw \(p = (0.4,\ 0.3,\ 0.2,\ 0.1)\), a podstawą jest 2 (bity).
\[ H = -(0.4\log_2 0.4 + 0.3\log_2 0.3 + 0.2\log_2 0.2 + 0.1\log_2 0.1) \]
\[ H = 0.5288 + 0.5211 + 0.4644 + 0.3322 = 1.8464 \text{ bitów} \]
\[ H_{max} = \log_2 4 = 2 \text{ bity}, \quad \frac{H}{H_{max}} = \frac{1.8464}{2} = 0.9232 \]
Wynik: \(H \approx 1.8464\) bitów, czyli 92,32% maksimum — rozkład bliski jednostajnemu na czterech kategoriach.
Jak korzystać z kalkulatora
- Wpisz swoje wartości w polu Prawdopodobieństwa lub liczebności kategorii — po jednej na kategorię, oddzielone spacjami, średnikami lub znakami nowej linii. Możesz podać prawdopodobieństwa (np. 0,5; 0,25; 0,25) albo surowe liczebności (np. 40; 30; 20; 10); przecinki dziesiętne są akceptowane.
- Ustaw Typ danych wejściowych na „Automatyczne wykrywanie” (wartości sumujące się do 1 są traktowane jako prawdopodobieństwa) albo wymuś „Prawdopodobieństwa (mogą sumować się do 1)” lub „Liczebności / częstości (normalizowane)”, gdyby wybór automatyczny był niejednoznaczny.
- Wybierz Podstawę logarytmu: 2 dla bitów, \(e\) dla natów albo 10 dla ditów (hartleyów).
- Odczytaj wyniki: entropię Shannona H, maksymalną możliwą entropię \(H_{max}\) dla Twojej liczby kategorii, efektywność \(H/H_{max}\) oraz rozbicie na kategorie pokazujące każde prawdopodobieństwo, jego wartość informacyjną i wkład do H.
Czym jest entropia Shannona?
Entropia Shannona, wprowadzona przez Claude’a Shannona w 1948 roku, wyraża ilościowo niepewność rozkładu prawdopodobieństwa: to, jak trudno przeciętnie przewidzieć, która kategoria wystąpi. Jest wartością oczekiwaną zaskoczenia \(\log_b(1/p_i)\). Rzadkie zdarzenia są zaskakujące (duże \(\log_b(1/p_i)\)), ale zdarzają się rzadko; częste zdarzenia zachodzą często, ale ledwo zaskakują. Entropia to równowaga obu — zaskoczenie uśrednione wagami prawdopodobieństw.
Wartość H mieści się w przedziale od 0 do \(\log_b k\). Wynosi 0, gdy jeden wynik jest pewny (pojedyncze \(p_i = 1\)), i osiąga maksimum przy rozkładzie jednostajnym, bo wtedy żadna odpowiedź nie jest lepsza od innej. Przy podstawie 2 jednostką są bity i H można odczytać dosłownie jako oczekiwaną liczbę pytań tak/nie potrzebnych do ustalenia wyniku — idea stojąca za kompresją danych i teorią kodowania. Przy podstawie \(e\) jednostką są naty, popularne w uczeniu maszynowym i fizyce; podstawa 10 daje dity. Zmiana podstawy tylko przeskalowuje H: kolejność rozkładów i stosunek \(H/H_{max}\) pozostają te same.
Efektywność \(H/H_{max}\) (nazywana też entropią znormalizowaną) pokazuje, jak blisko Twój rozkład jest najbardziej niepewnego z możliwych rozkładów. W powyższym przykładzie 92,32% oznacza, że cztery marki dość równomiernie dzielą rynek. Wartość bliska 0 oznacza, że wynik jest niemal przewidywalny. Ponieważ ten stosunek jest wielkością bezwymiarową, jest to najwygodniejszy sposób porównywania niepewności rozkładów o różnej liczbie kategorii — czego surowe H nie umożliwia, bo \(H_{max}\) rośnie wraz z \(k\).
Założenia, ograniczenia i wskazówki
- Kompletny rozkład: wartości muszą obejmować wszystkie kategorie. Prawdopodobieństwa muszą sumować się do 1 (niewielkie odchyłki zaokrąglenia są automatycznie korygowane); liczebności są normalizowane tak, aby się sumowały.
- Zerowe prawdopodobieństwa: z konwencji \(0 \cdot \log 0 = 0\), więc puste kategorie nie wnoszą nic — ale pamiętaj, że kategoria o zerowym prawdopodobieństwie nadal podnosi \(H_{max}\), zwiększając \(k\), co obniża Twoją efektywność.
- Kategorie, nie wielkości: entropia mierzy niepewność co do tego, która kategoria wystąpi, a nie rozmiar wartości. Ignoruje kolejność kategorii, ich odstępy i etykiety, więc nie jest miarą zmienności — do tego służy kalkulator skośności i kurtozy.
- Dane z próby: przy małych próbach entropia szacowana z liczebności jest zaniżona. Korekta obciążenia w stylu Millera–Madowa dodaje \((k-1)/(2n\ln b)\), gdzie \(n\) to łączna liczebność — warto ją zastosować, gdy liczebności są małe.
- Miary pokrewne: te same składniki \(p \log p\) pojawiają się w entropii krzyżowej i dywergencji Kullbacka–Leiblera służącej do porównywania rozkładu z rozkładem odniesienia. Entropia rozkładu jednostajnego wiąże się bezpośrednio z rozkładem jednostajnym, a rutynowo stosuje się ją też do macierzy pomyłek, by ocenić niepewność klasyfikatora. Do porównania rozkładu zaobserwowanego z oczekiwanym inną opcją jest test Kruskala–Wallisa.
Ściąga: jednostki i entropia maksymalna
| Podstawa | Jednostka | \(H_{max}\) dla \(k\) kategorii | Typowe zastosowanie |
|---|---|---|---|
| 2 | bity | \(\log_2 k\) | Teoria informacji, kodowanie, informatyka |
| \(e \approx 2.718\) | naty | \(\ln k\) | Uczenie maszynowe, mechanika statystyczna |
| 10 | dity (hartleye) | \(\log_{10} k\) | Klasyczne miary informacji |
Aby przeliczać między jednostkami, użyj \(H_{\text{bits}} = H_{\text{nats}} / \ln 2\) lub \(H_{\text{bits}} = H_{\text{dits}} \cdot \log_2 10\). Jeśli nie wiesz, którą podstawę wybrać, najbezpieczniejszy wybór to podstawa 2 — bity są najczęściej raportowaną jednostką.
Najczęściej zadawane pytania
Jakie błędy najczęściej popełnia się przy liczeniu entropii?
Najczęstsze pomyłki to: brak normalizacji liczebności tak, aby sumowały się do 1, uwzględnianie pustych kategorii w sposób zawyżający k (co podnosi \(H_{max}\) i obniża efektywność) oraz mylenie podstaw logarytmu przy porównywaniu wartości z różnych źródeł. Pamiętaj też, że entropia ignoruje wielkość i kolejność wartości — (10, 20, 70) i (70, 20, 10) dają identyczną entropię, bo liczą się tylko prawdopodobieństwa.