信息熵
来源:互联网 发布:linux shell编程pdf 编辑:程序博客网 时间:2024/05/16 03:05
关于信息熵的知乎链接:https://www.zhihu.com/question/22178202
下文为本人认为其中较好的一个回答
下面根据我的理解一步一步引出信息熵及其公式的来源:
信息熵的公式
先抛出信息熵公式如下:
<img src="https://pic4.zhimg.com/v2-a9f081eff039a7e65f51515d4aacb34b_b.png" data-rawwidth="417" data-rawheight="147" class="content_image" width="417">其中 代表随机事件X为的概率,下面来逐步介绍信息熵的公式来源!
信息量
信息量是对信息的度量,就跟时间的度量是秒一样,当我们考虑一个离散的随机变量x的时候,当我们观察到的这个变量的一个具体值的时候,我们接收到了多少信息呢?
多少信息用信息量来衡量,我们接受到的信息量跟具体发生的事件有关。
信息的大小跟随机事件的概率有关。越小概率的事情发生了产生的信息量越大,如湖南产生的地震了;越大概率的事情发生了产生的信息量越小,如太阳从东边升起来了(肯定发生嘛,没什么信息量)。这很好理解!
例子
脑补一下我们日常的对话:
师兄走过来跟我说,立波啊,今天你们湖南发生大地震了。
注意:此处湖南地震这条消息是确定已经发生的。
我:啊,不可能吧,这么重量级的新闻!湖南多低的概率发生地震啊!师兄,你告诉我的这件事,信息量巨大,我马上打电话问问父母什么情况。
又来了一个师妹:立波师兄,我发现了一个重要情报额,原来德川师兄有女朋友额~德川比师妹早进一年实验室,全实验室同学都知道了这件事。我大笑一声:哈哈哈哈,这件事大家都知道了,一点含金量都没有,下次八卦一些其它有价值的新闻吧!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,总不能为负数吧!
tip:本人认为这个有点扯淡,加负号的原因是为了保证信息量随着概率增大而减小,而不是因为什么正负数的原因。
(2)为什么底数为2
这是因为,我们只需要信息量满足低概率事件x对应于高的信息量。那么对数的选择是任意的。我们只是遵循信息论的普遍传统,使用2作为对数的底!
如果我们有俩个不相关的事件x和y,那么我们观察到的俩个事件同时发生时获得的信息应该等于观察到的事件各自发生时获得的信息之和,即:
h(x,y) = h(x) + h(y)
由于x,y是俩个不相关的事件,那么满足p(x,y) = p(x)*p(y).
根据上面推导,我们很容易看出h(x)一定与p(x)的对数有关(因为只有对数形式的真数相乘之后,能够对应对数的相加形式,可以试试)。因此我们有信息量公式如下:
信息熵
下面我们正式引出信息熵。
信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。即
转换一下为:
<img src="https://pic4.zhimg.com/v2-a9f081eff039a7e65f51515d4aacb34b_b.png" data-rawwidth="417" data-rawheight="147" class="content_image" width="417">最终我们的公式来源推导完成了。
这里我再说一个对信息熵的理解。信息熵还可以作为一个系统复杂程度的度量,如果系统越复杂,出现不同情况的种类越多,那么他的信息熵是比较大的。
如果一个系统越简单,出现情况种类很少(极端情况为1种情况,那么对应概率为1,那么对应的信息熵为0),此时的信息熵较小。
这也就是我理解的信息熵全部想法,希望大家指错交流。也希望对大家理解有帮助~
作者:忆臻
链接:https://www.zhihu.com/question/22178202/answer/161732605
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 信息熵
- 软件工程入门基本知识
- 刘强东:京东老员工得病保险不够的钱,公司全部包!
- Python字符串常用方法
- 图解TCP/IP
- 1-JavaScript设计模式——commonUtils工具库之多维数组的遍历
- 信息熵
- utils.py
- 关于kali64位下安装ferret
- 2017浙工大之江学院校赛 M dp||记忆化搜索
- haproxy
- EF读取数据库
- js 制作年历
- 由于MDK5.0A没有STM32F103程序错误 stm32f10x.h(298): error: #67: expected a "}"
- Android入门