熵,信息熵,香农熵,微分熵,交叉熵,相对熵

2019-07-13
https://blog.csdn.net/landstream/article/details/82383503
https://blog.csdn.net/pipisorry/article/details/51695283
https://www.zhihu.com/question/41252833
https://cloud.tencent.com/developer/article/1397504
按顺序查看更容易理解


0、背景
在信息论中,熵是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。这里, 消息代表来自分布或数据流中的事件、样本或特征。在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。

和热力学熵的联系:在1948年,克劳德·艾尔伍德·香农将热力学的熵,引入到信息论,因此它又被称为香农熵。物理学家和化学家对一个系统自发地从初始状态向前演进过程中,遵循热力学第二定律而发生的熵的变化更感兴趣。在传统热力学中,熵被定义为对系统的宏观测定,并没有涉及概率分布,而概率分布是信息熵的核心定义。

1、自信息
我们定义一个事件x = x 的自信息(self-information): I(x)=−logP(x)
自信息只处理单个的输出。

2、香农熵(对于离散变量)
我们可以用香农熵(Shannon entropy)来对整个概率分布中的不确定性总量进行量化:
H(x)=EX−P[I(x)]=−EX−P[logP(x)]

信息熵公式的来源
信息:信息量可以被看成在学习 x 的值的时候的“惊讶程度”。如果有人告诉我们一个相当不可能的事件发生了,我们收到的信息要多于我们被告知某个很可能发生的事件发生时收到的信息,如果我们知道某件事情一定会发生,那么我们就不会接收到信息。于是,我们对于信息内容的度量将依赖于概率分布 p(x) ,因此我们想要寻找一个函数 h(x) ,它是概率 p(x) 的单调递减函数,表达了信息的内容。 h(·) 的形式可以这样寻找:如果我们有两个不相关的事件 x 和 y ,那么我们观察到两个事件同时发生时获得的信息应该等于观察到事件各自发生时获得的信息之和,即 h(x, y) = h(x) + h(y) {采用概率分布的对数作为信息的量度的原因是其可加性。例如,投掷一次硬币提供了1 Sh的信息,而掷 m 次就为 m 位。更一般地,你需要用 log2(n) 位来表示一个可以取 n 个值的变量。}。两个不相关事件是统计独立的,因此 p(x, y) = p(x)p(y) 。根据这两个关系,很容易看出 h(x) 一定与 p(x) 的对数有关,满足这两个条件的函数肯定是负对数形式。因此,我们有
h(x) = − log 2 p(x)
负号确保了信息一定是正数或者是零。注意,低概率事件 x 对应于高的信息量。

假设一个发送者想传输一个随机变量的值给接收者。这个过程中,他们传输的平均信息量通可以通过求上式关于概率分布 p(x) 的期望得到。即事件的概率分布和每个事件的信息量构成了一个随机变量,这个随机变量的均值(即期望)就是这个分布产生的信息量的平均值(即熵)。
熵的定义:
在这里插入图片描述
熵可以理解为不确定性的量度(或者说是多样性diversity的度量),因为越随机的信源的熵越大。熵可以被视为描述一个随机变量的不确定性的数量。一个随机变量的熵越大,它的不确定性越大。那么,正确估计其值的可能性就越小。越不确定的随机变量越需要大的信息量用以确定其值。

熵的单位
单位取决于定义用到对数的底。当b = 2,熵的单位是bit;当b = e,熵的单位是nat;而当b = 10,熵的单位是 Hart。

熵的取值范围
从定义式,我们可以看出,虽然信息熵经常被称为负熵,但是其取值恒为正,这是因为pi恒小于1。不过,由于信息的接受就是不肯定性的消除,即熵的消除(此处的熵取“热力学熵”中“熵”的含义),所以信息熵才常被人称作负熵。熵的取值范围为[0~lgK]。
在概率归一化的限制下,使用拉格朗日乘数法可以找到熵的最大值。因此,我们要最大化
在这里插入图片描述
可以证明,当所有的 p(x i ) 都相等,且值为 p(x i ) = 1/M 时,熵取得最大值(当且仅当X的分布是均匀分布时右边的等号成立。即当X服从均匀分布时,熵最大)。其中, M 是状态 x i 的总数。此时对应的熵值为 H = ln M 。这个结果也可以通过 Jensen 不等式推导出来。

熵的特性

  • 连续性
  • 对称性
  • 极值性
  • 可加性
  • 进一步性质

微分熵(对于连续变量)
在这里插入图片描述
交叉熵(cross entropy)
如果一个随机变量 X ~ p(x),q(x)为用于近似 p(x)的概率分布,那么,随机变量 X 和模型 q 之间的交叉熵定义为:
在这里插入图片描述
交叉熵的概念用以衡量估计模型与真实概率分布之间的差异
即 p(x)是未知的真实分布,q(x)=估计模型,知其分布用来近似真实分布,我们需要q(x)尽可能地接近p(x),这就是交叉熵最小化
当q(x)=p(x)时,交叉熵=信息熵

相对熵(relative entropy, 或称 Kullback-Leiblerdivergence, KL 距离)
考虑某个未知的分布 p(x) ,假定我们已经使用一个近似的分布 q(x) 对它进行了建模。如果我们使用 q(x) 来建立一个编码体系,用来把 x 的值传给接收者,那么,由于我们使用了 q(x) 而不是真实分布 p(x) ,因此在具体化 x 的值(假定我们选择了一个高效的编码系统)时,我们需要一些附加的信息。我们需要的平均的附加信息量(单位是 nat )为
在这里插入图片描述
同时,从这可以看出,只有p(x)的积分是一个定值,所以比较不相似度时也可以去掉第二项,就发现第一项其实就是交叉熵!交叉熵实际上是更广泛的相对熵的特殊情形
在这里插入图片描述
可以把 Kullback-Leibler 散度(KL 散度之所以不说距离,是因为不满足对称性和三角形法则)。看做两个分布 p(x) 和 q(x) 之间不相似程度的度量。相对熵常被用以衡量两个随机分布的差距。当两个随机分布相同时,其相对熵为0。当两个随机分布的差别增加时,其相对熵也增加。当q=p时,该度量的结果是0,而其它度量的结果为正值。直观上,它度量了使用q而不是p的压缩损失(以二进制)的程度。
在这里插入图片描述
假设数据通过未知分布 p(x) 生成,我们想要对 p(x) 建模。我们可以试着使用一些参数分布 q(x | θ) 来近似这个分布。 q(x | θ) 由可调节的参数 θ 控制(例如一个多元高斯分布)。一种确定 θ 的方式是最小化 p(x) 和 q(x | θ) 之间关于 θ 的 Kullback-Leibler 散度。我们不能直接这么做,因为我们不知道 p(x) 。但是,假设我们已经观察到了服从分布 p(x) 的有限数量的训练点 x n ,其中 n = 1, . . . , N 。那么,关于 p(x) 的期望就可以通过这些点的有限加和,使用公式(1.35)来近似,即
在这里插入图片描述
公式(1.119)右侧的第二项与 θ 无关,第一项是使用训练集估计的分布 q(x | θ) 下的 θ 的负对数似然函数。因此我们看到,最小化 Kullback-Leibler 散度等价于最大化似然函数。

相对熵=交叉熵-信息熵

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/39676.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Hive】云任务大量卡住故障分析

项目场景: 上一章节我们简单介绍到了JVM调优相关的知识,本章节结合日常故障处理进一步说明相关的使用 问题描述 在云上,hive任务出现大面积卡住的现象,但并无任何报错信息,具体如下: 原因分析&#xff1…

Linux服务器出现异常和卡顿排查思路和步骤

目录 前言一、查看内存使用情况二、查看磁盘使用情况三、top命令3.1 jmap分析堆内存配置信息和使用情况3.2 jstack分析线程的执行情况3.3 jstat查看各个区域占堆百分比 四、其他指令总结 前言 Linux 服务器出现异常和卡顿的原因有很多,以下是一些常见的原因&#x…

熵、交叉熵和散度

熵 自信息 I(x) - log p(x) 对于分布为P(x)的随机变量X,自信息的数学期望 即熵H(X)定义为: 熵越高,随机变量信息越高,反之越少。不同概率分布对应熵如下:P p()熵10001/21/41/41/31/31/3 概率分布越均匀&#xff0…

【腾讯轻量应用服务器上部署kafka并通过flink读取kafka数据】

环境准备 经过1个月的摸索,最终选择在腾讯云上搭建一个学习环境。当时选择原因还是新用户有优惠(150左右3年),但现在看1核2g的配置勉强够用,建议后续小伙伴选择时最好是2核4g配置。 由于是单节点安装,需要准备如下资源&#xff1…

【Twitter Storm系列】flume-ng+Kafka+Storm+HDFS 实时系统搭建

技术交流群:59701880 深圳广州hadoop好友会 微信公众号:后续博客的文档都会转到微信公众号中。 一直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的FlumeKafkaStorm的实时日志流系统的搭建文档,自己也跟…

学习笔记之信息量、熵、KL散度、交叉熵的一些介绍

文章目录 信息量熵KL散度(相对熵)交叉熵参考 信息量 以前我也一直只是知道信息量的计算公式,也有想过为什么会是这样,但是因为要学的东西太多了,就没怎么深究,直到看了“交叉熵”如何做损失函数&#xff1…

AI产品经理是如何理解机器学习的(附注释)

本期目的:回顾之前敲代码的日常,利用生活场景帮助AI产品经理认识机器学习及学习过程中常用算法和评价指标。 适用读者:AI/数据产品经理。 阅读重点:品,细品,结合班级故事再品。 最近看了很多关于机器学习…

卢伟冰称小米今年库存会回到更健康水位 将加大门店整合调整

雷递网 乐天 3月25日 小米集团(股票代码为:1810)今日发布财报,财报显示,小米集团2022年营收为2800亿元,较上年同期的3283亿元下降14.7%。小米2022年经调净利为85亿元。 小米2022年第四季度营收为660.47亿元…

小米年营收2800亿:经调整利润85亿 电动汽车业务投入31亿

雷递网 雷建平 3月24日 小米集团(股票代码为:1810)今日发布财报,财报显示,小米集团2022年营收为2800亿元,较上年同期的3283亿元下降14.7%。 2022年,小米集团的境外市场收入为1378亿元&#xff0…

什么是低代码开发平台(apaas)?低代码开发平台的价值有哪些

手码6500字,带你快速看懂:什么是低代码开发平台(apaas),低代码有哪些价值,以及低代码平台的使用逻辑和心得。 一、什么是低代码开发平台(apaas)? 低代码开发平台是一种a…

详解如何在ChatGPT内构建一个Python解释器

这篇文章主要为大家详细介绍了如何在ChatGPT内构建一个Python解释器,文中的示例代码讲解详细,具有一定的学习价值,需要的可以参考一下 目录 引用:Art Kulakov 《How to Build a Python Interpreter Inside ChatGPT》 这个灵感来自…

如何画各种“图”?

我们在写文档过程中,多多少少都会画一些图来说明程序的功能,这篇文章就来说明一些常用的"图"怎么画。 1,画图工具 常用的有这么几种 Visio:这是很常用的,基本上的图都可以用这个来画。StarUML&#xff1a…

patreon cg人物插画作品合集分享

1、wlop大神作品4K-8K精选无水印图片http://theme.chengxuz.com/265.html 2、加拿大女画师sakimi chan作品1-98期插画http://theme.chengxuz.com/250.html 3、画师Mirco Cabbia插画作品合集欣赏http://theme.chengxuz.com/306.html 4、画师Sciamano240插画作品分享http://th…

如何画场景插画?场景插画的起稿、构图技巧!

如何画场景插画?绘画初学者如何构图?绘画初学者如何起稿?学习绘画难吗?怎样才能学好绘画?想必这些都是绘画初学者们经常在想的问题吧,就是不知道如何才能绘画好一个场景,不知道如何起稿也不知道…

手把手教你实现手绘风格图形

大家好,我是 漫步,今天分享一篇高难度的图形绘制文章。 Rough.js[1]是一个手绘风格的图形库,提供了一些基本图形的绘制能力,比如:虽然笔者是个糙汉子,但是对这种可爱的东西都没啥抵抗力,这个库的…

Python自动绘制UML类图、函数调用图(Call Graph)

文章目录 1. 引言2. 绘制UML类图2.1 安装graphviz2.2 安装pyreverse2.3 绘制UML类图 3. 绘制函数调用图3.1 安装graphviz3.2 安装pycallgraph3.3 使用示例第一种:从命令行调用第二种:从API调用 小结 1. 引言 在设计软件、分析代码时,我们常常…

房价预测2

学习: https://blog.csdn.net/u012063773/article/details/79349256 https://www.cnblogs.com/massquantity/p/8640991.html https://zhuanlan.zhihu.com/p/39429689 详解stacking过程 之前在房价预测1中对一些异常值进行了drop处理 后来在分割train和test的时候…

深圳二手房房价分析及预测

分析目标: 通过处理后的房价数据,筛选对房价有显著影响的特征变量。确定特征变量,建立深圳房价预测模型并对假设情景进行模拟 数据预处理 import pandas as pd import os file_path"D:\Python数据分析与挖掘实战\深圳二手房价分析\…

波士顿房价预测

目录 前言一、波士顿房价预测实战1-1、数据集介绍&数据集导入&分割数据集1-2、数据标准化1-3、构建网络1-4、K折交叉验证&取出所有的训练损失、训练平均绝对误差、验证损失、验证平均绝对误差1-5、计算平均mae&绘制验证mae分数&绘制验证loss分数1-6、找到最…

房价多特征预测

2019.11.18 首先非常感谢这位作者,写的很棒!你们就不要看我的啦,看他的⬇️⬇️ 学习来自 https://blog.csdn.net/sinat_29957455/article/details/79255675 下面的内容为自己学习笔记: 学习Kaggle~ing 这次给出的特征有点儿多啊…