KL Divergence

relative entropy
衡量两个概率分布的散度probability distributions diverges
for discrete probability distributions

image.png

for continuous random variable

image.png

从字面意思来看呢,是一种距离,但是实际上和我们理解的“距离”并不一样。我们常规理解的距离一般来说有几点性质:
1.非负:距离是绝对值,非负好理解。
2.对称:从A到B的距离 = 从B到A的距离
3.勾股定理:两边之和大于第三边
而KL的性质只满足第一点非负性,不满足对称性和勾股定理。

# KL divergence (and any other such measure) expects the input data to have a sum 1
1.import numpy as np
def KL(a, b): 
    a = np.array(a, dtype=np.float) 
    b = np.array(b, dtype=np.float) 
    return np.sum(np.where(a!=0, a*np.log(a/b), 0)) 
# np.log(a / (b + np.spacing(1))) np.spacing等价于inf
2. scipy.stats.entropy(pk, qk=None, base=None)
当qk != None时计算KL Divergence
automatically normalize x,y to have sum = 1

application:
text similarity, 先统计词频,然后计算kl divergence
用户画像

reference:
https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence
http://www.cnblogs.com/charlotte77/p/5392052.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在GAN的相关研究如火如荼甚至可以说是泛滥的今天,一篇新鲜出炉的arXiv论文《Wasserstein GAN》却...
    MiracleJQ阅读 2,278评论 0 8
  • KL距离,是Kullback-Leibler差异(Kullback-Leibler Divergence)的简称,...
    keaidelele阅读 9,386评论 0 48
  • abbreviation 简写符号;简写 absolute error 绝对误差 absolute value 绝...
    沧海一睹阅读 4,220评论 0 2
  • 和川坝 苗壮 劲风拂发吹流年,霜寒凝水旷春岩。 萎黄山...
    苗老师杂谈阅读 468评论 2 0
  • 听弦断,断那三千痴缠。坠花湮,湮没一朝风涟。花若怜,落在谁的指尖。晨曦微露,说是寻常风月,等闲谈笑间,其实满溢着...
    用他的歌阅读 681评论 2 11