大家好,我是@狂人先生,欢迎来到“每周读本书”,今天继续为你拆解《趣谈概率》,这是第六篇。

上一篇,我们讲述了“信息熵”这个概念,我们都明白一个道理:事情发生的概率越低,信息量就越高;如果一件事情发生的概率高,那么看起来就不会有太大的信息量,然后我们还给出了一个计算信息熵的公式。
1 信息之间是相互联系的
如果把一条信息的每个节点都单独去计算信息量,这样就需要很大的信息量,也就是说这个“熵”很高。但是,在实际上,很多的信息之间是有关联的。比如说,我们用全拼输入法打字的时候,你要找一个字,就特别的难找;但如果你要输入一个词语的拼音,这就相当的容易了。比如有很多的网络用词,我们只要是知道前面或者后面一个字,就能够猜到其关联的另一个字。我随便拿几个词来说说,比如说形容一个人“闷”,我们本能就反映是“闷骚”;又比如说“孩子”,那出于本能都会加上一个“熊”,就是熊孩子;再比如说“老头”,很多人都会在前面加上“糟”,就是糟老头。

如果我们常用的汉字有2500个,那么每个汉字之间的组合就有2500*2500个,信息量就是log(2500*2500)=23,也就是说,两个字的词信息量是23个比特,三个词的信息量就是35比特,这个算法我们上一篇就明白了。但是,单独一个字,能够跟其他2500个字都能组成词语吗?这显然是不可能的。哪怕你硬是这么组词,也不太通顺吧。就比如说,“糟”后面跟一个什么字呢?当然“糟糕”、“糟蹋”就是它组成的词语。但是,“糟”能否跟“熊”组成一个词“糟熊”呢?这样多别扭,在实际生活中,也没有人会这么组合。但是,“糟”加上“老头”就是绝佳的搭配了。
通过这个知识,我们谈谈多种类型的信息熵。比如说,“闷”和“骚”这两个字,我们用H(X)和H(Y)代表这两个字的信息量。所谓的“自信息熵”,指的就是一个独立的随机变量,它所包含的信息量,我们用H(X)或者H(Y)表示。接着再看“条件熵”,我们看两种表现形式,H(X|Y),这是表示当Y这个条件已经确定了,那么发生X的概率是多少,如果你知道发生X,包含了多大的信息量?比如说,我们已经确定了词语是有“骚”这个字,那么前面一个字我们可以搭配什么字?我假设有100种组合,那么我们选择“闷”的概率就是1/100,所以它的信息量大概6.65比特,而不是11比特。

如果我们反过来,H(Y|X)表示什么呢?就是确定了第一个字是“闷”,那么后面有什么词汇跟它组合起来呢?假设它的组合不多,就只有32种,而“骚”字的概率是1/32,它的信息量大概是5比特,同样也不是11比特。你明白了吗?所以,如果每个汉字都要11比特,那么这个信息熵可不是一般的高,要是我们沟通的时候,都要这么高的熵,那效率就真的是感人了。
接着我们再看稍微复杂的情况,就是H(X,Y),这是什么意思呢?比如前面说的“熊孩子”,那么“孩子”就是一个固定的词组,也就是说这个词“孩子”两者组合起来,看作是一个整体,它有多大的信息量呢?如果单独拿出来,当然就是23个比特。但是,如果联系上下文,第一个是“熊”字,然后可以组成256个词汇,那么,“孩子”这个词汇的信息量,就是8个比特。具体过程,大家可以找回上一篇的公式,套进去自己算一下。
2 互信息:我们能够获取的最终信息
我们粤语中有一句歇后语“卖皖鱼尾——搭嘴”,这个歇后语的用途,就不是我们本文要讨论的话题,但通过这个歇后语,我们知道了到菜市场买鱼的一个*规则潜**:我们都知道鱼尾是好吃的,就只想要鱼尾,所以都是很快就卖光了;但是,皖鱼的头是没人买的,怎么办呢?卖鱼的商贩并不傻,你想要鱼尾,对吧?没问题啊,我给你;但是,不论你愿不愿意,我都要搭上皖鱼头给你,一起过称。你不乐意?除非你是第一天去买鱼的,要么就不要买,久而久之,大家也接受了这个不成文的规则。

这说明了什么呢?比如说,老王买了鱼尾,那我们就肯定知道,他一定也把鱼头带回来了。正所谓“有头有尾”,这就是信息论里边的“互信息”,用符号表示就是I(X,Y)。在这个例子里边,X代表你买鱼尾,Y代表给你搭配的鱼头。你买了X条鱼尾,就一定会搭上Y个鱼头,这两者是相互依赖的关系,两者具有相关性。至于相关性有多大呢?就是I(X,Y)这个数字的大小了。要是哪一天鱼头忽然特别的畅销,比鱼尾贵很多,那摊主肯定就不会再这么干了,他还想亏吗?这个时候I(X,Y)=0;要是哪天鱼头特别地廉价,没有人要,那他妥妥地为你配上鱼头,这是I(X,Y)=1!
前面我们都在谈“信息”,接着我们再谈谈“通信”,也就是信息的传输,整个过程包括三部分:信息源、信道和接收者。比如说,老人家叫保姆,到2公里以外的菜市场,去买5斤皖鱼。那么,老人家就是信息源,而保姆就是信息的接收者。当她走出门以后,忽然忘记了,应该买多少斤皖鱼了。应该买多少斤,这个丢失掉的信息,就是H(X);去到菜市场,哇靠,这里卖鱼的档口也太多了吧,经常去哪一家买的,也分不清了,这就给保姆造成了信息的噪音,就是H(Y)。但是,最终保姆还是把皖鱼买回来了,只不过她未必是买了5斤,也许多了也许少了,她未必是在经常去的档口买到。但是,有一点可以肯定,就是买回来一定“有头有尾”。

信息发送者,经过信息传输以后,到了接收者这边,未必一定是不折不扣的信息,一定会有偏差的。这个偏差哪里来的呢?就是信息的丢失,还有噪音。比如,保姆自己忘记了买多少斤,这个就是信息的丢失;看到这么多家卖鱼的,不知道选哪家,这个就是噪音。最终,真正能够吸收并且执行的信息是什么呢?就是买鱼尾,搭鱼头这个现象而已。经过信息的传输,我们只能获取到“互信息”,因为其他的都被噪音干扰抹去一部分,自己的原因也会丢失一部分。想要增强信息传输效率,唯一的办法,就是降低噪音和减少丢失。怎么做呢?好记性不如烂笔头!
好了,关于信息论这部分,我就先跟大家聊到这里了。当然,关于信息论的话题,真的要分享起来,可不是一两篇文章可以讲得完的,作为大学的数学专业,也需要一个学期才可以学完,虽然我们不用学得跟大学生这么专业,但也需要一整门课程来讲述,希望以后有这个为你分享的机会。我是@狂人先生,非常感谢你的关注与支持,我们下篇不见不散。