KL散度、JS散度、Wasserstein距离

1. KL散度

KL散度又称为相对熵,信息散度,信息增益。KL散度是是两个几率分布 $P$ 和 $Q$  之间差异的非对称性的度量。 KL散度是用来 度量使用基于 $Q$ 的编码来编码来自 $P$ 的样本平均所需的额外的位元数。 典型状况下,$P$ 表示数据的真实分布,$Q$ 表示数据的理论分布,模型分布,或 $P$ 的近似分布。 html

定义以下:git

由于对数函数是凸函数,因此KL散度的值为非负数。github

有时会将KL散度称为KL距离,但它并不知足距离的性质:算法

  1. KL散度不是对称的,即 $D_{KL} (P||Q) \neq D_{KL} (Q||P)$;
  2. KL散度不知足三角不等式。

2. JS散度(Jensen-Shannon)

JS散度度量了两个几率分布的类似度,基于KL散度的变体,解决了KL散度非对称的问题。通常地,JS散度是对称的,其取值是 $0$ 到 $1$ 之间。定义以下:markdown

KL散度和JS散度度量的时候有一个问题:函数

若是两个分配 $P, Q$ 离得很远,彻底没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为 $0$。梯度消失了。学习

3. Wasserstein距离

Wasserstein距离度量两个几率分布之间的距离,定义以下:编码

  $\Pi (P_1, P_2)$ 是 $P_1$ 和 $P_2$ 分布组合起来的全部可能的联合分布的集合。对于每个可能的联合分布 $\gamma$,能够从中采样 $(x,y)∼ \gamma$ 获得一个样本 $x$ 和 $y$,并计算出这对样本的距离 $||x−y||$,因此能够计算该联合分布 $\gamma$ 下,样本对距离的指望值 $E _{(x, y) ∼ \gamma}[||x−y||]$。在全部可能的联合分布中可以对这个指望值取到的下界 $\inf_{\gamma ∼ \Pi(P_1, P_2)} E _{(x, y) ∼ \gamma}[||x−y||]$ 就是Wasserstein距离。 spa

  直观上能够把 $E _{(x, y) ∼ \gamma}[||x−y||]$ 理解为在 $\gamma$ 这个路径规划下把土堆 $P_1$ 挪到土堆 $P_2$ 所须要的消耗。而Wasserstein距离就是在最优路径规划下的最小消耗。因此Wesserstein距离又叫Earth-Mover距离。htm

  Wessertein距离相比KL散度和JS散度的优点在于:即便两个分布的支撑集没有重叠或者重叠很是少,仍然能反映两个分布的远近。而JS散度在此状况下是常量,KL散度可能无心义。

 

转载自:KL散度、JS散度、Wasserstein距离