Ich werde KL-Divergenz in meinem Python-Code verwenden und habe dieses Tutorial erhalten .
In diesem Tutorial ist die Implementierung der KL-Divergenz recht einfach.
kl = (model * np.log(model/actual)).sum()
Soweit ich weiß, sollte die Wahrscheinlichkeitsverteilung von model
und actual
<= 1 sein.
Meine Frage ist, was ist die maximale Schranke / der maximal mögliche Wert von k ?. Ich muss den maximal möglichen Wert von kl distance kennen, wie für die maximale Grenze in meinem Code.
machine-learning
distance
kullback-leibler
user46543
quelle
quelle
Antworten:
Oder sogar mit der gleichen Unterstützung, wenn eine Distribution einen viel dickeren Schwanz hat als die andere. Nimm
quelle
Für Distributionen, die nicht die gleiche Unterstützung haben, ist die KL-Divergenz nicht begrenzt. Schauen Sie sich die Definition an:
Wenn P und Q nicht die gleiche Unterstützung haben, gibt es einen Punkt dem p ( x ' ) ≠ 0 und q ( x ' ) = 0 sind , wodurch KL ins Unendliche geht. Dies gilt auch für diskrete Verteilungen, wie dies bei Ihnen der Fall ist.x′ p(x′)≠0 q(x′)=0
Edit: Vielleicht wäre eine bessere Wahl, um die Divergenz zwischen Wahrscheinlichkeitsverteilungen zu messen, die sogenannte Wasserstein-Distanz, die eine Metrik ist und bessere Eigenschaften hat als die KL-Divergenz. Es ist aufgrund seiner Anwendungen im Deep-Learning-Bereich sehr beliebt geworden (siehe WGAN-Netzwerke).
quelle
Um die hervorragenden Antworten von Carlos und Xi'an zu ergänzen , ist es auch interessant festzustellen, dass eine ausreichende Bedingung für die Endlichkeit der KL-Divergenz darin besteht, dass beide Zufallsvariablen den gleichen kompakten Träger haben und dass die Referenzdichte begrenzt wird . Dieses Ergebnis legt auch eine implizite Grenze für das Maximum der KL-Divergenz fest (siehe Satz und Beweis unten).
Satz: Wenn die Dichten und q den gleichen kompakten Träger X haben und die Dichte p an diesen Träger gebunden ist (dh eine endliche Obergrenze hat), dann ist K L ( P | | Q ) < ∞ .p q X p KL(P||Q)<∞
Beweis: Da kompakte Unterstützung X hat, bedeutet dies, dass es einen positiven Infimumwert gibt:q X
Ebenso, da kompakte Unterstützung hatp hat, dass es einen positiven Supremum-Wert gibt:X
Da diese beiden Dichten auf dem gleichen Träger sind und diese begrenzt ist, haben wir . Das bedeutet, dass:0<q–⩽p¯<∞
Wenn die letzte obere Schranke ist, haben wir eindeutig 0 ⩽ L _ < ∞, so dass:L––≡ln(p¯)−ln(q–) 0⩽L––<∞
quelle