指导着工业时代(8世纪中叶-19世纪)的基础理论,是强调确定性和可预测性的机械论,直到现在,很多人还习惯用机械思维解决问题。但从20世纪初开始,物理学家们意识到不连续性、不确定性是我们这个世界的本质,在这个新体系下,指导人们的理论已经逐步变为“三大论”,即信息论、控制论和系统论,它们也正是信息时代的科学基础之一。本篇总结一下信息论相关的思想、理论以及用法,希望对你有用。
一、“信息”是什么
“信息”这个概念虽然常用,可它的本质似乎很少有人关注,按直觉判断,“信息”不具有物理性,既不是物质,也不是能量,但它又似乎无处不在。
我们所说的“信息”到底是什么呢?
信息确实是一个抽象概念,它是音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容。
通俗的讲,可以这么理解:在自然和社会中,人们通过观察各类事物,在脑中形成了对应的“信息”,这些“信息”可以用某种约定好的编码形式(语言、文字)记录或传递,人们用这些“信息”来认识、区别事物,以指导人们改造世界。
二、信息有什么用?
1948年,信息论奠基人克劳德·艾尔伍德·香农(Claude Elwood Shannon)在论文《通讯的数学理论》(A Mathematical Theory of Communication)中给出了直击本质的经典定义:
“信息就是用来消除随机不定性的东西”。
从这个定义看,信息的能力是消除不确定性,这是为什么呢?不需用理论证明,举两个符合你直觉的例子:
1、你面临一个数学考试,满分是100分,那么当前你考试得分的可能性是0-100分,如果你提前了解了考试范围和难易度并加以复习,那么得分的可能性就会改变,比如50-100分,如果你再进一步了解出题人的习惯、出题历史,并继续有针对性的复习,那么你得分的可能性的范围会继续缩小。同理,在生活中你会发现,无论是选学校、找工作、买房子还是买股票,你都习惯性的会调查研究一番,在信息论的角度看,这些做法的基本原理都是用更多的信息来消除不确定性。
2、我们今天常说的大数据、人工智能,说到底就是想方设法利用更多信息消除不确定性。比如下围棋,对计算机来说,就是在最多361个点位选择一个地方落子,是一个361选1的问题;而对于语音识别,不过是在几十个发音相似的单词中选一个匹配;人脸识别呢,则是在几百万人中选一个匹配;至于今日头条的推荐,也是从若干篇新闻中匹配一些你感兴趣的。
三、信息论的理论基础
下面再稍微总结一些具体的方法论。
1.如何量化“信息”——信息量和信息熵
能发出信息的系统,我们可暂且称之为“信息源”,那么既然要通过信息来观察、评估甚至改造信息源,就必须对信息有一个量化标准。
怎么量化呢?仔细想想,在生活中,信息的载体是消息,而不同的消息带来的信息即使在直观感觉上也是不尽相同的。比如,“你所在公司的CEO成为了世界首富”显然要比“比尔盖茨成为了世界首富”信息量大得多,究其原因,前者是小概率事件,发生的可能性微乎其微,而后者早已让你习以为常。
因此,香浓的思路就是,以不确定性来度量信息,在一个信息所表示的N个可能性中选出一种可能性所需要的量,叫做“信息量”,而所有可能性的加总就叫“信息熵”。如此一来,信息的不确定性就转化到了两个变量上:信息所表示的可能性越多、不确定性越大,它提供的“信息量”就越大,对应的“信息熵”就越大。
举个例子,假设我们有一个硬币,每次抛出正面朝上的概率都是1/2,那么如果你告诉我“这一次抛硬币的结果是正面朝上”,这个消息的每个信息量就是:
那信息熵呢?就是把这条信息中的所有可能性对应的信息量的加权平均:
说到这里,你可能会觉得“熵”这个字有点唬人,不就是“平均信息量”吗。之所以叫“熵”,是因为它跟统计物理学中“熵”的公式几乎一样,其含义也类似,在物理学里,“熵”大致描述了一个系统的混乱程度,而“信息熵”也可大致描述信息源的不确定程度。
2.为什么新信息可降低不确定性——条件熵
描述信息之间的相关性就要用到“条件熵”。假设信息源发出两条信息X和Y,如果它们具有相关性,那么在已知X的条件下,另一个消息Y的信息熵就会减小。条件熵 H ( Y | X ) 表示的是在已知随机变量X的条件下另一个随机变量Y的不确定性,也就是在给定X时,根据Y的条件概率计算出的熵再对X求解数学期望:
最后,用X的“信息熵”减去已知X情况下Y的“条件熵”,就得到了“信息增益”,它可用来表示X的出现消除了多少Y的不确定性。
举一个通俗的例子,以上课为例,信息Y是“学生在教室中可以任意选择座位”,那么可能出现的座位分布会很多,其信息熵也就较大。如果此时又来一个信息X,表明“对座位的选择添加一个限制条件,男生坐左边而女生坐右边”,虽然左边的座位分布和右边的座位分布依然是随机的,但相对于未加限制时的情形就会简单很多。那么用Y的信息熵减掉在X出现后Y的条件熵,就会发现X给Y带来了信息增益。
3.不确定时就保留多样性——最大熵原理
除了以上定义的指标之外,信息论中还有一个重要定理,叫作“最大熵原理”。
最大熵原理是一种选择随机变量统计特性最符合客观情况的准则,也称为最大信息原理。随机量的概率分布是很难测定的,一般只能测得其各种均值(如数学期望、方差等)或已知某些限定条件下的值(如峰值、取值个数等),符合测得这些值的分布可有多种、以至无穷多种,通常,在不知道如何选择的情况下,选其中信息熵最大的分布是一种有效的处理方法和准则。这种方法虽有一定的主观性,但可以认为是最符合客观情况的一种选择。
在投资时常常讲不要把所有的鸡蛋放在一个篮子里,这样可以降低风险,其实就是最大熵原理的一个朴素的说法,因为当我们遇到不确定性时,就要保留各种可能性,获得更多的机会。
四、信息论的启示
把信息论的方法论应用我们的日常会有哪些实践呢?
1、如何用信息降低事物的不确定性?
你把自己当成一个系统或者你写程序构建了一个了软件系统,这个系统的能力是预测某个事物发展的可能性,降低不确定性,应该如何利用信息论来实现呢?
按信息论的方法,你要收集和分析这个事物传递给你的所有信息,越多越好,这样你就可以不断的获得信息增益,降低信息熵,对事物发展的可能性做更准确的判断。
不过,你最终能消除多少不确定性,关键取决于你能获得多少有效信息。一般来说,由于噪声、隐藏因素、消化信息能力等诸多限制,很多事情的不确定性是无法100%消除的,如果你还想最大限度的把事情做好,还要结合控制论的思想,一边做一边通过反馈来吸收新信息,快速迭代,持续逼近目标。详细攻略可参考我的另一篇超长科普《系统、信息、控制和反馈,人们解决问题的基本原理》
2、如何提升消化信息的效率?
单纯从一个信息本身的信息熵来看,你接受一段信息速度的快慢,取决于这段信息对你来说,在多大程度上是可预测的。
比如读书,如果作者说上半句你就知道下半句,那你很快就看完了,而如果这本书的内容对你来说是全新的,那你就只能慢慢细读。所以一个人读书速度的快慢,从根本上来说,是取决于这个人以前读过多少书。对一个领域了解越多,读这个领域的新书就越快。小说看多了,再看新小说就觉得到处都是俗套。
在生活中,我们常常被教导要多学习、多体验,也正是这个道理,所谓新人看哪里都新鲜,老手看哪里都是俗套,并不是老手对世俗看淡了,而是两者积累的信息量不同,消化新信息的效率不同,造成了两者看同一个事物产生了不同的观点。从信息论的角度看,老手活的更有效率。
3、如何用数据思维解题
上个世纪70—80年代,信息论专家贾里尼克教授和他的同事们提出了“数据驱动”的解决人工智能问题的方法,并且在识别语音、翻译语言等领域获得了成功。到了互联网普及之后,出现了数据的大爆炸,而且原来各个不同领域的数据可以关联了,这就产生了我们所说的大数据。
在这里,你首先要区分数据和信息。数据是形成信息的原材料,是最底层的原料。它和信息最大的差别就是数据的量非常大,信息的量要小一些,数据是散乱的、非指向性、非结构性的,信息是有指向性和结构性的。举个例子,比如通过测量星球之间的相对位置和时间,就得到了数据,将这些数据系统性的整理得到了星球的运动轨迹,就是信息。
所谓用数据思维解题,就是把一个原来习惯性用逻辑来解的问题转换为一个信息问题,然后把数据做成信息,让机器进行快速匹配计算找答案,用的方法虽然和人的思考习惯完全不同,但是能解决问题。就像阿尔法狗,只要提前给它输入所有棋盘上可能出现的情况,面对具体的选择,它就能从信息库中快速地筛选出最佳的步骤。
如果你没搞过相关计算,直觉会告诉你这很难,尤其是那些复杂算法,实际上,在计算机领域达成的共识是,你能不能挖掘到足够的有效信息才是最关键的。
在很长的时间里,大约从上个世纪80年代初到90年代初,全世界学术界的焦点都放到了算法上,大家普遍认为是模型不够准确,导致很多识别错误消除不了,但是十多年下来,没有什么拿得出手的成果。90年代初,贾里尼克教授从IBM的高管回归到学术界,他发现大家的路完全走错了,因为如果不挖掘新的信息,很容易就遇到天花板。Google搜索的优化之路也验证了这一点,直到2015年,搜索准确度的改进,有90%都来源于找到了新的有用信息,只有不到10%的改进,在于用更好的机器学习方法,把模型的参数训练得更准确。
回过头来看,信息论早就指明了这一点。减少识别的错误,其实就是要消除不确定性,而消除不确定性,就要使用新的信息。所以在这个领域解决问题时,如果你想快人一步,就要去挖掘更多数据,转换成更多有价值的信息,从这个角度看,相比算法,你所发现和积累的领域知识、实践经验、思考、洞见才是你最宝贵的财富。
五、写在最后
最后,想一个有趣的问题,什么样的人最符合信息论的世界观呢?
给自己确定性:更多的积累体系化、结构化的信息,可以降低吸收新信息带来的不确定性,提高吸收效率。只有这样,你才能保证在每天大量信息呼啸而来的时候,敏感地抓住那些不寻常之处,那才是真正有价值的信息。
给别人确定性:一个人经常输出简洁、明确的信息,那么就是给别人更多的确定性,降低了别人对他的预测成本。当然,对方的信息消化能力也是一个因素,如果别人还是很难理解怎么办?信息论说,克服噪声的正确方法不是放大信号,而是增加信息冗余,所以,想要让别人充分理解你的意思,最好的办法不是用更大的声音对着他喊,而是多给他说几遍。
单虓晗写于201903