这是一本什么书?

《为什么》是一本讲因果理论的书,这么说起来可能有点感觉深奥的样子。实际上因果理论就是讲“为什么”的书,回答“为什么”这个问题,就是弄清楚一件事情的原因和结果。这个事情如此直白,以至于 3 岁小孩都知道问为什么或问他为什么也会回答,但是这个问题确难住了计算机科学家许多年。

在计算机科学,再说小一点,人工智能领域,一直有着两个分支,分别是“连接主义”和“符号主义”,连接主义是想模拟人大脑神经元的运作,将一个个“神经元”连接起来,每个神经元是一个简单的计算单元,对,这个思想后来发展成了神经网络,包括现在大火的深度神经网络;而符号主义,是想通过规则来模拟人脑的推理工作,从数理逻辑开始发展,也就是希望抓住人思维中理性的部分。但是因为人推理是非单调的(即知道得越多,反而能得到的结论越少等),同时需要的推理规则也太多并在不断演化,因此这一学派从专家系统之后并没有获得太大的发展。

因果理论说起来应该算作符号主义的领域。但是实际上现在的发展已经不太区分符号和连接了,即使得到了模型和假设,也需要得到大量数据的验证。

连接主义的缺陷

如果先不考虑因果,只考虑目前火热的大数据以及机器学习等领域,实际上目前各种系统能得到的结论都是非常浅显的,说白了只能得到一种相关关系。相关即是说某几个事物之间是有关联的,至于这个关联是什么,深度学习等技术无法解释。

因果关系,正好是相关关系的一种,并且是一种特殊的相关关系。他具有 3 个层次,第一层次就是观察,也就是发现一个事物和另一个事物相关,这正是当前所有的大数据系统所做的事情。给你数据,你从数据中发现规律。也正是人们思考事情的第一步,当然从数学角度讲,观察到事实,还需要进行归纳,归纳后还需要验证,才能知道是不是获得了因果关系,后面两步,是人们普遍具有的能力,但是当前的数据系统是无法知道的。不过即使这样,大数据系统也足够好用,能解决现实世界的很多问题。一个经典的例子就是“啤酒与尿布”,某大型超市发现在一段时间内,经常有人同时购买啤酒和尿布,因此把这两样东西摆在一起,果然,两样产品销量都得到了提升。如果说啤酒能影响尿布或者尿布能影响啤酒,这显然是荒谬的,因此,必定在背后有一个因素同时影响到了这两点。这个故事的解释是,因为在家照顾孩子的妇女往往叫丈夫下班后买尿布,而这些人会顺手买自己需要的啤酒。

第二个层次是干预,干预是说回答:“如果采取了某个行动,结果会是什么样子?”例如起火了,会产生烟雾,因此烟雾报警器会响,那么如果此时我将火灭掉,会怎么样?在现在大数据系统里面,数据只有起火,烟雾报警器回响这样的正例,因此也只能得到这样的相关性。而如果从人的思维角度,将起火,烟雾,报警作为一条因果链条,那么可以很自然的发现,只要我们切断这条链路,就能让报警器不响。

第三个层次就是反事实。如果说第二层次只是在推理中加入那些没发生的事实,从相容性的角度来讲,整个系统还是相容的。而一旦加入反事实,从严格意义中讲,我们得到了一个不相容的系统,这样的系统也就是非单调推理需要处理的问题。但是这一层次也正是人们思维中的一部分,经常会听到人说:“要是我不 xxx 就好了?”这正是这一层次需要解决的问题。

因果理论的难点

历史上不是没有科学家研究过因果问题,几乎所有的逻辑分支实际上都想解决这样的问题。但是很少有人取得了进展。当连接主义盛行的时候,人工智能和统计学已经快合成一体了,在很长一段时间之内,统计学因为处理不好因果关系,会选择性的无视和忽略他。

但是现实中因果的意义重大,如果没有因果性,那么很多问题我们无法从源头解决。例如一款新药上市,如何确认它确实对需要治疗的症状有效果?发生了一见有损公共健康的事情,例如某地发生了疫情,其原因是什么?这些都依赖因果思维,可以说因果思维就是人类社会运行的基本方式。

但是,因果分析是困难的,首先是因为认知的缺陷,我们只能看到我们能看到的东西,例如微生物等,如果不是科技的进步,是没办法认知和发现的。另一方面我们也许无法获取到我们想要的数据,即使获得了数据,数据也可能不全,或者会给我们错误的解释。

“啤酒与尿布”的例子就是一个典型,发现了这种相关,我们无法对其进行干预,例如我们增加啤酒的量,尿布并不能随之增加或减少,而只有我们发现了背后的关系,才能利用这种相关性。本例中就是使得这些下班的丈夫在购买啤酒和尿布时候更加的方便和顺畅。

而因果理论里面可能处处都是这些藏在背后的因素,这些因素被称作“混杂因子”,在研究和分析中怎么去除这些“混杂因子”,正是书中的重点内容。长久以来,去掉混杂因子的有效方法就是随机对照实验,但是书中理论和系统的表明,只要基于正确的因果模型,就有简单可行的办法来去掉混杂因子。

因果模型的获取

虽然作者对大数据以及统计并不是很感兴趣,但是实际上因果分析首先需要一个因果图,然后在图的基础上去验证数据。这个图如何获取其实是一个很重要的问题。事实上,通过数据分析,我们得到相关性,甚至将数据按照各个因子去分类获取,这正是模型获取的第一步,我们不会也没有能力凭空来一个模型,这些模型都需要数据的支撑来分析和验证。所以基于大数据的当前这些技术是第一步,经历了这一步之后我们可以进一步分析得到因果图,进而在图的基础上进行本书说讲的因果分析。

这本书的内容当然不止于此,我觉得最厉害的一点就在于,基于一个因果模型,定义了一套计算方法,按照这些方法计算出来的数据,能够与符合同一个模型的统计和大数据得到一样的结果。这正是让人膜拜和仰望的。

这只是这本书粗读下来的结果,对于其重点内容,需要细细品读,等重读之后再次更新读书笔记。