|
|
|
|
移动端

2.2.5 KL散度(Kullback–Leibler divergence)

《深度学习与计算机视觉:算法原理、框架应用与代码实现》本书全面介绍了深度学习及计算机视觉中最基础的知识,并结合最常见的应用场景和大量实例,带领读者进入丰富多彩的计算机视觉领域。作为一本“原理+实践”教程,本书在讲解原理的基础上,通过有趣的实例带领读者一步步亲自动手,不断提高动手能力,而不是枯燥和深奥原理的堆砌。本节为大家介绍KL散度(Kullback–Leibler divergence)。

作者:叶韵来源:机械工业出版社|2017-10-23 16:07

【新品产上线啦】51CTO播客,随时随地,碎片化学习

2.2.5  KL散度(Kullback–Leibler divergence)

2.2.4节中讲了如何让数据和分布的吻合度最高,也就是说似然函数可以衡量数据和分布的相似度。另一种常见的衡量相似度的办法是KL散度,定义如下:

乍一看并不是一个很直观的定义,下面来展开一下:

首先将log里的项拆成减法,然后展开。注意看第二行,后面的一项恰好是熵的定义,只不过对数底不一样(2为底叫做bit,e为底叫做nat: natural unit),还有前边没有负号。因为考虑了不同的分布,我们把这一项记作H(P)。前边一项H(P,Q)也是类似熵的形式,不同的是P和log(Q(x))做乘法,这一项被称做P和Q的交叉熵(cross entropy)。

前面已经讲解过熵代表着信息量,H(P)代表着基于P分布自身的编码长度,也就是最优的编码长度。而H(P,Q)则代表着用P的分布去Q分布的信息,自然需要更多的编码长度。并且两个分布差异越大,需要的编码长度越长。所以两个值相减是大于等于0的一个值,代表冗余的编码长度,也就是两个分布差异的程度。在信息论中,KL散度的另一个名字叫做相对熵(relative entropy)。

另外根据KL散度的定义,DKL(P||Q)≠DKL(Q||P),所以KL散度并不能作为距离度量,尽管KL散度还有一个名字叫KL距离。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

PHP程序开发范例宝典

本书全面介绍了应用PHP进行网站开发的各种技术和技巧。全书分为20章,内容包括PHP的运行环境配置、表单及表单元素的应用、CSS与JavaScript...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊