01 · Podstawy · 4 min czytania · aktualizacja
Co to jest entropia i dywergencja Kullbacka–Leiblera w uczeniu maszynowym?
W skrócie
Entropia mierzy średnią niepewność rozkładu w bitach. Dywergencja KL mówi, ile bitów tracimy, opisując dane rozkładem Q zamiast prawdziwego rozkładu P.
Co to jest
Entropia Shannona to miara niepewności rozkładu prawdopodobieństwa: średnia liczba bitów potrzebna, by zakodować wynik losowania przy najlepszym możliwym kodzie. Dywergencja Kullbacka–Leiblera (KL) mierzy, o ile bitów dłuższy będzie średni opis, gdy zamiast prawdziwego rozkładu P użyjemy przybliżenia Q. Oba pojęcia pochodzą z teorii informacji (Shannon 1948, Kullback i Leibler 1951) i leżą u podstaw funkcji straty, drzew decyzyjnych i modeli generatywnych.
Intuicja: rzut uczciwą monetą to 1 bit niepewności — nie da się przewidzieć wyniku. Moneta, która w 99% wypada orłem, ma entropię tylko 0,08 bita: prawie zawsze wiesz, co będzie. Entropia to „ile pytań tak/nie trzeba średnio zadać, by poznać wynik”. KL to cena za błędne przekonania o świecie.
Mechanizm — dlaczego tak działa
Wynik o prawdopodobieństwie p niesie −log₂ p bitów informacji: zdarzenie pewne (p = 1) nie mówi nic, zdarzenie jedno na osiem niesie 3 bity, bo to tyle, ile trzeba, by wskazać jedną z ośmiu równych możliwości. Entropia to średnia tej „niespodzianki”: H(P) = −Σ p(x) · log₂ p(x). Jest największa dla rozkładu jednostajnego (log₂ K dla K wyników) i równa zeru, gdy jeden wynik jest pewny. Z logarytmem naturalnym jednostką jest nat; 1 nat ≈ 1,44 bita.
Shannon pokazał, że entropia to dolna granica średniej długości kodu bezstratnego: częstym symbolom daje się krótkie słowa, rzadkim długie (−log₂ p bitów), i lepiej się nie da. Jeśli jednak kod zbudujemy na podstawie błędnego rozkładu Q, średnia długość to entropia krzyżowa H(P, Q) = −Σ p(x) · log₂ q(x). Nadwyżka ponad optimum to właśnie dywergencja KL:
D_KL(P ‖ Q) = H(P, Q) − H(P) = Σ p(x) · log₂ (p(x) / q(x)).
Z nierówności Jensena (Gibbsa) D_KL ≥ 0, z równością tylko dla Q = P. Dlatego minimalizowanie entropii krzyżowej względem modelu Q to minimalizowanie KL do prawdziwego rozkładu danych — H(P) jest stałą, na którą model nie wpływa. To uzasadnia, dlaczego log loss jest „właściwą” stratą dla klasyfikatorów i modeli językowych.
KL nie jest odległością: nie jest symetryczna, D_KL(P ‖ Q) ≠ D_KL(Q ‖ P), i nie spełnia nierówności trójkąta. Asymetria ma konsekwencje. Jeśli Q przypisuje zero wynikowi, który pod P jest możliwy, D_KL(P ‖ Q) jest nieskończona — model kategorycznie wykluczający coś, co się zdarza, dostaje nieskończoną karę. Minimalizacja D_KL(P ‖ Q) zmusza Q do pokrycia całego P (zachowanie „masowe”), a minimalizacja D_KL(Q ‖ P) pozwala Q skupić się na jednym trybie P — tę wersję stosuje wnioskowanie wariacyjne i VAE.
Zastosowania są wszędzie: zysk informacyjny w drzewach to spadek entropii po podziale (i zarazem informacja wzajemna), człon KL w VAE ściąga rozkład kodów ku normalnemu, kara KL w RLHF trzyma model blisko wersji wyjściowej, a destylacja minimalizuje KL między rozkładami nauczyciela i ucznia.
Na przykładzie
Palmer Penguins: wśród 344 ptaków 44,2% to Adélie, 19,8% Chinstrap i 36,0% Gentoo. Entropia gatunku wynosi 1,514 bita — niewiele mniej niż maksymalne log₂ 3 = 1,585 dla trzech równych grup. Na wyspie Torgersen żyją wyłącznie Adélie, więc entropia spada do 0. Na Biscoe (74% Gentoo, 26% Adélie) wynosi 0,83 bita, na Dream (55% Chinstrap, 45% Adélie) — 0,99 bita.
Dywergencja KL rozkładu na wyspie względem rozkładu ogólnego to 1,18 bita dla Torgersen, 0,82 dla Dream i 0,57 dla Biscoe: tyle bitów na ptaka tracilibyśmy, kodując gatunki z danej wyspy kodem zbudowanym dla całej kolonii. KL w odwrotnym kierunku, rozkład ogólny względem wyspowego, jest dla każdej wyspy nieskończona, bo na każdej brakuje jakiegoś gatunku. Średnia ważona tych dywergencji to 0,75 bita — informacja wzajemna między wyspą a gatunkiem: znajomość wyspy usuwa połowę niepewności co do gatunku (z 1,51 do 0,76 bita). Dla porównania etykieta przeżycia na Titanicu (38% ocalałych) ma entropię 0,96 bita.
Dane: Titanic Palmer Penguins (pingwiny z Antarktydy)
W praktyce
scipy.stats.entropy(p, base=2)— entropia;scipy.stats.entropy(p, q)— dywergencja KL D(P ‖ Q) (domyślnie w natach).sklearn.metrics.mutual_info_score,mutual_info_classif— informacja wzajemna do selekcji cech;DecisionTreeClassifier(criterion='entropy')dzieli według zysku informacyjnego.- PyTorch:
nn.KLDivLossoczekuje log-prawdopodobieństw jako wejścia i prawdopodobieństw jako celu — częste źródło błędów;torch.distributions.kl_divergencedla rozkładów parametrycznych. - Przy liczeniu KL na danych dodaj małe wygładzenie (np. +1 do zliczeń), inaczej puste kategorie dają nieskończoność.
- Gdy potrzebna symetryczna, skończona miara, użyj dywergencji Jensena–Shannona (
scipy.spatial.distance.jensenshannon).
Najczęstsze pytania
- Dlaczego entropia używa logarytmu?
- Bo informacja z niezależnych zdarzeń powinna się dodawać, a ich prawdopodobieństwa się mnożą — logarytm zamienia iloczyn w sumę. Podstawa 2 daje bity, podstawa e daje naty; to tylko zmiana jednostki.
- Czy dywergencja KL jest odległością między rozkładami?
- Nie w sensie matematycznym. Jest nieujemna i równa zeru tylko dla identycznych rozkładów, ale zależy od kierunku i nie spełnia nierówności trójkąta. Lepiej myśleć o niej jak o koszcie użycia Q, gdy prawdą jest P.
- Jaki jest związek entropii z drzewami decyzyjnymi?
- Drzewo wybiera podział, który najbardziej obniża średnią entropię klas w węzłach potomnych. Ten spadek to zysk informacyjny, równy informacji wzajemnej między podziałem a klasą.
Źródła
- Shannon, C. E. (1948). "A mathematical theory of communication". Bell System Technical Journal, 27, 379–423 i 623–656.
- Kullback, S., Leibler, R. A. (1951). "On information and sufficiency". The Annals of Mathematical Statistics, 22(1), 79–86.
- Cover, T. M., Thomas, J. A. (2006). Elements of Information Theory, 2nd ed. Wiley, rozdz. 2.
- Goodfellow, I., Bengio, Y., Courville, A. (2016). Deep Learning. MIT Press, rozdz. 3.13 (Information Theory).
- Murphy, K. P. (2022). Probabilistic Machine Learning: An Introduction. MIT Press, rozdz. 6 (Information Theory).