码迷,mamicode.com
首页 > 其他好文 > 详细

数学之美札记:信息的度量和作用

时间:2015-06-07 18:59:36      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:

    1948年,香农在著名论文“通信的数学原理”中提出了“信息熵”的概念,解决了信息的度量问题,并且量化出信息的作用。


    香农使用了“比特”(Bit)这个概念来度量信息量。一个比特是一位二进制数,计算机中的一个字节是8比特。举个例子,32支球队参加世界杯,赛后猜测谁是冠军,通常只需要5五次,就可以得到答案。(把球队编号1-32,然后提问类似的问题:“冠军在1-16号中吗?”,只需要提问五次),可以发现,信息量的比特数和所有情况的对数函数log有关。(log32=5,对数以2为底)


    当然32支球队的夺冠概率不可能完全相同,因此,当每支球队夺冠的可能性(概率)不等时,“谁是世界冠军”的信息量比5比特少。香农指出,它的准确信息量应该是:

        -(p1*log(2,p1) + p2 * log(2,p2) + ... +p32 *log(2,p32))

     

    其中,p1,p2 , ...,p32 分别是这 32 个球队夺冠的概率。香农把它称为“信息熵” (Entropy),一般用符号 H 表示,单位是比特。数学上可以证明,上面公式的值不可能大于五。仅当32个球队夺冠概率相同时,对应的信息熵等于五比特。


    有了"熵"的概念,就可以解决诸如"一本50万字的中文书平均有多少信息量"。常用的汉字(一级二级国标)大约有7000字。假如每个字等概率,那么大约需要13比特表示一个汉字。但汉字的使用是不平衡的,实际上,前10%的汉字占常用文本的95%以上。因此,即使不考虑上下文的相关性,只考虑每个汉字的独立概率,那么,每个汉字的信息熵大约也只有8-9比特。


    如果再考虑上下文相关性,每个汉字的信息熵就只有5比特左右。所以,一本50万字的中文书,信息量大约是250万比特。如果用一个好的算法压缩一下,整本书可以存成320KB的文件。如果直接用两字节的国际编码存储这本书,大约需要1MB左右,是压缩文件的三倍。这两个数量的差距,在信息论中称作”冗余度“(Redundancy)。


    信息和消除不确定性是相联系的。在英语中,信息和情报都用information表示,情报的作用就是消除不确定性。有些时候,在战争中一比特的信息能抵过千军万马。二战中,纳粹德国兵临苏联莫斯科城下,斯大林在欧洲已经无兵可派,而他们在西伯利亚的中苏边境却有60万大军不敢使用,因为苏联人不知道德国的轴心国盟友日本当时的军事策略是北上进攻前苏联,还是南下和美国开战。


    如果是南下,苏联可以放心撤回60万大军增援莫斯科,历时告诉我们日本选择了南下。斯大林不能猜,因为猜错的后果是致命的。最后,传奇间谍佐尔格向莫斯科发去了信息量仅1比特、却价值无限的情报(信息):"日本将南下",于是前苏联就把西伯利亚所有的军队调往了欧洲战场。


    一个事物内部会存在着随机性,也就是不确定性,假定为U,而从外部消除这个不确定性唯一的方法是引入信息I,而需要引入的信息量取决于这个不确定性的大小,即I>U才行。反之,如果没有信息,任何公式或数学的游戏都无法排除不确定性。几乎所有的自认语言处理、信息与信号处理的应用都是一个消除不确定性的过程。

    

    以网页搜索为例:网页搜索本质上就是要从大量(几十亿个)网页中,找到和用户输入的搜索词最相关的几个网页,它本质上也是利用信息消除不确定性的过程。如果提供的信息不够多,比如搜索词是常用的关键词,那么会有好多相关的结果,这时正确的做法是挖掘新的隐含的信息,比如网页本身的质量信息。如果这些信息还是不够消除不确定性,不放再问问用户。这就是相关搜索的理论基础。合理利用信息,是做好搜索的关键。


    知道的信息越多,随机事件的不确定性就越小。这些信息,可以是直接针对我们要了解的随机事件,也可以是和我们关心的随机事件相关的其他(事件)的信息——通过获取这些相关信息也能帮助我们了解所关注的对象。在数学上可以严格地证明为什么这些“相关的”信息能够消除不确定性。这里有一个条件熵的概念。 信息的作用在于消除不确定性,自然语言处理的大量问题就是找相关的信息。


   当获取的信息和要研究的事物”有关系“时,这些信息才能帮助我们消除不确定性。香农在信息论中提出了一个”互信息“的概念作为对两个随机事件”相关性“的量化度量。比如“好闷热啊,要下雨了”,闷热和下雨直接的互信息很高。


    在自然语言处理中,两个随机事件,或者语言特征的互信息是很容易计算的。只要有足够的语料,就不难估计出互信息。因此,互信息被广泛用于度量一些语言现象的相关性。机器翻译中,最难的两个问题之一是词义的二义性(歧义性)问题。比如Bush可翻译为美国前总统布什,也可以是灌木丛。


    那么如何正确翻译呢?人们很容易想到要用语法、要分析语句等。其实,迄今为止,没有一种语法能很好的解决这个问题,真正简单却非常使用的方法是使用互信息。具体的解决办法大致如下:首先从大量文本中找出和总统布什一起出现的互信息最大的一些词,比如总统、国会、华盛顿等,当然,再用同样的方法找出和灌木丛一起出现的互信息最大的词,比如:土壤、植物等。有了这两组词,在翻译Bush时,看看上下文中哪些相关的词多就可以了。这种方法最初由吉尔、丘奇和雅让斯基提出的。


    信息论中另外一个重要的概念是“相对熵”,在英语中是Kullback-Leibler Divergence,是以它的两个提出者库尔贝克和莱伯勒的名字命名的。熵、条件熵和相对熵这三个概念与语言模型的关系非常密切。信息熵是对不确定性的衡量,因此它能直接用于衡量统计语言模型的好坏。当然,因为有了上下文的条件,对高级语言模型,应该用条件熵。如果再考虑到从训练语料和真实应用的文本中得到的概率函数有偏差,就需要再引入相对熵的概念。


    贾里尼克从条件熵和相对熵出发,定义了一个称为语言模型复杂度的概念,直接衡量语言模型的好坏。复杂度有很清晰的物理含义,它是在给定上下文的条件下,句子中每个位置平均可以选择的单词数量。一个模型的复杂度越小,每个位置的词就越确定,模型越好。


    李开复博士在介绍他发明的Sphinx语音识别系统的论文中谈到,如果不用任何语言模型(即零元语言模型)时,复杂度为997,也就是说句子中每个位置有997个可能的单词可以填入。如果(二元)语言模型只考虑前后词的搭配不考虑搭配的概率时,复杂度是60。虽然它比不用语言模型好很多,但是和考虑了搭配概率的二元语言模型相比要差很多,因为后者的复杂度只有20。


    信息熵不仅是对信息的量化度量,而且是整个信息论的基础。它对于通信、数据压缩、自然语言处理都有很强的指导意义。信息熵的物理含义是对一个信息系统不确定性的度量,在这一点上,它和热力学中熵的概念相同。这说明科学上很多看似不同的学科之间也会有很强的相似性。

数学之美札记:信息的度量和作用

标签:

原文地址:http://my.oschina.net/realfighter/blog/426003

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!