Jakie zalety ma metryka Wassersteina w porównaniu do dywergencji Kullbacka-Leiblera?


25

Jaka jest praktyczna różnica między miarą Wassersteina a dywergencją Kullbacka-Leiblera ? Metryka Wassersteina jest również nazywana odległością przemieszczającego się Ziemi .

Z Wikipedii:

Metryka Wassersteina (lub Vasersteina) jest funkcją odległości zdefiniowaną między rozkładami prawdopodobieństwa w danej przestrzeni metrycznej M.

i

Rozbieżność Kullbacka – Leiblera jest miarą tego, jak jeden rozkład prawdopodobieństwa odbiega od drugiego oczekiwanego rozkładu prawdopodobieństwa.

Widziałem KL używanego w implementacjach uczenia maszynowego, ale ostatnio natknąłem się na metrykę Wassersteina. Czy istnieje dobra wskazówka, kiedy należy użyć jednego lub drugiego?

(Nie mam wystarczającej reputacji, aby utworzyć nowy tag przy pomocy Wassersteinlub Earth mover's distance.)



1
edytowanie postu w celu dodania tagu Wasserstein na podstawie żądania plakatu. Również dodając odpowiedź.
Lucas Roberts,

Odpowiedzi:


28

Rozważając zalety metryki Wassersteina w porównaniu do dywergencji KL, najbardziej oczywistą jest to, że W jest metryką, podczas gdy dywergencja KL nie jest, ponieważ KL nie jest symetryczna (tj. ogólnie) i nie spełnia nierówności trójkąta (tj. nie obejmuje ogólnie).D K L ( R | | P ) D K L ( Q | | P ) + D K L ( R | | Q )DKL(P||Q)DKL(Q||P)DKL(R||P)DKL(Q||P)+DKL(R||Q)

Jeśli chodzi o praktyczną różnicę, to jedną z najważniejszych jest to, że w przeciwieństwie do KL (i wielu innych miar) Wasserstein bierze pod uwagę przestrzeń metryczną, a to, co oznacza to w mniej abstrakcyjnych kategoriach, najlepiej najlepiej wyjaśnić na przykładzie (możesz pominąć do rysunku, kod tylko do jego wytworzenia):

# 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()

Metryka Wassersteina i rozbieżności Kullbacka-Leiblera dla dwóch różnych par rozkładów Tutaj miary między rozkładami czerwonym i niebieskim są takie same dla rozbieżności KL, podczas gdy odległość Wassersteina mierzy pracę wymaganą do przeniesienia masy prawdopodobieństwa ze stanu czerwonego do stanu niebieskiego przy użyciu osi X jako „drogi”. Miara ta jest oczywiście tym większa, im bardziej oddalona jest masa prawdopodobieństwa (stąd odległość przemieszczającego się pseudonimu). To, którego chcesz użyć, zależy od obszaru zastosowania i tego, co chcesz zmierzyć. Uwaga: zamiast rozbieżności KL istnieją również inne opcje, takie jak odległość Jensen-Shannon, które są właściwymi miernikami.


6

Metryka Wassersteina najczęściej pojawia się w optymalnych problemach transportowych, w których celem jest przeniesienie rzeczy z danej konfiguracji do pożądanej konfiguracji przy minimalnym koszcie lub minimalnej odległości. Kullback-Leibler (KL) jest rozbieżnością (nie miarą) i bardzo często pojawia się w statystykach, uczeniu maszynowym i teorii informacji.

Ponadto miara Wassersteina nie wymaga, aby obie miary znajdowały się w tej samej przestrzeni prawdopodobieństwa, podczas gdy rozbieżność KL wymaga, aby obie miary były zdefiniowane w tej samej przestrzeni prawdopodobieństwa.

Być może najłatwiejszym miejscem do dostrzeżenia różnicy między odległością Wassersteina a dywergencją KL jest wielowymiarowy przypadek Gaussa, w którym oba rozwiązania mają formę zamkniętą. Załóżmy, że te rozkłady mają wymiar , oznacza i macierze kowariancji , dla . Te dwie formuły to:kμiΣii=1,2

W2(N0,N1)2=μ1μ222+tr(Σ1+Σ22(Σ21/2Σ1Σ21/2)1/2)
i Dla uproszczenia rozważmy i . Przy tych uproszczonych założeniach termin śledzenia w Wasserstein wynosi a termin śledzenia w rozbieżności KL będzie wynosił 0 w połączeniu z terminem a stosunek log-determinant również wynosi
DKL(N0,N1)=12(tr(Σ11Σ0)+(μ1μ0)TΣ11(μ1μ0)k+ln(detΣ1detΣ0)).
Σ1=Σ2=wIkμ1μ20k0 , więc te dwie wielkości stają się: i Zauważ, że Wasserstein odległość nie zmienia się w przypadku zmiany wariancji (słownie podejmują jak dużej ilości w macierzy kowariancji), natomiast rozbieżności KL robi. Jest tak, ponieważ odległość Wassersteina jest funkcją odległości w połączonych przestrzeniach podporowych dwóch miar prawdopodobieństwa. Natomiast dywergencja KL jest dywergencją i ta dywergencja zmienia się w zależności od przestrzeni informacyjnej (stosunek sygnału do szumu) rozkładów.
W2(N0,N1)2=μ1μ222
DKL(N0,N1)=(μ1μ0)TΣ11(μ1μ0).
w


1

Metryka Wassersteina jest przydatna w sprawdzaniu poprawności modeli, ponieważ jej jednostkami są same odpowiedzi. Na przykład, jeśli porównujesz dwie stochastyczne reprezentacje tego samego systemu (np. Model zredukowanego rzędu), i , a odpowiedzią są jednostki przemieszczenia, miara Wassersteina jest również w jednostkach przesunięcia. Jeśli zredukujesz swoją stochastyczną reprezentację do deterministycznej, CDF każdego z rozkładów jest funkcją krokową. Metryka Wassersteina to różnica wartości.PQ

Uważam, że ta właściwość jest bardzo naturalnym rozszerzeniem, mówiącym o absolutnej różnicy między dwiema zmiennymi losowymi

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.