1-Wasserstein 与 2-Wasserstein 距离的区别

1-Wasserstein 和 2-Wasserstein 都通过最优传输衡量两个概率分布的差异。它们的核心区别是:前者按搬运距离计费;后者按距离的平方计费,求出最小成本后再开平方。 因此,少量概率质量的远距离移动,对两者的影响不同。

定义:线性代价与平方代价

沿用 Wasserstein 距离简介 中的搬土直觉:把分布 PP 搬成 QQ,在所有可行的运输方案中寻找最优方案。

固定同一个底层距离 d(x,y)d(x,y),例如欧氏距离。记 Π(P,Q)\Pi(P,Q) 为所有边际分布分别为 PP 和 QQ 的联合分布,即可行运输方案的集合,则

W1(P,Q)=inf⁡π∈Π(P,Q)∫d(x,y) dπ(x,y),W2(P,Q)=(inf⁡π∈Π(P,Q)∫d(x,y)2 dπ(x,y))1/2. \begin{aligned} W_1(P,Q) &= \inf_{\pi\in\Pi(P,Q)}\int d(x,y)\,\mathrm{d}\pi(x,y), \\ W_2(P,Q) &= \left(\inf_{\pi\in\Pi(P,Q)}\int d(x,y)^2\,\mathrm{d}\pi(x,y)\right)^{1/2}. \end{aligned}

两者可以理解为:在可行方案中,分别寻找最小的平均搬运距离和最小的搬运距离均方根。平方运输成本对应 W22W_2^2,开平方后才是 W2W_2;一般不能把 W22W_2^2 当作满足三角不等式的距离。定义可参见 Peyré 与 Cuturi 的《Computational Optimal Transport》§2.4。

一个例子:把 1% 的质量搬到远处

在实数轴上取 d(x,y)=∣x−y∣d(x,y)=|x-y|,考虑

P=δ0,Q=0.99δ0+0.01δ10, P=\delta_0,\qquad Q=0.99\delta_0+0.01\delta_{10},

其中 δa\delta_a 表示全部质量集中在位置 aa 的分布。要把 PP 变成 QQ,只需让 99% 的质量留在原地,把 1% 的质量从 0 搬到 10。因此

W1(P,Q)=0.01×10=0.1,W2(P,Q)=0.01×102=1. W_1(P,Q)=0.01\times10=0.1, \qquad W_2(P,Q)=\sqrt{0.01\times10^2}=1.

更一般地,若把比例为 ε\varepsilon 的质量从 0 搬到 R>0R>0,其余留在原地,则

W1=εR,W2=ε R. W_1=\varepsilon R,\qquad W_2=\sqrt{\varepsilon}\,R.

由此可以看出:当 ε\varepsilon 很小时,W2W_2 对这部分远距离质量的响应更突出。这也解释了它为何更关注尾部变化。W1W_1 的响应较弱,但仍会受到远处异常值的影响。还要注意:固定 ε\varepsilon 时,两个距离都随 RR 线性增长;随 R2R^2 增长的是 W22W_2^2。

数学与计算上的区别

比较项 1-Wasserstein 2-Wasserstein
单位质量的运输代价 d(x,y)d(x,y) d(x,y)2d(x,y)^2
从最优成本得到距离 直接取最优成本 对最优成本开平方
保证距离有限的标准条件 两个分布均有有限一阶矩 两个分布均有有限二阶矩

在欧氏空间中,有限一阶矩指 E∥X∥<∞\mathbb{E}\|X\|<\infty,有限二阶矩指 E∥X∥2<∞\mathbb{E}\|X\|^2<\infty,因此 W2W_2 对分布尾部的要求更强。对具有有限二阶矩的两个分布,使用同一个底层距离时有 W1(P,Q)≤W2(P,Q)W_1(P,Q)\leq W_2(P,Q)。相关性质见 《Computational Optimal Transport》§2.4。

从运筹优化的角度看,对于支撑点和权重已知的有限离散分布,计算 W1W_1 和 W22W_2^2 都可以解运输线性规划。代价系数从 d(xi,yj)d(x_i,y_j) 变为 d(xi,yj)2d(x_i,y_j)^2,目标函数对运输量仍是线性的。运输规划形式见 《Computational Optimal Transport》§3.1。

阶数与底层范数是两个独立选择

Wasserstein 的阶数 pp 决定对搬运距离取几次方;底层范数 qq 决定如何测量两点之间的距离。这两个参数可以独立选择。为区分它们,这里临时记

Wp;q(P,Q)=(inf⁡π∈Π(P,Q)∫∥x−y∥qp dπ(x,y))1/p. W_{p;q}(P,Q) =\left(\inf_{\pi\in\Pi(P,Q)}\int\|x-y\|_q^p\,\mathrm{d}\pi(x,y)\right)^{1/p}.

例如,1 范数给出曼哈顿距离 d1(x,y)=∥x−y∥1d_1(x,y)=\|x-y\|_1,2 范数给出欧氏距离 d2(x,y)=∥x−y∥2d_2(x,y)=\|x-y\|_2。W1W_1 和 W2W_2 都可以采用任意一种底层距离;“1-Wasserstein”并不要求使用 1 范数,“2-Wasserstein”也不要求使用 2 范数。

对于点 (0,0)(0,0) 和 (3,4)(3,4),两种底层距离分别为 3+4=73+4=7 和 32+42=5\sqrt{3^2+4^2}=5。这是改变底层范数的结果;Wasserstein 的阶数仍可独立选为 1 或 2。

因此,“阶数与范数独立”指它们是不同的建模选择;底层范数仍会影响最终距离的数值。比较 W1W_1 与 W2W_2 时,应固定同一个底层距离。阶数也与数据是一维还是二维无关。

如何选择?

根据上面的代价结构和例子,可以这样考虑:

  • 关注平均搬运距离,希望少量远距离质量的影响相对较弱:考虑 W1W_1。
  • 希望更重视较大的搬运位移,并且分布满足二阶矩条件:考虑 W2W_2。

实际计算时也要核对工具返回的是距离还是其平方。例如,SciPy 的 wasserstein_distance 计算的是一维分布的 W1W_1。