KL散度、JS散度以及交叉熵对比

1、KL散度(Kullback–Leibler divergence)

当P(x)和Q(x)的相似度越高,KL散度越小。
KL散度主要有两个性质:
(1)不对称性
尽管KL散度从直观上是个度量或距离函数,但它并不是一个真正的度量或者距离,因为它不具有对称性,即D(P||Q)!=D(Q||P)。
(2)非负性
相对熵的值是非负值,即D(P||Q)>0。

2、JS散度(Jensen-Shannon divergence)
JS散度也称JS距离,是KL散度的一种变形。

但是不同于KL主要又两方面:
(1)值域范围
JS散度的值域范围是[0,1],相同则是0,相反为1。相较于KL,对相似度的判别更确切了。
(2)对称性
即 JS(P||Q)=JS(Q||P),从数学表达式中就可以看出。

3、交叉熵(Cross Entropy)
在神经网络中,交叉熵可以作为损失函数,因为它可以衡量P和Q的相似性。

以上都是基于离散分布的概率,如果是连续的数据,则需要对数据进行Probability Density Estimate来确定数据的概率分布,就不是求和而是通过求积分的形式进行计算了。

参考文献

原文链接:https://blog.csdn.net/FrankieHello/article/details/80614422

posted @ 2021-03-04 11:14  不擅长纵横的捭阖家  阅读(428)  评论(0编辑  收藏  举报