数学之美系列 4 -- 怎样度量信息?

前言: Google 一直以 “整合全球信息,让人人能获取,使人人能受益” 为使命。那么究竟每一条信息应该怎样度量呢?

信息是个很抽象的概念。我们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如一本五十万字的中文书到底有多少信息量。直到 1948 年,香农提出了“信息熵”(shāng) 的概念,才解决了对信息的量化度量问题。
一条信息的信息量大小和它的不确定性有直接的关系。比如说,我们要搞清楚一件非常非常不确定的事,或是我们一无所知的事情,就需要了解大量的信息。相反,如果我们对某件事已经有了较多的了解,我们不需要太多的信息就能把它搞清楚。所以,从这个角度,我们可以认为,信息量的度量就等于不确定性的多少
那么我们如何量化的度量信息量呢?我们来看一个例子,马上要举行世界杯赛了。大家都很关心谁会是冠军。假如我错过了看世界杯,赛后我问一个知道比赛结果的观众“哪支球队是冠军”? 他不愿意直接告诉我, 而要让我猜,并且我每猜一次,他要收一元钱才肯告诉我是否猜对了,那么我需要付给他多少钱才能知道谁是冠军呢? 我可以把球队编上号,从 1 到 32, 然后提问: “冠军的球队在 1-16 号中吗?” 假如他告诉我猜对了, 我会接着问: “冠军在 1-8 号中吗?” 假如他告诉我猜错了, 我自然知道冠军队在 9-16 中。 这样只需要五次, 我就能知道哪支球队是冠军。所以,谁是世界杯冠军这条消息的信息量只值五块钱。
当然,香农不是用钱,而是用 “比特”(bit)这个概念来度量信息量。 一个比特是一位二进制数,计算机中的一个字节是八个比特。在上面的例子中,这条消息的信息量是五比特。(如果有朝一日有六十四个队进入决赛阶段的比赛,那么“谁世界杯冠军”的信息量就是六比特,因为我们要多猜一次。) 读者可能已经发现, 信息量的比特数和所有可能情况的对数函数 log 有关。 (log32=5, log64=6。)
有些读者此时可能会发现我们实际上可能不需要猜五次就能猜出谁是冠军,因为象巴西、德国、意大利这样的球队得冠军的可能性比日本、美国、韩国等队大的多。因此,我们第一次猜测时不需要把 32 个球队等分成两个组,而可以把少数几个最可能的球队分成一组,把其它队分成另一组。然后我们猜冠军球队是否在那几只热门队中。我们重复这样的过程,根据夺冠概率对剩下的候选球队分组,直到找到冠军队。这样,我们也许三次或四次就猜出结果。因此,当每个球队夺冠的可能性(概率)不等时,谁世界杯冠军的信息量的信息量比五比特少。香农指出,它的准确信息量应该是
= -p1*log p1 + p2 * log p2 + ... +p32 *log p32)
其中,p1,p2 , ...,p32 分别是这 32 个球队夺冠的概率。香农把它称为信息熵” (Entropy),一般用符号 H 表示,单位是比特。有兴趣的读者可以推算一下当 32 个球队夺冠概率相同时,对应的信息熵等于五比特。有数学基础的读者还可以证明上面公式的值不可能大于五。对于任意一个随机变量 X(比如得冠军的球队),它的熵定义如下:

变量的不确定性越大,熵也就越大,把它搞清楚所需要的信息量也就越大。

有了“熵”这个概念,我们就可以回答本文开始提出的问题,即一本五十万字的中文书平均有多少信息量。我们知道常用的汉字(一级二级国标)大约有 7000 。假如每个字等概率,那么我们大约需要 13 个比特(即 13 位二进制数)表示一个汉字。但汉字的使用是不平衡的。实际上,前 10% 的汉字占文本的 95% 以上。因此,即使不考虑上下文的相关性,而只考虑每个汉字的独立的概率,那么,每个汉字的信息熵大约也只有 8-9 个比特。如果我们再考虑上下文相关性,每个汉字的信息熵只有5比特左右。所以,一本五十万字的中文书,信息量大约是 250 万比特。如果用一个好的算法压缩一下,整本书可以存成一个 320KB 的文件。如果我们直接用两字节的国标编码存储这本书,大约需要 1MB 大小,是压缩文件的三倍。这两个数量的差距,在信息论中称作冗余度redundancy)。 需要指出的是我们这里讲的 250 万比特是个平均数,同样长度的书,所含的信息量可以差很多。如果一本书重复的内容很多,它的信息量就小,冗余度就大。
不同语言的冗余度差别很大,而汉语在所有语言中冗余度是相对小的。这和人们普遍的认识“汉语是最简洁的语言”是一致的。
在下一集中, 我们将介绍信息熵在信息处理中的应用以及两个相关的概念互信息和相对熵。
对中文信息熵有兴趣的读者可以读我和王作英教授在电子学报上合写的一篇文章

数学之美系列 4 -- 怎样度量信息?相关推荐

  1. 数学之美 系列十三 信息指纹及其应用

    数学之美 系列十三 信息指纹及其应用 任何一段信息文字,都可以对应一个不太长的随机数,作为区别它和其它信息的指纹(Fingerprint).只要算法设计的好,任何两段信息的指纹都很难重复,就如同人类的 ...

  2. 《数学之美》 第六章 信息的度量和作用

    <数学之美> 第六章 信息的度量和作用 信息量等于不确定性的多少 香农定理中,用比特bit这个概念来度量信息量.一个比特是一位二进制数,计算机中一个字节是8比特 信息熵,一般用符号H表示 ...

  3. 数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引

    数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引 [建立一个搜索引擎大致需要做这样几件事:自动下载尽可能多的网页:建立快速有效的索引:根据相关性对网页进行公平准确的排序.我们在介绍 Googl ...

  4. 数学之美 系列一 -- 统计语言模型

    数学之美 系列一 -- 统计语言模型 Posted on 2009-09-11 14:54 小y 阅读(576) 评论(0) 编辑 收藏  发表者: 吴军, Google 研究员 前言 也许大家不相信 ...

  5. 数学之美系列16(转帖)

    数学之美 系列十六(上) 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型2006年10月8日 上午 07:27:00 发表者:Google 研究员,吴军 [我们在投资时常常讲不要把所有的鸡蛋放在 ...

  6. 数学之美 系列十六 (下)- 不要把所有的鸡蛋放在一个篮子里 最大熵模型

    数学之美 系列十六 (下)- 不要把所有的鸡蛋放在一个篮子里 最大熵模型 我们上次谈到用最大熵模型可以将各种信息综合在一起.我们留下一个问题没有回答,就是如何构造最大熵模型.我们已经所有的最大熵模型都 ...

  7. 数学之美 系列十六(上) 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型

    数学之美 系列十六(上) 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型 [我们在投资时常常讲不要把所有的鸡蛋放在一个篮子里,这样可以降低风险.在信息处理中,这个原理同样适用.在数学上,这个原理 ...

  8. 数学之美 系列 12 - 余弦定理和新闻的分类

    数学之美 系列 12 - 余弦定理和新闻的分类 余弦定理和新闻的分类似乎是两件八杆子打不着的事,但是它们确有紧密的联系.具体说,新闻的分类很大程度上依靠余弦定理. Google 的新闻是自动分类和整理 ...

  9. 数学之美 系列九 -- 如何确定网页和查询的相关性

    数学之美 系列九 -- 如何确定网页和查询的相关性 [我们已经谈过了如何自动下载网页.如何建立索引.如何衡量网页的质量(Page Rank).我们今天谈谈如何确定一个网页和某个查询的相关性.了解了这四 ...

最新文章

  1. 2017年2月7日 今年第一天上班了
  2. 编程猫python讲师面试_【编程猫教师面试】在BOSS问了我很多,问我为什么选择编程猫,问我了解编程猫吗?-看准网...
  3. android 防腾讯新闻标题栏,仿腾讯视频android客户端上方的标题栏
  4. 前凸后翘的步进电机调速算法~
  5. 由SELECT ... FROM ... FOR UPDATE想到的
  6. Mac使用OpenCV项目步骤
  7. 在电源的输入端串一个二极管的作用是什么?
  8. idea时间重置插件
  9. 使用vue开发的网易云音乐播放器
  10. linux系统重新获取ip,Linux DHCP 重新获取指定的IP地址
  11. 小米商城网页制作大全-完结篇
  12. electron下载失败_解决方案汇总
  13. Linux下链接库出现的undefined reference问题总结
  14. 学校计算机用房地面用什么材料,学校食堂地面防滑该用什么材料?
  15. tinymce编辑器上传本地视频预览
  16. M1 MacBook 苹果电脑安装brew
  17. Linux改完ip没有inet,linux中eth0中没有inet addr
  18. 基于C#实现的双人对战与道具赛的俄罗斯方块小游戏
  19. 网卡驱动描述符助手功能浅析
  20. pascal境界~~

热门文章

  1. 【C++】构建哈希表
  2. 亡羊补课2019-12-19
  3. [MATLAB学习笔记]peaks函数1013(2)
  4. 吴恩达《Machine Learning》精炼笔记 12:大规模机器学习和图片文字识别 OCR
  5. C++文件操作:fopen / fread / fwrite
  6. JavaScript内存释放
  7. Linux下常见文件解压方法及命令
  8. C/C++实现读取当前文件夹下的文件-popen
  9. C语言中的匿名结构体
  10. 【❗JS奇技淫巧❗】JavaScript:截取DataURL中的base64字符串