白话信息熵

原创 2017年08月04日 03:19:58

    距离有近有远,时间有长有短,温度有高有低,我们知道可以用米或者千米来度量距离,用时分秒可以来度量时间的长短,用摄氏度或者华氏度来度量温度的高低,那么我们常说这句话信息多,那句话信息少,那么信息的多少用什么度量呢?信息量!

    信息量是度量知晓一个未知事物需要查询的信息的多少,单位是比特。比如昨天你错过一场有8匹赛马的比赛,编号为1~8号,每匹马赢的概率都一样,那么你需要获得多少信息(也就是猜测多少次)才可以知道哪匹马获胜?利用二分法,猜测三次即可,如下图:


    那么你需要的信息量就是3比特。信息量度量的是从未知已知所需信息的多少,比如上图,一开始不知道哪匹马 获胜,我们开始猜测,最后猜测是1号获胜,其中需要3比特信息。

    但是因为每匹马是等概率获胜的,而你又不知道哪匹马获胜,如果最后猜测出来是3号胜,这同样也需要3比特信息, 同理最后猜测出其它号的马获胜,每个都是需要3比特信息。那么现在我想计算一下,猜测出最后获胜的马,平均需要多少比特信息呢?也就是对信息量求期望(加权平均),我们给这个期望一个名字,就是信息熵这里每匹马获胜是等概率的,当然平均也是3比特。

    那么假如现在1~8号获胜的概率分别为{1/2、1/4、 1/8、 1/16、 1/64、 1/64、 1/64、 1/64},那么现在你平均要猜测对少次呢?猜测的时候,肯定是按照概率大小的来测,如下图:


    对应上图,猜测每匹马获胜至少要猜测的次数分别为1、2、3、4、6、6、6、6;那么平均要猜测多少次呢?即:


也就是猜测出获胜的马匹,平均需要2次。由于我们描述事物的时候常常使用随机变量,给出随机变量取值的概率, 那么该如求该随机变量取某个值时的信息量和该随机变量的信息熵呢?上例中我们用次数来表示信息量,对信息求期望作为信息熵,那么我们如何抽象成数学模型呢?

信息量:随机变量取某个值时,其概率倒数的对数就是信息量。


其中底数可以是2,单位是比特,底数也可以是其他,单位也相应不同,这里不予细究。

    比如上例概率不等的时候,猜测6号获胜的所需的信息量为:


这恰好符合我们的认识。

信息熵:信息量的期望。


比如上例,设X为赛马编号,则X的信息熵为:


所以,这也符合我们之前的认识。

例:

    如果上例还是不明白,再举一个例子,一个箱子有9个球,4个红色,3个绿色,2个黄色,如下图:


    我们从中抽取一个红球、黄球、绿球所带来的信息量分别为:


由于从箱子里抽取球,有三种可能,红、黄、绿。设X为球的颜色,则:

即随机变量X的信息熵为1.53。

总结:

信息量:从未知到已知所需信息的含量。

信息熵:信息量的期望。



版权声明:本文为博主原创文章,转载需注明出处。 举报

相关文章推荐

CIKM 2016 aNMM: Ranking Short Answer Texts with Attention-Based Neural Matching Model

中文简介:本文针对当前深度学习模型包括基于CNN或者LSTM的模型适用于Answer Sentence Selection这个task时必须额外combine 传统的text matching fea...

互联网金融的分类监管主体

根据最新出台的《关于促进互联网金融健康发展的指导意见》,对互联网金融涉及的业态和对应的监管主体进行了明确,总结如下: 一,互联网金融是传统金融机构与互联网企业(以下统称从业机构)利用互联网技术和信息通...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

FFplay源代码分析:整体流程图

FFplay源代码的流程图如图所示,网上的,不记得从哪弄的了,但是流程很清晰。看完FFplay源代码之后再看这个图感觉整个代码结构一目了然。

北大牛人唐翔

唐翔是我认识的最牛的人。   这句话得好好解释一下:首先,什么叫做认识?认识当然指的是相互关系。比如说,我的老板姜伯驹和王诗宬,一个是两院院士,一个是长江学者,都曾获得过陈省身数学奖。我当然跟他们彼...

SIGIR 2017 Paper Characterizing and Predicting Enterprise Email Reply Behavior

中文简介:本文对企业邮件系统中的用户行为进行了建模分析,首先分析了影响用户邮件回复行为的几类因素,然后基于分析结果建立了预测用户邮件回复行为和邮件回复时间的机器学习模型。基于Avocado邮件数据的实...

“王者荣耀”中的常用英语

偶尔会玩一下王者荣耀, 画面和声音都很震撼, 今天我们来看看: First Blood      第一滴血 Double Kill      双杀 Triple Kill         三杀 Q...

SpringMVC中的异常处理

SpringMVC中使用声明式异常处理方式处理Web项目中的异常

Apache 与 Nginx 比较

nginx 与 apache 的比较整理

最简单的基于FFMPEG+SDL的音频播放器

FFMPEG工程浩大,可以参考的书籍又不是很多,因此很多刚学习FFMPEG的人常常感觉到无从下手。 在此我把自己做项目过程中实现的一个非常简单的音频播放器(大约200行代码)源代码传上来,以作备...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)