Quels sont les avantages de la métrique Wasserstein par rapport à la divergence Kullback-Leibler?


25

Quelle est la différence pratique entre la métrique de Wasserstein et la divergence de Kullback-Leibler ? La métrique de Wasserstein est également appelée distance du moteur de la Terre .

De Wikipédia:

La métrique de Wasserstein (ou Vaserstein) est une fonction de distance définie entre les distributions de probabilité sur un espace métrique donné M.

et

La divergence de Kullback – Leibler est une mesure de la façon dont une distribution de probabilité s'écarte d'une seconde distribution de probabilité attendue.

J'ai vu KL utilisé dans des implémentations d'apprentissage automatique, mais j'ai récemment rencontré la métrique Wasserstein. Existe-t-il une bonne directive pour savoir quand utiliser l'un ou l'autre?

(J'ai une réputation insuffisante pour créer un nouveau tag avec Wassersteinou Earth mover's distance.)



1
modifier le message pour ajouter une balise Wasserstein en fonction de la demande d'affiche. Ajout d'une réponse également.
Lucas Roberts

Réponses:


28

Lorsque l'on considère les avantages de la métrique de Wasserstein par rapport à la divergence de KL, alors le plus évident est que W est une métrique alors que la divergence de KL ne l'est pas, car KL n'est pas symétrique (c'est-à-dire en général) et ne satisfait pas l'inégalité du triangle (ie ne tient pas en général).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)

En ce qui concerne la différence pratique, l'une des plus importantes est que, contrairement à KL (et à de nombreuses autres mesures), Wasserstein prend en compte l'espace métrique et ce que cela signifie en termes moins abstraits est peut-être mieux expliqué par un exemple (n'hésitez pas à sauter à la figure, code juste pour la produire):

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

Métrique de Wasserstein et divergences de Kullback-Leibler pour deux paires de distributions différentes Ici, les mesures entre les distributions rouge et bleue sont les mêmes pour la divergence KL tandis que la distance de Wasserstein mesure le travail requis pour transporter la masse de probabilité de l'état rouge à l'état bleu en utilisant l'axe des x comme une «route». Cette mesure est évidemment d'autant plus grande que la masse de probabilité est éloignée (d'où la distance du pseudo-terrasseur). Ainsi, celui que vous souhaitez utiliser dépend de votre domaine d'application et de ce que vous souhaitez mesurer. À noter, au lieu de la divergence KL, il existe également d'autres options comme la distance Jensen-Shannon qui sont des mesures appropriées.


6

La métrique de Wasserstein apparaît le plus souvent dans les problèmes de transport optimaux où le but est de déplacer des choses d'une configuration donnée à une configuration souhaitée dans le coût minimum ou la distance minimum. Le Kullback-Leibler (KL) est une divergence (pas une métrique) et apparaît très souvent dans les statistiques, l'apprentissage automatique et la théorie de l'information.

De plus, la métrique de Wasserstein n'exige pas que les deux mesures soient sur le même espace de probabilité, tandis que la divergence KL nécessite que les deux mesures soient définies sur le même espace de probabilité.

Peut-être l'endroit le plus facile pour voir la différence entre la distance de Wasserstein et la divergence KL est dans le cas gaussien multivarié où les deux ont des solutions de forme fermée. Supposons que ces distributions aient une dimension , des moyennes et des matrices de covariance , pour . Ces deux formules sont:kμiΣii=1,2

W2(N0,N1)2=μ1μ222+tr(Σ1+Σ22(Σ21/2Σ1Σ21/2)1/2)
et Pour simplifier, considérons et . Avec ces hypothèses simplificatrices, le terme trace dans Wasserstein est et le terme trace dans la divergence KL sera 0 lorsqu'il est combiné avec le terme et le rapport log-déterminant est également
KL(N0,N1)=12(tr(Σ1-1Σ0)+(μ1-μ0)TΣ1-1(μ1-μ0)-k+ln(détΣ1détΣ0)).
Σ1=Σ2=wjekμ1μ20-k0 , donc ces deux quantités deviennent: et Notez que la distance de Wasserstein ne change pas si la variance change (par exemple, prenez comme une grande quantité dans les matrices de covariance) alors que la divergence KL change. En effet, la distance de Wasserstein est une fonction de distance dans les espaces de support communs des deux mesures de probabilité. En revanche, la divergence KL est une divergence et cette divergence change en fonction de l'espace d'informations (rapport signal / bruit) des distributions.
W2(N0,N1)2=μ1-μ222
KL(N0,N1)=(μ1-μ0)TΣ1-1(μ1-μ0).
w


1

La métrique de Wasserstein est utile dans la validation des modèles car ses unités sont celles de la réponse elle-même. Par exemple, si vous comparez deux représentations stochastiques du même système (par exemple un modèle d'ordre réduit), et , et que la réponse est des unités de déplacement, la métrique de Wasserstein est également en unités de déplacement. Si vous deviez réduire votre représentation stochastique à un déterministe, le CDF de la distribution de chacun est une fonction pas à pas. La métrique Wasserstein est la différence des valeurs.PQ

Je trouve que cette propriété est une extension très naturelle pour parler de la différence absolue entre deux variables aléatoires

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.