今日热搜:KL散度、交叉熵、概率分布的差异是什么?时间序列中的概率分布

发布时间:   来源:CSDN  

在看论文《Detecting Regions of Maximal Divergence for Spatio-Temporal Anomaly Detection》时,文中提到了这三种方法来比较时间序列中不同区域概率分布的差异。


(资料图)

KL散度、JS散度和交叉熵

三者都是用来衡量两个概率分布之间的差异性的指标。不同之处在于它们的数学表达。

对于概率分布P(x)和Q(x)

1)KL散度(Kullback–Leibler divergence)

又称KL距离,相对熵。

当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来确定数据的概率分布,就不是求和而是通过求积分的形式进行计算了。  

个人理解:

1、KL散度本质是用来衡量两个概率分布的差异一种数学计算方式;由于用到比值除法不具备对称性;

2、神经网络训练时为何不用KL散度,从数学上来讲,它们的差异在于KL散度多减了一个 H(P);P代表真实分布,Q代表估计的分布

从损失函数角度来看,在训练样本固定的情况下,H(P)是个常数,对梯度更新没有价值;所以两者的最优解是一样的;

相关文章Related

返回栏目>>