为什么KL-divergence 可以用来衡量两个概率分布的不相似性?

来源:互联网 发布:手机淘宝6.0版 编辑:程序博客网 时间:2024/05/18 21:42

以下所有内容均来自 PRML 一书,读者读了之后,有任何没有看懂的,请留言。我是传播知识的小蜜蜂

首先KL-divergence的定义:

如果有个未知的分布为p(x),我们使用q(x)估计它。从信息传输的角度理解,如果使用它们刻画信息编码的方法。那么使用q(x)估计p(x)时,平均额外需要多编码的信息长度为:

KL(pq)=p(x)lnq(x)dx(p(x)lnp(x)dx)=p(x)lnq(x)p(x)dx
。如果要想使得两个分布p(x)q(x)尽可能的相同,则KL(pq)应尽可能地最小。
f(x)=lnq(x)p(x)。显然,f(x) 是个凸函数。由凸函数的定义和Jensen不等式可知:
p(x)f(x)dxf(xp(x)dx)
,因此:
KL(pq)ln(q(x)p(x)p(x))dx=lnq(x)dx=0
. 事实上,ln(x)是强凸函数, 因此等号并不成立。即:
KL(pq)>ln(q(x)p(x)p(x))dx=lnq(x)dx=0
。 根据KL(pq)的定义,只用当p(x)==q(x)时等号成立。因此,KL(pq)可以用来衡量两个分布的差异。它的值越大说明两个分布的差异越大。

0 0