https://zhuanlan.zhihu.com/p/95687720
KL Divergence
用于衡量两种分布相似程度的统计量,越小,表示两种概率分布越接近。
所谓KL散度,是指当某分布q(x)被用于近似p(x)时的信息损失。
也就是说,q(x)能在多大程度上表达p(x)所包含的信息,KL散度越大,表达效果越差。
KL散度就是为了度量这种损失而被提出的。
若我们使用分布q来表示分布p,那么信息熵的损失如下
信息熵损失
可将该式写作期望的形式
稍加变形,称为定义中的形式
Entropy
如果式中的log以2为底的话,我们可以将这个式子解释为:要花费至少多少位的编码来表示此概率分布。从此式也可以看出,信息熵的本质是一种期望。
JS divergence
JS 散度度量了两个概率分布的相似度,基于 KL 散度的变体,解决了 KL 散度非对称的问题。一般地,JS 散度是对称的,其取值是 0 到 1 之间。
定义如下:
KL 散度和 JS 散度度量的时候有一个问题:
如果两个分配 P,Q 离得很远,完全没有重叠的时候,那么 KL 散度值是没有意义的,而 JS 散度值是一个常数,这就意味这一点的梯度为 0。
JS距离在两个数据集近似没有重叠的情况下,等于常数Log2,所以出现梯度消失的问题。
Wasserstein距离
最大的好处就是不用管数据分布有没有重叠
优点: