先修:09 二叉树与对数;19 有限概率模型;20 条件概率与独立;24 无损编码与前缀码
手机连续响了两声。第一条通知说一个罕见的告警出现了,第二条只是把同一告警复制了一遍。消息条数翻倍了,你知道的事情也翻倍了吗?
再想另一种情况:第二条来自一个确实独立的观测。两件少见的事一起发生,通常比其中一件更出乎预料。我们想为这种“得知结果后新增了多少”设计一把尺子。它不能只数字数,也不能把复制当成新发现。
第24章研究怎样把消息译回原样。本章暂时放下具体码表,先问概率与信息量的关系:为什么概率要取负对数?答案要从我们希望这把尺子满足什么规则开始。
先决定这把尺子量什么
设某个结果在观察之前,由模型赋予的概率为p,其中0<p≤1。我们得知它确实发生了,想用一个有限实数I(p)衡量这次结果的信息量,也叫自信息量。
这里的p是观察前的预测概率,不是事后“已经知道它发生,所以概率为1”。同一个结果,在不同知识背景或不同模型下,可能有不同的p,也就有不同的信息量。1
观察的具体程度也必须说清。公平八选一时,“选中了A”和“选中了前四张之一”是两个事件,概率分别为1/8和1/2,不能因为它们描述同一次抽取,就给它们相同的数值。通知告诉你什么,决定了该把哪一个事件的概率放进公式。
第一步选择已经很重要:只让这把尺子依赖概率。两件事即使内容、用途完全不同,只要模型概率相同,本章就给它们相同的数值。因此它不衡量真实性、价值或语义深度。一句罕见的乱码不会因此成为深刻见解;有人转发一条罕见说法,也不等于那条说法是真的。
在这个范围内,我们提出三条要求。
一是稀有不减量。若0<p≤q≤1,就要求I(p)≥I(q)。模型越没料到的结果,发生时的信息量不应更少。这叫单调性,暂时只要求“不少”,没有预先要求严格增大。
二是独立联合可加。两个独立事件的概率分别为p、q,同时发生的概率是pq。若分别得知它们,总信息量应当相加,于是要求
I(pq)=I(p)+I(q)。
我们把它作为对任意p、q∈(0,1]都成立的尺子规则,并非声称现实中的任意两件事都独立。3
三是选定单位。得知一次公平抛币的具体结果,记为1比特,因此I(1/2)=1。下文公式中的I都以bit为单位。这一步是在校准刻度,正如先约定一米有多长。2
为什么不用1/p来表示稀有?它确实随概率减小而增大,却不满足第二条:p=q=1/2时,1/(pq)=4恰好等于2+2;换成p=q=1/4,便是16与4+4,已经不同。一个巧合算例不能代替对所有概率成立的规则。

图1:相乘的是独立结果的概率,相加的是信息刻度。图中的两步可以是一次公平抛币与一次独立的公平四选一。
这些是假设与约定,不是关于世界的一切信息都必须如此的宣言。现在真正要证明的是:接受这些规则后,数值还有没有别的选法?
先钉住整数,再钉住分数
先令p=q=1。可加性给出I(1)=I(1)+I(1),两边减去I(1),得到I(1)=0。模型已经确信的事,发生时没有增加本章意义上的意外程度。结合单调性,任何允许的p都满足I(p)≥0。
例如双方已经约定,一个来源每次只会产生字母A,那么收到A的信息量就是0。实际设备仍可能发送字符、消耗时间或需要标记消息开始,这些传输成本不会自动变成0。概率刻度与具体传输开销是不同的对象,后面比较码字时还要记住这个区别。
把n个1/2相乘,其中n为正整数,可加性反复使用后得到
I(2^(−n))=nI(1/2)=n。
所以概率为1/2、1/4、1/8、1/16时,信息量只能依次是1、2、3、4。概率每除以2,刻度就加1。
这也排除了“信息量就是1−p”的想法。它虽然让确定事件得到0,也符合稀有不减量,但概率为1/4时得到3/4,而两个独立的1/2事件各得1/2,合起来却是1。把它乘上常数来换单位,也不能修复这种不相等。
但只检查这些概率还不够。我们继续把刻度细分。对正整数n,令r=2^(−1/n),即把r连乘n次恰好得到1/2。于是
nI(r)=I(rⁿ)=I(1/2)=1,因而I(r)=1/n。
再把r连乘m次,就得到
I(2^(−m/n))=m/n。
这里m可为任意正整数;m=0时由I(1)=0同样成立。至此,所有非负有理指数对应的刻度都被钉住了。
这一步使用通常的指数运算法则,包括分数指数表示正数的相应次方根。接下来还使用实数指数、对数互为反函数以及它们的单调性质;我们沿用第09章的对数概念,不在此从零建立整个实数指数理论。
任何剩余的缝隙都能夹住
任取0<p≤1,把t=−log₂p记下来,因此t≥0且p=2^(−t)。我们还不能直接宣称I(p)=t,因为刚才只证明了有理指数;t可能不是有理数。
取任意正整数n,令k=⌊nt⌋。符号⌊x⌋表示不大于x的最大整数,所以
k/n ≤ t < (k+1)/n。
指数越大,2的负指数幂越小,因此
2^(−(k+1)/n) < p ≤ 2^(−k/n)。
左边的概率更稀有,右边的更常见。利用I的单调性,再把两端已知的有理刻度代进去,就有
k/n ≤ I(p) ≤ (k+1)/n。
t与I(p)落在同一个宽度为1/n的区间里。假如它们真的相差一个正数d,只要选n>1/d,区间宽度便小于d,不可能把这两个数同时装进去。矛盾说明它们只能相等。这里用到实数的阿基米德性质:总能找到超过任意给定实数的正整数,因此n>1/d确实可以做到。
因此,对每个0<p≤1,我们都得到了
I(p)=−log₂p=log₂(1/p)。

图2:取p=1/3时,t≈1.584963。n=4、20、100分别给出1.5,1.75、1.55,1.60、1.58,1.59。证明可以继续取任意大的n,并不在图上的第三步停止。
注意我们没有额外假设I连续。可加性先确定有理刻度,单调性再堵住实数之间的缝隙,就够了。反过来,−log₂p确实满足三条要求,所以我们既证明了它可用,也证明了在这些要求下它是唯一选择。换一个单位只会整体缩放数值;若换掉要求,就可能研究另一种量。
八选一与四个字母
回到第09章的八张卡片。这次额外规定每张卡等可能被选中。得知具体是哪张,概率p=1/8,信息量便是3比特。这与均分决策树的三层相呼应:候选从8到4、从4到2、再从2到1,每步把对应概率再乘1/2,信息刻度共走三步。
第09章的最坏次数下界不需要等概率假设;本章计算这次结果的信息量需要概率模型。两个结论在这个公平八选一例子中数值相同,依据仍须分清。1
再使用第24章的虚构四符号模型:
| 符号 | 模型概率 | 单次信息量 | 已有前缀码 |
|---|---|---|---|
| A | 1/2 | 1 bit | 0 |
| B | 1/4 | 2 bits | 10 |
| C | 1/8 | 3 bits | 110 |
| D | 1/8 | 3 bits | 111 |
这里每个信息量恰好等于对应码字的长度。但现在还不能把这件事推广成“每个结果都必须使用−log₂p位”。换成三个等可能符号,每个结果的信息量是log₂3≈1.585比特;实际的一枚二进制码字,绝不可能含有1.585个0或1。
例如三个符号可用前缀码0、10、11,长度分别是1、2、2。三种结果的信息量相同,码长却不同,甚至其中一个码长小于1.585。单次信息量不是每个代码字必须分别遵守的长度下界。怎样把它与整张码表的平均长度联系起来,第26章才会证明。
第二条消息要按什么概率计量
独立可加不能拿来给重复消息叠分。令A、B表示两个事件,并假定P(A∩B)>0。第20章的条件概率给出
P(A∩B)=P(A)P(B|A)。
这里交集概率为正,保证两项因子也为正,负对数均有定义。为简写,把−log₂P(A)记作I(A),把−log₂P(B|A)记作I(B|A)。取负对数便得到
I(A∩B)=I(A)+I(B|A)。
第二项衡量的是已经知道A之后,得知B又增加多少。只有A、B独立时,P(B|A)才等于P(B),才能把第二项换成I(B)。
设A是第一条告警出现,模型给它概率1/8;B是第二条也报告告警。如果B只是系统必定发出的原样复制,则P(B|A)=1,所以第二条增加−log₂1=0比特。两条合起来仍是3比特。
若另一个机制与A确实独立,且也以1/8的概率报告告警,则同时告警的概率为1/64,两条共6比特。两个屏幕、两个人或两家媒体,不自动构成两个独立机制;它们可能共用一个来源。

图3:只展开第一条告警出现后的路径。右图中第二条单独看也以1/8的概率出现,但知道第一条后,它的条件概率已经是1。
复制通知也许方便留档或提醒注意,那是使用价值。本章的0只表示:在已知第一条内容和确定复制规则的条件下,第二条没有新增这个事件的结果信息。
零概率与罕见的边界
公式的定义域没有包含p=0。随着正概率越来越接近0,−log₂p可以超过任何固定数值,常用“趋向正无穷”表示这个边界。它不是可以把0直接当普通正数代入的计算。
可以不用微积分来读懂这句话:任意给出一个正整数M,只要0<p<2^(−M),单调的对数就保证I(p)>M。你指定多大的上限,我都能找一个更小的正概率超过它;并不是存在一个名叫“无穷”的普通数值供某条现实消息领取。
在本章有限、离散的模型里,给一个结果概率0,就是模型排除了它。若真的观察到这个结果,应检查模型或记录是否有误,不能说现实突然送来“无限有用的信息”。连续模型里单个点概率可以为0,那是另一种情形,不在这里讨论。
同样,一次极小概率事件发生,并不单凭这一点证明模型错误。需要检验的是这个模型如何产生预测,以及它面对许多观察的表现。把不熟悉的东西一律判得很罕见,只会让尺子的读数变大,不会自动让判断更可靠。
至此,对数的角色清楚了:我们要求独立组合在概率上相乘,在信息刻度上相加;单位把公平二选一固定为1,单调性排除刻度间的任意跳动。下一章将把每次结果的信息量按概率平均,看看这把尺子怎样约束压缩。
顺手试一下
题目1:稀有度怎样相加
独立转动一个公平四格转盘与一个公平八格转盘。事先分别指定一格。得知两个转盘都落在指定格,信息量是多少?如果把第一只转盘改成三个等可能格子,另一个仍为八格,联合信息量是多少?后一个数能否直接作为一枚二进制码字的位数?
**提示:**先乘概率,再取负对数;也可以分别计算后相加。区分信息量与整数码长。
**参考答案:**原来联合概率为(1/4)(1/8)=1/32,信息量为5比特,也等于2+3。改后联合概率为1/24,信息量为log₂24=log₂3+3≈4.585比特。它是信息刻度,不是整数位数。若要给全部24种结果使用同样长的二进制码字,至少需要5位,因为2⁴<24≤2⁵。
题目2:两次告警算几次新发现
已知P(A)=1/16。机制甲中,B是A的确定复制;机制乙中,B与A独立且P(B)=1/4;机制丙中,已知A出现后,B出现的概率为1/2。现在A、B都发生了。分别算联合信息量,并指出第二条各增加多少。
**提示:**三个机制都可用P(A∩B)=P(A)P(B|A);只有乙可以直接用B的无条件概率。
**参考答案:**A本身为4比特。甲的联合概率为1/16,合计4比特,第二条增加0;乙为1/64,合计6比特,第二条增加2;丙为1/32,合计5比特,第二条增加1。丙没有给P(B),也不需要它:这里要用的是已经知道A之后的概率。
参考与延伸
1 MIT 6.004,Information 的课程讲解文字稿,第1—2页。核对单次结果的log₂(1/p)定义、等可能选择与小数比特的解释。
2 Claude E. Shannon,A Mathematical Theory of Communication,1948,导言第1页。核对对数刻度、底数与单位,以及通信工程度量与语义的区分。本文的单次信息量唯一性证明不等同于原文关于平均信息量的定理。
3 MIT MAS.160,Recitation 6,PDF第16—18页。核对按概率构造信息量、独立可加与对数形式。本文改用单调夹逼完成唯一性推导,不另假设I连续。
本文的推导展开、转盘与告警练习、三幅图由本系列独立编排;四符号概率和前缀码与第24章一致。
作者:Jiancheng Wang · 数学之美(独立原创)