ML Atlas

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.KLDivLoss oczekuje log-prawdopodobieństw jako wejścia i prawdopodobieństw jako celu — częste źródło błędów; torch.distributions.kl_divergence dla 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).

Zobacz też