与Kullback-Leibler散度相比,Wasserstein度量标准有什么优势?


25

Wasserstein度量Kullback-Leibler散度之间的实际区别是什么?Wasserstein度量标准也称为推土机距离

从维基百科:

Wasserstein(或Vaserstein)度量是在给定度量空间M上的概率分布之间定义的距离函数。

Kullback-Leibler散度是一种概率分布与第二个预期概率分布之间的差异的度量。

我已经看到KL被用于机器学习实现中,但是最近我遇到了Wasserstein指标。关于何时使用一种或另一种有很好的指南吗?

(我的信誉不足,无法使用Wasserstein或创建新标签Earth mover's distance。)



1
编辑帖子,以根据发布者的请求添加Wasserstein标签。还添加了答案。
卢卡斯·罗伯茨

Answers:


28

考虑Wasserstein度量与KL散度相比的优势时,最明显的是W是一个度量,而KL散度则不是,因为KL不对称(即在普通)和不满足三角不等式(即d ķ 大号[R | | P d ķ 大号Q | | P + d ķDKL(P||Q)DKL(Q||P)通常不成立。DKL(R||P)DKL(Q||P)+DKL(R||Q)

至于实际的区别,最重要的一点是,与KL(以及许多其他度量)不同,Wasserstein考虑了度量空间,这也许可以通过一个示例来最好地用较少的抽象术语进行解释(随意跳过)该图,仅用于生成它的代码):

# 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度量和Kullback-Leibler散度 在这里,红色和蓝色分布之间的度量对于KL散度是相同的,而Wasserstein距离使用x轴作为“道路”来度量将概率质量从红色状态传输到蓝色状态所需的功。显然,此度量越大,概率质量越远(因此别名推土机的距离)。因此,您要使用哪一个取决于您的应用领域和要测量的内容。需要注意的是,除了KL散度以外,还有其他一些选项(如Jensen-Shannon距离)是适当的指标。


6

Wasserstein度量标准最常见于最佳运输问题,其目标是以最小的成本或最小的距离将事物从给定配置移动到所需配置。Kullback-Leibler(KL)是一个差异(不是度量),在统计,机器学习和信息论中经常出现。

同样,Wasserstein指标不要求两个度量都在相同的概率空间上,而KL散度要求两个度量都在相同的概率空间上定义。

kμiΣii=1,2

W2(N0,N1)2=μ1μ222+tr(Σ1+Σ22(Σ21/2Σ1Σ21/2)1/2)
DKL(N0,N1)=12(tr(Σ11Σ0)+(μ1μ0)TΣ11(μ1μ0)k+ln(detΣ1detΣ0)).
Σ1=Σ2=wIkμ1μ20k项,对数行列式比率也为,因此这两个量变为: 和 请注意,如果方差发生变化(例如,将作为协方差矩阵中的一个大量),则Wasserstein距离不会发生变化,而KL散度会发生变化。这是因为Wasserstein距离是两个概率测度的联合支持空间中的距离函数。相反,KL散度是散度,并且该散度基于分布的信息空间(信噪比)而变化。0
W2(N0,N1)2=μ1μ222
DKL(N0,N1)=(μ1μ0)TΣ11(μ1μ0).
w


1

Wasserstein指标可用于模型验证,因为其单位是响应本身的单位。例如,如果要比较同一系统的两个随机表示形式(例如,降阶模型)和,并且响应是位移单位,则Wasserstein度量也将以位移单位表示。如果将随机表示简化为确定性,则每个分布的CDF都是阶跃函数。Wasserstein度量是值的差。PQ

我发现此属性是讨论两个随机变量之间的绝对差异的自然扩展

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.