Kullback-Leibler Divergence,KL距离

    前几天在考虑话题相似度计算时,接触到KL距离,但是因为它的一个概率和为1的条件与之失之交臂了,没想到又转回来了。

    KL距离,也叫做“相对熵”,它的提出是基于了“信息熵”的概念。

    信息熵,表示的是事物所带有的能量,公式为:

                                                                   

    KL距离,表示的是两个概率分布的距离,wiki上定义为P和Q两个概率分布在对数差异上的期望,公式为:

                                                                  

    需要注意的是:

    一、The K-L divergence is only defined if P and Q both sum to 1 and if  implies  for all i (absolute continuity). 

  二、KL距离具有不对称性,即P到Q的KL距离,不等于Q到P的KL距离。


图:

Kullback-Leibler Divergence,KL距离_第1张图片


举例应用:(以下转自http://hi.baidu.com/shdren09/item/e6441ec2bd495b0e0ad93aca)

假如一个字符发射器,随机发出0和1两种字符,真实发出概率分布为A,但实际不知道A的具体分布。现在通过观察,得到概率分布B与C。各个分布的具体情况如下:

A(0)=1/2,A(1)=1/2

B(0)=1/4,B(1)=3/4

C(0)=1/8,C(1)=7/8

  那么,我们可以计算出得到如下:



  也即,这两种方式来进行编码,其结果都使得平均编码长度增加了。我们也可以看出,按照概率分布B进行编码,要比按照C进行编码,平均每个符号增加的比特数目少。从分布上也可以看出,实际上B要比C更接近实际分布。

  如果实际分布为C,而我们用A分布来编码这个字符发射器的每个字符,那么同样我们可以得到如下:

  再次,我们进一步验证了这样的结论:对一个信息源编码,按照其本身的概率分布进行编码,每个字符的平均比特数目最少。这就是信息熵的概念,衡量了信息源本身的不确定性。另外,可以看出KL距离不满足对称性,即D(P||Q)不一定等于D(Q||P)。

  当然,我们也可以验证KL距离不满足三角不等式条件。


D(P||Q):

P是实际分布,Q是理论值,是对P分布的近似,或者说是描述。

由于KL距离的不对称性,Kullback and Leibler定义了一种对称的距离:D(P||Q)+D(Q||P),这个公式经常被用于分类中的特征选择,P和Q为特征在两个class中的分布


另外一种替代公式,引入了λ变量:


λ=0.5时,就演变成了著名的JS距离(Jensen–Shannon divergence):



关于JS距离,可以参考wiki上的介绍:http://en.wikipedia.org/wiki/Jensen%E2%80%93Shannon_divergence

JS距离应用于 bioinformatics and genome comparison and in protein surface comparison 即生物信息,基因组比较等




你可能感兴趣的:(Kullback-Leibler Divergence,KL距离)