📄

什么是信息论


 
这篇文章可以看做吴军在「得到」上的《信息论40讲》的简要版本,后者更多的是用非数学的语言结合商业世界的一些常识的分析,但如果从未接触信息论的同学可以从本文看起(虽然还是需要一些数学底子)。
 
不过如果你也没兴趣看,那么就记得一句话「信息是用来消除不确定性」的就好了。我曾记得我五次三番的推荐信息论,因为这是信息时代的基石理论,我们日常生活大多数的问题和苦恼,都是来自于信息不足,而不了解信息的这些客观特征,仅凭主观的意愿,是无法「人定胜天」的 —— 这就像在工业革命的时候不了解力学原理一样 —— 及早的知道事情的物理边界以及解决方法,反而能提高我们的效率。
 
另外文章末位对于「一图胜千言」的数学证明非常漂亮,即使如我这种数学渣渣都能感受到其中美妙的乐趣,相信你也能体会到。
 
信息论入门教程
1948年,美国数学家克劳德·香农发表论文《通信的数学理论》(A Mathematical Theory of Communication),奠定了信息论的基础。 今天,信息论在信号处理、数据压缩、自然语言等许多领域,起着关键作用。虽然,它的数学形式很复杂,但是核心思想非常简单,只需要中学数学就能理解。 本文使用一个最简单的例子,帮助大家理解信息论。 小张是我的好朋友,最近去了美国。 我们保持着邮件联系。小张写信的时候,只使用4个词汇:狗,猫,鱼,鸟。 信的所有内容就是这4个词的组合。第一封信写着"狗猫鱼鸟",第二封信写"鱼猫鸟狗"。 信件需要二进制编码,在互联网传递。两个二进制位就可以表示四个词汇。 所以,第一封信"狗猫鱼鸟"的编码是 00011011,第二封信"鱼猫鸟狗"的编码是 10011100 。 最近,小张开始养狗,信里提到狗的次数,多于其他词汇。假定概率分布如下。 小张的最新一封信是这样的。 上面这封信,用前一节的方法进行编码。 0000000001011011 一共需要16个二进制。互联网的流量费很贵,有没有可能找到一种更短编码方式? 很容易想到,"狗"的出现次数最多,给它分配更短的编码,就能减少总的长度。请看下面的编码方式。 使用新的编码方式,小张的信"狗狗狗狗猫猫鱼鸟"编码如下。 00001010110111 这时只需要14个二进制位,相当于把原来的编码压缩了12.5%。 根据新的编码,每个词只需要1.75个二进制位(14 / 8)。可以证明,这是最短的编码方式,不可能找到更短的编码,详见后文。 前一节的编码方式,狗的编码是 0,这里的问题是,可以把这个编码改成 1 吗,即下面的编码可行吗? 回答是否定的。如果狗的编码是 1,会造成无法解码,即解码结果不唯一。 110有可能是"狗猫",也可能是"鱼"。只有"狗"为 0 ,才不会造成歧义。 下面是数学证明。一个二进制位有两种可能 0和 1,如果某个事件有多于两种的结果(比如本例是四种可能),就只能让 0或 1其中一个拥有特殊含义,另一个必须空出来,保证能够唯一解码。比如, 0表示狗, 1 就必须空出来,不能有特殊含义。 同理,两个二进制位可以表示四种可能: 00、 01、 10和 11。上例中, 0开头的编码不能用了,只剩下
 
另外推荐阅读《信息简史》