Was sind die Vorteile der Wasserstein-Metrik gegenüber der Kullback-Leibler-Divergenz?


25

Was ist der praktische Unterschied zwischen der Wasserstein-Metrik und der Kullback-Leibler-Divergenz ? Die Wasserstein-Metrik wird auch als Erdbewegungsdistanz bezeichnet .

Aus Wikipedia:

Wasserstein-Metrik (oder Vaserstein-Metrik) ist eine Abstandsfunktion, die zwischen Wahrscheinlichkeitsverteilungen auf einem gegebenen Metrikraum M definiert ist.

und

Die Kullback-Leibler-Divergenz ist ein Maß dafür, wie eine Wahrscheinlichkeitsverteilung von einer zweiten erwarteten Wahrscheinlichkeitsverteilung abweicht.

Ich habe gesehen, dass KL in Implementierungen für maschinelles Lernen verwendet wurde, bin aber kürzlich auf die Wasserstein-Metrik gestoßen. Gibt es eine gute Richtlinie für die Verwendung des einen oder anderen?

(Ich habe nicht genug Reputation, um ein neues Tag mit Wassersteinoder zu erstellen Earth mover's distance.)


Wo ich auf die Wasserstein-Metrik
gestoßen

1
Bearbeiten des Posts, um ein Wasserstein-Tag basierend auf der Posteranforderung hinzuzufügen. Füge auch eine Antwort hinzu.
Lucas Roberts

Antworten:


28

Wenn man die Vorteile der Wasserstein-Metrik im Vergleich zur KL-Divergenz betrachtet, ist die offensichtlichste, dass W eine Metrik ist, während die KL-Divergenz keine ist, da KL nicht symmetrisch ist (dh im Allgemeinen) und erfüllt nicht die Dreiecksungleichung (dh D K L ( R | | P ) D K L ( Q | | P ) + D KDKL(P||Q.)DKL(Q.||P)gilt im Allgemeinen nicht).DKL(R||P)DKL(Q.||P)+DKL(R||Q.)

Was den praktischen Unterschied betrifft, ist einer der wichtigsten, dass Wasserstein im Gegensatz zu KL (und vielen anderen Maßnahmen) den metrischen Raum berücksichtigt und was dies in weniger abstrakten Begriffen bedeutet, lässt sich vielleicht am besten anhand eines Beispiels erklären (Sie können es gerne überspringen) auf die Abbildung, Code nur zur Herstellung):

# define samples this way as scipy.stats.wasserstein_distance can't take probability distributions directly
sampP = [1,1,1,1,1,1,2,3,4,5]
sampQ = [1,2,3,4,5,5,5,5,5,5]
# and for scipy.stats.entropy (gives KL divergence here) we want distributions
P = np.unique(sampP, return_counts=True)[1] / len(sampP)
Q = np.unique(sampQ, return_counts=True)[1] / len(sampQ)
# compare to this sample / distribution:
sampQ2 = [1,2,2,2,2,2,2,3,4,5]
Q2 = np.unique(sampQ2, return_counts=True)[1] / len(sampQ2)

fig = plt.figure(figsize=(10,7))
fig.subplots_adjust(wspace=0.5)
plt.subplot(2,2,1)
plt.bar(np.arange(len(P)), P, color='r')
plt.xticks(np.arange(len(P)), np.arange(1,5), fontsize=0)
plt.subplot(2,2,3)
plt.bar(np.arange(len(Q)), Q, color='b')
plt.xticks(np.arange(len(Q)), np.arange(1,5))
plt.title("Wasserstein distance {:.4}\nKL divergence {:.4}".format(
    scipy.stats.wasserstein_distance(sampP, sampQ), scipy.stats.entropy(P, Q)), fontsize=10)
plt.subplot(2,2,2)
plt.bar(np.arange(len(P)), P, color='r')
plt.xticks(np.arange(len(P)), np.arange(1,5), fontsize=0)
plt.subplot(2,2,4)
plt.bar(np.arange(len(Q2)), Q2, color='b')
plt.xticks(np.arange(len(Q2)), np.arange(1,5))
plt.title("Wasserstein distance {:.4}\nKL divergence {:.4}".format(
    scipy.stats.wasserstein_distance(sampP, sampQ2), scipy.stats.entropy(P, Q2)), fontsize=10)
plt.show()

Wasserstein-Metrik und Kullback-Leibler-Divergenz für zwei verschiedene Verteilungspaare Hier sind die Maße zwischen roter und blauer Verteilung für die KL-Divergenz gleich, während der Wasserstein-Abstand die Arbeit misst, die erforderlich ist, um die Wahrscheinlichkeitsmasse unter Verwendung der x-Achse als „Straße“ vom roten in den blauen Zustand zu transportieren. Dieses Maß ist offensichtlich umso größer, je weiter die Wahrscheinlichkeitsmasse entfernt ist (daher der Alias-Abstand des Erdbewegers). Welches Sie also verwenden möchten, hängt von Ihrem Anwendungsbereich ab und davon, was Sie messen möchten. Anstelle der KL-Divergenz gibt es auch andere Optionen wie die Jensen-Shannon-Distanz, bei denen es sich um geeignete Metriken handelt.


6

Die Wasserstein-Metrik tritt am häufigsten bei optimalen Transportproblemen auf, bei denen das Ziel darin besteht, Dinge von einer bestimmten Konfiguration zu einer gewünschten Konfiguration zu minimalen Kosten oder in minimaler Entfernung zu bewegen. Der Kullback-Leibler (KL) ist eine Divergenz (keine Metrik) und taucht sehr häufig in Statistik, maschinellem Lernen und Informationstheorie auf.

Außerdem erfordert die Wasserstein-Metrik nicht, dass sich beide Kennzahlen im selben Wahrscheinlichkeitsraum befinden, wohingegen die KL-Divergenz erfordert, dass beide Kennzahlen im selben Wahrscheinlichkeitsraum definiert werden.

kμichΣichich=1,2

W2(N0,N1)2=μ1-μ222+tr(Σ1+Σ2-2(Σ21/2Σ1Σ21/2)1/2)
DKL(N0,N1)=12(tr(Σ1-1Σ0)+(μ1-μ0)TΣ1-1(μ1-μ0)-k+ln(detΣ1detΣ0)).
Σ1=Σ2=wichkμ1μ20-k0
W2(N0,N1)2=μ1-μ222
DKL(N0,N1)=(μ1-μ0)TΣ1-1(μ1-μ0).
wals eine große Menge in den Kovarianzmatrizen), wohingegen die KL-Divergenz dies tut. Dies liegt daran, dass der Wasserstein-Abstand eine Abstandsfunktion in den gemeinsamen Stützräumen der beiden Wahrscheinlichkeitsmaße ist. Im Gegensatz dazu ist die KL-Divergenz eine Divergenz und diese Divergenz ändert sich basierend auf dem Informationsraum (Signal-Rausch-Verhältnis) der Verteilungen.


1

PQ.

Ich finde diese Eigenschaft eine sehr natürliche Erweiterung, um über den absoluten Unterschied zwischen zwei Zufallsvariablen zu sprechen

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.