Intuition über die Kullback-Leibler (KL) -Divergenz


47

Ich habe über die Intuition hinter der KL-Divergenz gelernt, wie sehr sich eine Modellverteilungsfunktion von der theoretischen / wahren Verteilung der Daten unterscheidet. Die Quelle, die ich lese, sagt weiter, dass das intuitive Verständnis der Distanz zwischen diesen beiden Verteilungen hilfreich ist, aber nicht wörtlich genommen werden sollte, da für zwei Verteilungen P und Q die KL-Divergenz in P und Q nicht symmetrisch ist .

Ich bin mir nicht sicher, wie ich die letzte Aussage verstehen soll, oder bricht hier die Intuition von "Distanz" zusammen?

Ich würde mich über ein einfaches, aber aufschlussreiches Beispiel freuen.


3
Ich denke, Sie müssen einen Schritt zurücktreten und verstehen, dass Sie typischerweise eine Asymmetrie in der Statistik zwischen der wahren Bevölkerungsverteilung und der Stichprobe (oder wahr und Modell) usw. haben, und dies spiegelt KL-Divergenz wider ... In der allgemeinen Wahrscheinlichkeitstheorie gibt es keine
Ist

1
Welche "Quelle" hast du gelesen?
nbro

Antworten:


34

Ein (metrischer) Abstand D muss symmetrisch sein, dh D(P,Q)=D(Q,P) . Aber laut Definition ist KL nicht.

Beispiel: Ω={A,B} , P(A)=0.2,P(B)=0.8 , Q(A)=Q(B)=0.5 .

Wir haben:

KL(P,Q)=P(A)logP(A)Q(A)+P(B)logP(B)Q(B)0.19

und

KL(Q,P)=Q(A)logQ(A)P(A)+Q(B)logQ(B)P(B)0.22

somit ist und daher ist K L keine (metrische) Entfernung.KL(P,Q)KL(Q,P)KL


50

Zu den anderen hervorragenden Antworten kommt eine Antwort mit einem anderen Gesichtspunkt hinzu, der vielleicht etwas mehr Intuition hinzufügen kann, als gewünscht wurde.

Die Kullback-Leibler - Divergenz ist

KL(P||Q)=p(x)logp(x)q(x)dx
XPQp(x)q(x)H0:QH1:PKL(P||Q)QKL(P||Q)KL(Q||P) spiegelt einfach die Asymmetrie zwischen Null und alternativer Hypothese wider.

PtνQν=1

> lLR_1  <-  function(x) {dt(x, 1, log=TRUE)-dnorm(x, log=TRUE)}  
> integrate(function(x) dt(x, 1)*lLR_1(x), lower=-Inf, upper=Inf)
Error in integrate(function(x) dt(x, 1) * lLR_1(x), lower = -Inf, upper = Inf) : 
  the integral is probably divergent

> lLR_2  <-  function(x) {-dt(x, 1, log=TRUE)+dnorm(x, log=TRUE)}  
> integrate(function(x) dnorm(x)*lLR_2(x), lower=-Inf, upper=Inf)
0.2592445 with absolute error < 1e-07

KL(P||Q)KL(Q||P)0.26

t1t1t1t1n=1t1! Der Rollenwechsel, nicht der Unterschied, ergibt sich hauptsächlich aus den Rollen der Ausreißer.

t1t1

Dies hängt mit meiner Antwort hier zusammen: Warum sollten wir t-Fehler anstelle von normalen Fehlern verwenden?


22

D(P||Q)

SKL(P,Q)=D(P||Q)+D(Q||P)
D(P||Q)SKL(P,Q)
D(A||B)+D(B||C)D(A||C)
SKL(A,B)+SKL(B,C)SKL(A,C)
D(P||Q)=ipilog(piqi)
SKL(P,Q)=i(piqi)log(piqi)

D(A||B)=0.1log(0.10.2)+0.9log(0.90.8)0.0159
D(B||C)0.0112
D(A||C)0.0505
0.0159+0.01120.0505
SKL(A,B)0.0352
SKL(B,C)0.0234
SKL(A,C)0.1173
0.0352+0.02340.1173

Ich habe dieses Beispiel mit Absicht eingeführt. Stellen wir uns vor, Sie werfen ein paar Münzen, z. B. 100 Mal. Solange diese Münzen unverfälscht sind, würden Sie einfach das Werfen von Ergebnissen mit einer Folge von 0-1 Bits (1 Kopf, 0 Schwanz) codieren. In einer solchen Situation, in der die Wahrscheinlichkeit von Kopf gleich der Wahrscheinlichkeit von Schwanz und gleich 0,5 ist, ist das eine ziemlich effektive Kodierung. Jetzt haben wir einige voreingenommene Münzen, also würden wir eher wahrscheinliche Ergebnisse mit kürzerem Code codieren, z. B. Gruppen von Köpfen und Schwänzen zusammenführen und Folgen von k Köpfen mit längerem Code darstellen als Folgen von k Schwänzen (sie sind wahrscheinlicher). Und hier tritt die Kullback-Leibler-Divergenz auf. Wenn P die wahre Verteilung der Ergebnisse darstellt und Q nur eine Näherung von P ist, dann istD ( P | | Q )D(P||Q)D(P||Q) bezeichnet die Strafe, die Sie zahlen, wenn Sie Ergebnisse, die tatsächlich von P distrib stammen, mit einer für Q bestimmten Codierung codieren (Strafe im Sinne der zusätzlichen Bits, die Sie verwenden müssen).

Wenn Sie einfach eine Metrik benötigen, verwenden Sie den Bhattacharyya-Abstand (natürlich die geänderte Version ).1[xp(x)q(x)]


7
Wenn es darum geht, tatsächlich eine Metrik mit einer engeren Verbindung zur KL-Divergenz zu haben, können sie die Quadratwurzel der Jensen-Shannon-Divergenz anstelle von Bhattacharyya in Betracht ziehen.
Kardinal

5

Ich bin hier versucht, eine rein intuitive Antwort auf Ihre Frage zu geben. Wenn Sie Ihre Aussagen umformulieren, können Sie mit der KL-Divergenz den Abstand zwischen zwei Verteilungen messen, so wie Sie den Abstand zwischen zwei Datensätzen in einem Hilbert-Raum berechnen würden. Vorsicht ist jedoch geboten.

Warum? Die KL-Divergenz ist keine Distanz, wie Sie sie normalerweise verwenden, wie zum Beispiel die Norm. Tatsächlich ist es positiv und genau dann gleich Null, wenn die beiden Verteilungen gleich sind (wie in den Axiomen für die Definition eines Abstands). Aber wie gesagt, es ist nicht symmetrisch. Es gibt Möglichkeiten, dies zu umgehen, aber es ist sinnvoll, dass es nicht symmetrisch ist.L2

Tatsächlich definiert die KL-Divergenz den Abstand zwischen einer Modellverteilung (die Sie tatsächlich kennen) und einer theoretischen Verteilung so dass es sinnvoll ist, unterschiedlich mit (der "theoretische" Abstand von zu unter der Annahme der Modell ) und (der "empirische" Abstand von zu Annahme der Daten ), da sie ganz unterschiedliche Maße bedeuten.PQPKL(P,Q)PQPKL(Q,P)PQQ


4

Das Lehrbuch Elemente der Informationstheorie gibt uns ein Beispiel:

Wenn wir zum Beispiel die wahre Verteilung p der Zufallsvariablen kennen würden, könnten wir einen Code mit der durchschnittlichen Beschreibungslänge H (p) konstruieren. Wenn wir stattdessen den Code für eine Verteilung q verwenden würden, bräuchten wir durchschnittlich H (p) + D (p || q) Bits, um die Zufallsvariable zu beschreiben.

Um die obige Aussage zu paraphrasieren, können wir sagen, dass wir, wenn wir die Informationsverteilung (von q nach p) ändern, im Durchschnitt D (p || q) zusätzliche Bits benötigen, um die neue Verteilung zu codieren.

Eine Illustration

Lassen Sie mich dies anhand einer Anwendung in der Verarbeitung natürlicher Sprache veranschaulichen.

Bedenken Sie, dass eine große Gruppe von Menschen, die mit B bezeichnet, sind Vermittler und jeder von ihnen zugeordnet ist eine Aufgabe , ein Substantiv zu wählen turkey, animalund bookund Sende es C. Es ist ein Typ Name A , die jeder von ihnen eine E - Mail zu geben senden kann ihnen ein paar Hinweise. Wenn niemand in der Gruppe die E-Mail erhalten hat, können sie die Augenbrauen hochziehen und eine Weile zögern, darüber nachzudenken, was C benötigt. Die Wahrscheinlichkeit, dass eine Option ausgewählt wird, beträgt 1/3. Allgemein gleichmäßige Verteilung (wenn nicht, kann es sich auf ihre eigenen Vorlieben beziehen und wir ignorieren solche Fälle einfach).

Aber wenn ihnen ein Verb gegeben wird, wie baste, können 3/4 von ihnen wählen turkeyund 3/16 wählen animalund 1/16 wählen book. Wie viele Informationen in Bits hat dann jeder der Mediatoren im Durchschnitt erhalten, wenn er das Verb kennt? Es ist:

D(p(nouns|baste)||p(nouns))=x{turkey,animal,book}p(x|baste)log2p(x|baste)p(x)=34log23413+316log231613+116log211613=0.5709  bits

Aber was ist, wenn das angegebene Verb ist read? Wir können uns vorstellen, dass alle von ihnen bookohne zu zögern wählen würden, dann ist der durchschnittliche Informationsgewinn für jeden Mediator aus dem Verb read:

D(p(nouns|read)||p(nouns))=x{book}p(x|read)log2p(x|read)p(x)=1log2113=1.5849  bits
Wir können sehen, dass das Verb readden Mediatoren mehr Informationen geben kann. Und genau das kann die relative Entropie messen.

Lass uns unsere Geschichte fortsetzen. Wenn C vermutet, dass das Substantiv falsch ist, weil A ihm mitgeteilt hat, dass er möglicherweise einen Fehler gemacht hat, indem er das falsche Verb an die Mediatoren gesendet hat. Wie viele Informationen in Bits kann eine solche schlechte Nachricht dann C geben?

1) wenn das von A gegebene Verb war baste:

D(p(nouns)||p(nouns|baste))=x{turkey,animal,book}p(x)log2p(x)p(x|baste)=13log21334+13log213316+13log213116=0.69172  bits

2) aber was, wenn das Verb war read?

D(p(nouns)||p(nouns|baste))=x{book,,}p(x)log2p(x)p(x|baste)=13log2131+13log2130+13log2130=  bits

Da C nie weiß, wie die beiden anderen Substantive lauten würden, wäre jedes Wort im Wortschatz möglich.

Wir können sehen, dass die KL-Divergenz asymmetrisch ist.

Ich hoffe, ich habe recht, und wenn nicht, kommentieren Sie bitte und helfen Sie, mich zu korrigieren. Danke im Voraus.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.