KL divergence为什么不是对称的?

  统计/机器学习 概率分布 描述性统计    浏览次数:7907        分享
5

之前我问了python中计算KL divergence,但是发现KL divergence不是对称的,比如说KL(a, b) != KL(b, a)。

为什么不对称呢?是两者的意义不同吗?


 

飞翔钉子   2018-04-25 00:27



   3个回答 
7

KL divergence又可以叫相对熵

从它的计算过程:

$$KL(p||q)=-\int p(x)\ln q(x)\mathrm{d}x-\left ( -\int p(x)\ln p(x)\mathrm{d}x \right )$$

可以看到不满足对称。

信息论里可以理解右边一项是x分布为p(x)时,传输x信息的最小编码长度。左边一项是x的分布为p(x),却被误认为分布是q(x)情况下的实际编码长度。所以非负性也可以理解。



SofaSofa数据科学社区DS面试题库 DS面经

nobodyoo1   2018-04-25 01:10

4

从信息论的角度来说,$KL(P||Q)$是指当我们用$Q$去逼近$P$的信息损失量。


从统计角度来说可能更好理解一点。两个概率分布$P$和$Q$,概率密度函数分别为$p(x)$和$q(x)$。

我们根据概率分布$P$去生成一个随机点$x$,那么这个$x$有多大的可能性是属于概率分布$Q$的呢?它们的似然函数分别为$p(x)$和$q(x)$。因为$P$是所谓的原分布,那么$q(x)$越接近$p(x)$,所以$\frac{q(x)}{p(x)}$就该接近1。

顺理成章,就很好理解$KL$为什么不对称了。$KL(P||Q)$指的是$P$为原分布,$KL(Q||P)$指的是$Q$为原分布。

$$KL(P||Q)=\lim_{n\rightarrow\infty} \frac{1}{n}\sum_{i=1}^n\log\frac{{q(x_i)}}{p(x_i)}$$


此外英文好得可以看看这篇文章,写得更具体。

SofaSofa数据科学社区DS面试题库 DS面经

Lydia   2018-05-17 12:45

3

如果题主需要一个具有对称性的度量的话,推荐Jensen–Shannon divergence,它可以看作是对称版的Kullback–Leibler divergence。


SofaSofa数据科学社区DS面试题库 DS面经

Marvin_THU   2018-06-27 22:13



  相关讨论

如何度量一个分布长尾的程度?

顺序统计量(order statistics)是什么?

样本中心矩和样本原点矩的定义分别是什么?

怎么理解指数分布里的参数lambda?

python中计算KL divergence

QQ-plot图里的x轴y轴是什么意思

boxplot里的横线是什么意思?

多个独立同分布的均匀随机变量的最小值的期望是多少?

两个独立的正态随机变量的乘积服从什么分布?

长尾分布、肥尾分布、重尾分布?

  随便看看

随机森林会发生过拟合(overfitting)吗?

对连续特征一定要进行分箱处理吗?

怎么对pandas dataframe的列求众数

dropout rate一般设置多大?

AIC可以是负数吗?