为了账号安全,请及时绑定邮箱和手机立即绑定

香农熵、相对熵(KL散度)与交叉熵

标签:
人工智能

连接:https://blog.csdn.net/lanchunhui/article/details/51277608

https://blog.csdn.net/zshfeng/article/details/77972651

1. 香农熵(Shannon entropy)

信息熵(又叫香农熵)反映了一个系统的无序化(有序化)程度,一个系统越有序,信息熵就越低,反之就越高。

如果一个随机变量  的可能取值为 ,对应的概率为 ,则随机变量  的信息熵为:



2. 相对熵(relative entropy)

所谓相对,自然在两个随机变量之间。又称互熵,Kullback–Leibler divergence(K-L 散度)等。设  和  是  取值的两个概率分布,则  对  的相对熵为: 


在一定程度上,熵可以度量两个随机变量的距离。KL 散度是两个概率分布 P 和 Q 差别的非对称性的度量。KL 散度是用来度量使用基于 Q 的编码来编码来自 P 的样本平均所需的额外的位元数。


典型情况下,P 表示数据的真实分布,Q 表示数据的理论分布,模型分布,或 P 的近似分布。

相对熵的性质,相对熵(KL散度)有两个主要的性质。如下

  • (1)尽管 KL 散度从直观上是个度量或距离函数,但它并不是一个真正的度量或者距离,因为它不具有对称性,即



  • (2)相对熵的值为非负值,即



在证明之前,需要认识一个重要的不等式,叫做吉布斯不等式。内容如下



这里写图片描述 


这里提供一个离散型 KL 散度的简单实现:

from functools import reduceimport operatorimport mathdef kl(p, q):
    return reduce(operator.add, map(lambda x, y: x*math.log(x/y), p, q))

3. 交叉熵(cross entropy)



什么是信息熵

信息熵是度量随机变量不确定度的指标,信息熵越大意味着随机变量不确定度越高,意味着系统的有序程度越低。他的定义 
如果随机变量,他的概率,则随机变量的熵定义为 


什么是交叉熵

交叉熵(Cross Entropy),主要用于度量两个概率分布间的差异性信息。对一个离散随机变量的两个概率分布P和Q来说,他们的交叉熵定义为: 


特别的在机器学习中,P代表真实分布,Q代表模型拟合分布,交叉熵衡量两个分布之间的差异,交叉熵越小,Q就与就接近真实分布P,这也是为什么我们用最小化交叉熵损失来学习模型,最简单的逻辑回归的损失函数: 

其中表示真实数据和标签。表示模型输出标签。表示模型分布输出的概率,表示模型分布输出时概率。。把其中j取值到n就是softmax分类损失了。


什么是相对熵

对一个离散随机变量的两个概率分布P和Q来说,他们的KL散度定义为: 


相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain),是描述两个概率分布P和Q差异的一种方法。它是非对称的,这意味着D(P||Q) ≠ D(Q||P)。 
有人将KL散度称为KL距离,但事实上,KL散度并不满足距离的概念,因为: 
1)KL散度不是对称的; 
2)KL散度不满足三角不等式。。 
特别的,在信息论中,D(P||Q)表示当用概率分布Q来拟合真实分布P时,产生的信息损耗,其中P表示真实分布,Q表示P的拟合分布,模型分布。 
KL距离在信息检索领域,以及统计自然语言方面有重要的运用。

三者间的关系



简单理解下,理解为真实分布编码长度, 理解为用Q模拟真实分布的编码长度, 理解为模拟到真实的差距。

原文出处

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消