通俗理解信息熵

转载自  通俗理解信息熵

通俗理解信息熵

前段时间德川和我讲解了决策树的相关知识,里面德川说了一下熵,今天整理了一下,记录下来希望对大家理解有帮助~

1、信息熵的公式

先抛出信息熵公式如下:

其中代表随机事件X为的概率,下面来逐步介绍信息熵的公式来源!

 

2、信息量

信息量是对信息的度量,就跟时间的度量是秒一样,当我们考虑一个离散的随机变量x的时候,当我们观察到的这个变量的一个具体值的时候,我们接收到了多少信息呢?

多少信息用信息量来衡量,我们接受到的信息量跟具体发生的事件有关。

信息的大小跟随机事件的概率有关。越小概率的事情发生了产生的信息量越大,如湖南产生的地震了;

越大概率的事情发生了产生的信息量越小,如太阳从东边升起来了(肯定发生嘛,没什么信息量)。这很好理解!

 

3、例子

脑补一下我们日常的对话:

师兄走过来跟我说,立波啊,今天你们湖南发生大地震了。

我:啊,不可能吧,这么重量级的新闻!湖南多低的概率发生地震啊!师兄,你告诉我的这件事,信息量巨大,我马上打电话问问父母什么情况。

又来了一个师妹:立波师兄,我发现了一个重要情报额,原来德川师兄有女朋友额~德川比师妹早进一年实验室,全实验室同学都知道了这件事。我大笑一声:哈哈哈哈,这件事大家都知道了,一点含金量都没有,下次八卦一些其它有价值的新闻吧!orz,逃~

因此一个具体事件的信息量应该是随着其发生概率而递减的,且不能为负。

但是这个表示信息量函数的形式怎么找呢?

随着概率增大而减少的函数形式太多了!不要着急,我们还有下面这条性质

如果我们有俩个不相关的事件x和y,那么我们观察到的俩个事件同时发生时获得的信息应该等于观察到的事件各自发生时获得的信息之和,即:

h(x,y) = h(x) + h(y)

由于x,y是俩个不相关的事件,那么满足

p(x,y) = p(x)*p(y).

根据上面推导,我们很容易看出h(x)一定与p(x)的对数有关(因为只有对数形式的真数相乘之后,能够对应对数的相加形式,可以试试)。因此我们有信息量公式如下:

 

下面解决俩个疑问?

(1)为什么有一个负号

其中,负号是为了确保信息量一定是正数或者是0,总不能为负数吧!

(2)为什么底数为2

这是因为,我们只需要信息量满足低概率事件x对应于高的信息量。那么对数的选择是任意的。我们只是遵循信息论的普遍传统,使用2作为对数的底!

 

4、信息熵

下面我们正式引出信息熵。

信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望

考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。即

转换一下为:

最终我们的公式来源推导完成了。

 

5、额外理解

这里我再说一个对信息熵的理解。信息熵还可以作为一个系统复杂程度的度量,如果系统越复杂,出现不同情况的种类越多,那么他的信息熵是比较大的。

如果一个系统越简单,出现情况种类很少(极端情况为1种情况,那么对应概率为1,那么对应的信息熵为0),此时的信息熵较小。

这也就是我理解的信息熵全部想法,希望大家指错交流。也希望对大家理解有帮助~

 

参考:

“熵”的通俗解释 - 七月在线

关于信息熵的个人通俗的理解

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

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

相关文章

程序、进程、线程

程序(program) 是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process) 是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期 如…

.NET Core 2.0 Preview 2为开发人员带来改进

Microsoft发布了.NET Core 2第二个预览版(Preview 2),该版本可用于Mac OS X、Linux和Windows平台。Preview 2首次给出了对所有平台上各种软件包和安装程序的统一命名模式。所有的运行时文件将以"dotnet-运行时名称”命名,而S…

java中,剩下的这两个内部类不太好理解!

点击上方蓝色关注我们!大家好,我是雄雄,今天我们接着昨天的分享,将剩余的两个内部类(方法内部类和匿名内部类)结束掉,这两个内部类都不太好理解。昨天的推文:java中常见的几种内部类…

【jzoj】2018.2.3NOIP普及组——D组模拟赛

前言 万年D组系列… 正题 题目1:数池塘(jzoj1898) 有一个地方有一些积水,连着的积水是一个池塘,求池塘数。 输入 第1行:由空格隔开的两个整数:N和M 第2..N1行:每行M个字符代表…

并行与并发

**并行:**多个CPU同时执行多个任务。比如:多个人同时做不同的事。 **并发:**一个CPU(采用时间片)同时执行多个任务。比如:秒杀、多个人做同一件事。

通俗理解条件熵

转载自 通俗理解条件熵 通俗理解条件熵 前面我们总结了信息熵的概念通俗理解信息熵,这次我们来理解一下条件熵。 1、信息熵以及引出条件熵 我们首先知道信息熵是考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。公式如下: 我…

WebAssembly:随风潜入夜

What? WebAssembly 是一种二进制格式的类汇编代码,可以被浏览器加载和并进一步编译成可执行的机器码,从而在客户端运行。它还可以作为高级语言的编译目标,理论上任何语言都可以编译为 WebAssembly。 我们知道汇编语言就是机器码的…

让java的多重继承成为现实!

点击上方蓝色关注我们!大家好,我是雄雄,前两天给大家说了说java中的四种内部类,推文分别为:静态内部类和成员内部类方法内部类和匿名内部类在内部类的基础上,我们来看看今天的知识点儿。众所周知&#xff0…

jzoj1751-Span(每日C组)【并查集,贪心】

题目 有n个村&#xff0c;m条路&#xff0c;给n-1条路刷油漆连接n个村&#xff0c;让最长边与最短边的长度差最小。 输入输出&#xff08;建议跳过&#xff09; Input 第一行给出一个数字TOT&#xff0c;代表有多少组数据,Tot<6 对于每组数据&#xff0c;首先给出N&…

线程优先级

MAX_PRIORITY&#xff1a;10 MIN _PRIORITY&#xff1a;1 NORM_PRIORITY&#xff1a;5 -->默认优先级 2.如何获取和设置当前线程的优先级&#xff1a; getPriority():获取线程的优先级 setPriority(int p):设置线程的优先级 说明&#xff1a;高优先级的线程要抢占低优先级线…

通俗理解决策树算法中信息增益的

转载自 通俗理解决策树算法中信息增益的 通俗理解决策树算法中的信息增益 在决策树算法的学习过程中&#xff0c;信息增益是特征选择的一个重要指标&#xff0c;它定义为一个特征能够为分类系统带来多少信息&#xff0c;带来的信息越多&#xff0c;说明该特征越重要&#x…

列表

# 列表 a [20, 40] a a [50] # 将原列表的元素和新列表的元素依次复制到新的列表对象中 a.extend([10, 20]) # 将目标列表的所有元素添加到本列表的尾部&#xff0c;属于原地操作&#xff0c;不创建新的列表对象。 a.insert(2, 100) b a * 3 # 乘法扩展 生成一个新列表 …

DDD理论学习系列(6)-- 实体

1.引言 实体对应的英语单词为Entity。提到实体&#xff0c;你可能立马就想到了代码中定义的实体类。在使用一些ORM框架时&#xff0c;比如Entity Framework&#xff0c;实体作为直接反映数据库表结构的对象&#xff0c;就更尤为重要。特别是当我们使用EF Code First时&#xf…

班级日常 | 一天一瞬间!

点击上方蓝色关注我们&#xff01;欢迎来到今天的“一天一瞬间”专栏在学习word操作时&#xff0c;同学们的兴趣还是较高的&#xff0c;但是&#xff0c;比起“一天一个黑科技”来说&#xff0c;还是差了许多&#xff01;前面两天都是学的一些简单的DOS命令&#xff0c;比如进某…

jzoj1370-飞船【RMQ初见】

前言 RMQ就是一个在一个序列中来多次询问某段的最大值的快速的方法。其他自行度娘 正题 题目 一些成直线的星星&#xff0c;给出m段询问&#xff0c;求一段距离间最大的星星 输入输出与样例&#xff08;建议无视&#xff09; 输入 第一行输入N,M 接下来一行N个整数&#…

double类型进行比较排序

不用两个double直接进行强转是为了防止精度的损失 方式一&#xff1a; Overridepublic int compareTo(Object o) { // System.out.println("**************");if(o instanceof Goods){Goods goods (Goods)o;//方式一&#xff1a;if(this.price > goods.p…

ASP.NET Core Web 资源打包与压缩

本文将介绍使用的打包和压缩的优点&#xff0c;以及如何在ASP.NET Core应用程序中使用这些功能。 概述 在ASP.Net中可以使用打包与压缩这两种技术来提高Web应用程序页面加载的性能。通过减少从服务器请求的次数和减少资源文件的体积来提高加载性能。 打包是一地将多个文件&a…

班级日常分享 | 一天一瞬间!

点击上方蓝色关注我们&#xff01;介于最近同学们的学习劲头十足的样子&#xff0c;我和丁老师商量决定晚上不布置作业&#xff0c;看一部电影放松放松&#xff01;昨晚下晚自习后&#xff0c;零零散散的还有一部分同学在教室里面学习&#xff0c;值班老师都催促多次&#xff0…

jzoj1371-假期【RMQ】

前言 上一篇RMQ博客&#xff1a;http://blog.csdn.net/mr_wuyongcong/article/details/79253383 正题 题目 要给奶牛放假&#xff0c;每天有一定的快乐值&#xff08;有可能是负数&#xff09;&#xff0c;假期不能小于p天或大于q天&#xff0c;求最大快乐值 输入 第一行&a…