当前位置: 代码迷 >> 综合 >> KL散度-Entropy-JS散度-W距离
  详细解决方案

KL散度-Entropy-JS散度-W距离

热度:16   发布时间:2023-12-24 16:07:28.0

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距离

最大的好处就是不用管数据分布有没有重叠

优点: