暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

机器学习和因果推论

一切都是浮云计算 2019-07-08
950

当前的主流机器学习是建立在统计理论和计算理论之上的,但一般被认为和通用的智能是很不一样的。比如说,人是有推理能力的,但目前主流的机器学习并不具备。在统计学里,相关性不等于因果性,常被人忽视也被视为软肋而遭攻击。


本文欲介绍“因果图”机器推理,出自AI界神人、2011图灵奖得主、贝叶斯网络之父Judea Pearl。虽然“因果图”研究在学界也受争议,但敝人认为这思路是天才之作,于是想用平实的语言做些简单介绍。




预警!!此处和计算机的机器学习无关,先扯一些务虚的、哲学层面的。


因果关系可以简单理解为推理,比如因为吃了饭所以就饱了。由此转化为人们的生活指导:饿了就要吃东西。因果也可以上升到人如何理解世界,比如看到乌云就下雨,以及很多预测,比如股价、体育比赛、经济政策、大选、赌博等等。孙子兵法云:“夫未战而庙算胜者,得算多也。” 就是一个高级的推理过程。试想一下,如果机器能帮忙做这些,厉害吧!


那世界是不是都有因果构成呢?这是个深奥的哲学问题。举一些人文气息略浓的例子:

佛学讲因缘果,比如种子是“因”才能结果子作为“果”,中间也需要土壤、水等等“缘”。但这些因果都是由具体事物作为载体,我们所看到的具体事物的本质又是什么呢?而更高的境界是无因无果或因果一体的“无相”,那所谓的“因果关系”其实也只是一种虚幻而已,基于这个理论,我们并无法从因果关系来推理理解这个世界。


还记得电影《非诚勿扰2》里引用的那首诗吗?


你见,或者不见我,我就在那里,不悲不喜。

你念,或者不念我,情就在那里,不来不去。

你爱,或者不爱我,爱就在那里,不增不减。


体会一下这个感觉吧,就是有个“东西”就在那里,它不是因也不是果,也许促成了因果,或不停地链式反应,无法简单分开纠缠一起的因果。


再说一个,人类的原罪(始祖:亚当)


你一生日日劳苦才能得到吃食。地要给你生出荆棘和蒺藜,你要吃田间的蔬菜;你必须汗流满面,才有饭吃,直到你归于土中


日日劳苦、汗流满面,这个就是我们生存的条件,原罪怎么被因果关系解释呢?还是这就是一种对现象和事物的很智慧的归纳。


讲了那么多,主要是想说清楚“因果”这个概念,在计算机世界里,和现实世界中。世界是很复杂的,不要太执着。


谢谢耐心收看,总算扯完了。。。


下面的部分,会集中在计算机世界里的因果,我们要看到这些怎么被数学化!



因果推论 causal inference


把人的因果推论理解分成三个层次:

  • 联系 (association):X意味着什么?看到X会不会影响对Y的判断?看到这个症状能否说明是这个病?看到这个调查结果是不是反映事实?

  • 介入 (intervention):如果做了意味着什么?吃了阿斯匹林,是不是就不头疼了?

  • 虚拟 (counterfactuals):一般是指想象或者复盘,没真实发生的事情。为什么?是X导致Y发生吗?做了X不发生Y会是什么?如果不这么做会怎样?如果Oswald不行刺Kennedy会怎样?如果前两年我都不吸烟会怎样?


先把问题用数学的语言表示

条件概率 P(A|B) 表示 B 发生的时候,A也发生概率



  • P(y | A) 看到A会发生什么? 换句话说,A意味着什么?

  • P(y | do(A)) 做了A会发生什么?  做了A意味着什么? 这里看到A(observation)和做A(action)分开处理

  • P(y_A' | A) 表示A发生的时候,发生别的情况 y_A' 的概率。换句话说,如果是要发生的y,那又如何?也就是说有别的选择,为什么要到y


关键要理解第三点:目前基于统计和拟合的主流机器学习,是对已知数据的拟合和逼近,但无法“想象”出不存在的场景(场景即是数据),因此这里的counterfactual(反事实、虚拟)就是这里的精髓,也是人类语言的精髓。人类就是通过语言来构想出一个逼近现实的场景,来作为推理的依据。


下图因果推论Causal inference要把数据、推理、查询都连起来!



  • 数据(Data)是根据现实世界的观察,建立概率子模型

  • 有向图(Graph)是建立推论的方向,即因果联系,可以理解为假设或已知条件

  • 查询(Query)是推论的应用,即更换条件后能得到什么结果,是虚拟的


这个做法非常的程序化,写好函数,换输入,就出结果。关键在于函数怎么写,里面有没有bug。。。 人有时候理解世界(比如考试的时候)其实也是这样的。


以上就是一个形式化的例子,如何用counterfactual和structural的语言来表示人类语言的事情。

插播一下,人类语言被人理解起来是很丰富的,有时既不公平也没道理,甚至跟现实也不一致,因此我们要分清主次,是用数学或机器去理解世界呢?还是理解人心?


把模型再细化一下:

这个结构化因果模型就用这4元组表示:

  • V内生变量(可添加的)

  • U背景变量(客观存在)

  • F能根据内生变量和背景变量确定内生变量的值

  • P是描述U的分布(客观规律)


然后定义模型的计算规则

可以忽略某些observation(比如noise)

有些action和observation是等价的

可以忽略某些action(徒劳)


Pearl举了一个吸烟致肺癌的推断计算过程


介绍到此,网上信息也很多,最后放几个链接


Judea Pearl – Eight Pillars of Causal Wisdom (WCE 2017: UCLA)

https://www.youtube.com/watch?v=8nHVUFqI0zk


The Eight Pillars of Causal Wisdom

https://ftp.cs.ucla.edu/pub/stat_ser/r470.pdf


The Three Layer Causal Hierarchy

http://web.cs.ucla.edu/~kaoru/3-layer-causal-hierarchy.pdf


Keynote: The Mathematics of Causal Inference: with Reflections on Machine Learning

https://www.youtube.com/watch?v=bcRl7sXR1hE


文章转载自一切都是浮云计算,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论