信息熵 Information Entropy
信息熵用于描述信源的不确定度, 即用数学语言描述概率与信息冗余度的关系.
C. E. Shannon 在 1948 年发表的论文A Mathematical Theory of Communication中指出, 任何信息都存在冗余, 冗余大小与信息中每个符号(数字, 字母或单词)的出现概率或者说不确定性有关. Shannon 借鉴了热力学的概念, 把信息中排除了冗余后的平均信息量称为信息熵, 并给出了计算信息熵的数学表达式.
一个信源发送出什么符号是不确定的, 衡量它可以根据其出现的概率来度量: 概率大出现机会多, 则不确定性小; 反之则不确定性就大.
不确定性函数f是概率P的减函数, 两个独立符号所产生的不确定性应等于各自不确定性之和, 即f(P1,P2)=f(P1)+f(P2), 这称为可加性, 同时满足这两个条件的函数f是对数函数, 即
$ f(P) = \log \frac{1}{P} = -\log P $
在信源中, 考虑的不是某一单个符号发生的不确定性, 而是要考虑这个信源所有可能发生情况的平均不确定性. 若信源符号有n种取值: U1, ... Ui, ...Un, 对应概率为 P1, ... Pi,... Pn, 且各种符号的出现彼此独立, 此时信源的平均不确定性应当为单个符号不确定性-logPi的统计平均值(E), 可称为信息熵, 即
$ H(U) = E\left [ -\log p_i \right ] = -\sum_{i=1}^{n}p_i\log p_i $
式中对数一般取2为底, 单位为比特. 也可以取其它对数底, 采用其它相应的单位, 可用换底公式换算.
信息的基本作用就是消除人们对事物的不确定性, 信息熵就是一个在博弈对局中信息混乱的现象. 当32个球队夺冠概率相同(即最混乱)时, 对应的信息熵等于五比特. 可以证明当n=32时信息熵公式的值不可能大于5.
信息熵是信息论中用于度量信息量的一个概念, 一个系统越是有序, 信息熵就越低; 反之, 一个系统越是混乱, 信息熵就越高. 所以信息熵也可以说是系统有序化程度的一个度量.
熵的概念源自热物理学
假定有两种气体a, b, 当两种气体完全混合时, 可以达到热物理学中的稳定状态, 此时熵最高. 如果要实现反向过程, 即将a, b完全分离, 在封闭的系统中是没有可能的. 只有外部干预, 也即系统外部加入某种有序化的东西(如能量), 使得a, b分离. 这时系统进入另一种稳定状态, 此时信息熵最低. 热物理学证明: 在一个封闭的系统中, 熵总是增大, 直至最大. 若要使系统的熵减少(使系统更加有序化), 则必须有外部能量的干预.
信息熵的计算是非常复杂的, 而具有多重前置条件的信息, 更是几乎不能计算的, 所以在现实世界中信息的价值大多是不能被计算出来的. 但因为信息熵和热力学熵的紧密相关性, 所以信息熵是可以在衰减的过程中被测定出来的. 因此信息的价值是通过信息的传递体现出来的, 在没有引入附加价值(负熵)的情况下, 传播得越广流传时间越长的信息越有价值. 在传播中是指信息的不确定性, 一则高信息度的信息熵是很低的, 低信息度的熵则高. 具体说来, 凡是导致随机事件集合的肯定性, 组织性, 法则性或有序性等增加或减少的活动过程, 都可以用信息熵的改变量这个统一的标尺来度量.
信息熵 Information Entropy的更多相关文章
- 通俗易懂的信息熵与信息增益(IE, Information Entropy; IG, Information Gain)
信息熵与信息增益(IE, Information Entropy; IG, Information Gain) 信息增益是机器学习中特征选择的关键指标,而学习信息增益前,需要先了解信息熵和条件熵这两个 ...
- ZOJ 3827 Information Entropy 水题
Information Entropy Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/sh ...
- 2014 牡丹江现场赛 i题 (zoj 3827 Information Entropy)
I - Information Entropy Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %l ...
- 信息熵(Entropy)究竟是用来衡量什么的?
信息熵(Entropy)究竟是用来衡量什么的? ——与Philip ZHANG商榷 思明 Philip ZHANG先生在反驳彭小明的时候,提出一个观点,他说:“ 就语言文 字来说,总体效率不是用民族主 ...
- ZOJ3827 ACM-ICPC 2014 亚洲区域赛的比赛现场牡丹江I称号 Information Entropy 水的问题
Information Entropy Time Limit: 2 Seconds Memory Limit: 131072 KB Special Judge Informatio ...
- ZOJ 3827 Information Entropy 水
水 Information Entropy Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge Informati ...
- ZOJ 3827 Information Entropy (2014牡丹江区域赛)
题目链接:ZOJ 3827 Information Entropy 依据题目的公式算吧,那个极限是0 AC代码: #include <stdio.h> #include <strin ...
- zoj 3827 Information Entropy 【水题】
Information Entropy Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge Information ...
- information entropy as a measure of the uncertainty in a message while essentially inventing the field of information theory
https://en.wikipedia.org/wiki/Claude_Shannon In 1948, the promised memorandum appeared as "A Ma ...
随机推荐
- MongoDB的集群模式--Sharding(分片)
分片是数据跨多台机器存储,MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署. 具有大型数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量.例如,高查询率会耗尽服务器的CP ...
- Oracle数据库主外键 级联删除记录
/** * 1. NO ACTION :指当删除主表中被引用列的数据时,如果子表的引用列中包含该值,则禁止该操作执行. * * 2. SET NULL :指当删除主表中被引用列的数据时,将子表中相应引 ...
- 【转载】【凯子哥带你学Framework】Activity启动过程全解析
It's right time to learn Android's Framework ! 前言 一个App是怎么启动起来的? App的程序入口到底是哪里? Launcher到底是什么神奇的东西? ...
- Oracle使用expdp/impdp迁移数据
Oracle使用expdp/impdp迁移数据 1.#以下步骤在开发库执行(expdp导出) 一.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建. sqlplus / ...
- Windows Server 2008 R2 忘记密码的处理方法
这篇文章主要介绍了Windows Server 2008 R2 忘记密码的处理方法,一般两种方法,一种是软件方法一种是通过系统安装盘实现的,这里久违大家分享一下需要的朋友可以参考下 遗忘Windows ...
- 使用salt-stack指定IP添加系统用户为root的权限
指定多台要授权的用户,指定root权限 salt -L '192.168.3.212' cmd.run 'useradd fengniao -u 2000' salt -L '192.168.3.21 ...
- vue.js集成codeMirror代码编辑器
1.前端代码 <link href="https://cdn.bootcss.com/codemirror/5.48.4/codemirror.css" rel=" ...
- MATLAB问题小集合
1.未定义与 'struct' 类型的输入参数相对应的函数 'tb_optparse' 在运行matlab程序时,出现上述错误. 原因是tb_optparse在common文件夹里面,没在robot文 ...
- vue 项目中安装npm--save-dev 和 --save 命令
在vue项目中我们常用npm install 安装模块或插件 有两种命令把他们写入到 package.json 文件里面去 例如安装axios 安装到开发环境npm axios --save-dev ...
- c小例子 10个数找出第一名
这个小例子,是从十个数中找到第一名,如果第一名的分数相同,则二者都可以晋级,进入下一轮比赛,我们就对这个数进行排序,这样要求输出晋级人员的标号0-9号中其中一个或几个. 如何用c语言来实现呢? 1) ...