信息熵用于描述信源的不确定度, 即用数学语言描述概率与信息冗余度的关系.

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分离. 这时系统进入另一种稳定状态, 此时信息熵最低. 热物理学证明: 在一个封闭的系统中, 熵总是增大, 直至最大. 若要使系统的熵减少(使系统更加有序化), 则必须有外部能量的干预.

信息熵的计算是非常复杂的, 而具有多重前置条件的信息, 更是几乎不能计算的, 所以在现实世界中信息的价值大多是不能被计算出来的. 但因为信息熵和热力学熵的紧密相关性, 所以信息熵是可以在衰减的过程中被测定出来的. 因此信息的价值是通过信息的传递体现出来的, 在没有引入附加价值(负熵)的情况下, 传播得越广流传时间越长的信息越有价值. 在传播中是指信息的不确定性, 一则高信息度的信息熵是很低的, 低信息度的熵则高. 具体说来, 凡是导致随机事件集合的肯定性, 组织性, 法则性或有序性等增加或减少的活动过程, 都可以用信息熵的改变量这个统一的标尺来度量.

最新文章

  1. Hawk 4.6 并行化
  2. Spark概述
  3. WebDriver API元素的定位
  4. NodeJS中 package.json各属性分析
  5. 关于《selenium2自动测试实战--基于Python语言》
  6. rabbitmq消息队列——"工作队列"
  7. js打字机效果实现
  8. WCF服务实现客户端Cookie共享,表单验证的解决方案
  9. Android GridView(九宫图)
  10. linux基础-安装篇
  11. mysql查询的cache
  12. JS前端验证代码
  13. install-scp
  14. cannot import name '_imaging' 与No module named PIL解决方法
  15. #Java学习之路——基础阶段(第八篇)
  16. css实现圆形倒计时效果
  17. 【转】UEFI是什么?与BIOS的区别在哪里?UEFI详解!
  18. 条件随机场之CRF++源码详解-开篇
  19. PAT 乙级 1043 输出PATest(20) C++版
  20. python容错

热门文章

  1. Android图像滤镜框架GPUImage从配置到应用
  2. 为什么要将action实例设置为多例
  3. Kali在NET模式下不能联网的解决方法
  4. FreeBSD安装过程
  5. yum localinstall 解决本地 rpm 包的依赖问题
  6. Windows系统下安装VirtualBox及安装Ubuntu16.04
  7. 常用Windows命令、常用 Cmd命令(补充)
  8. redis windows下载地址
  9. Vuex准备
  10. GStreamer: your gstreamer installation is missing a required plugin in funct