前面结束了关于 learning 部分一些粗浅的讨论,我们大概明白了一些 learning 中 common sense/techniques。剩下的部分我们分为 causality 和 utility 两部分。Koller 的课程上面稍微涉及了一些后者的东西,不过觉得前者也挺有意思的,顺便了解一些初步的概念和知识吧。
和前面的一些 probabilistic query 不同的是 causality 存在下面两种 query:
- intervention query:看起来和 conditioning 类似,但是存在 agent 主动的干预某些变量的值,因此可能完全改变整个后果,应用于诊断、治疗、市场、政策的制定和科学发现
- counterfactual query:what-if 的概念,即如果改变过去某个事实,会有什么情况随之变化,应用于 legal liability cass、治疗和诊断
这些场景下我们往往会观察到 r.v.s 的 correlation,但是如果要判断两者是否因为 causality 导致的却很困难:
- 存在一个共同的原因导致两个现象的出现,这两个现象就会呈现 correlation
- 存在某个隐变量导致的 correlation
- 由于采样的 bias 导致的 correlation
正是由于这种错综复杂的可能性,要判断以上两种作用导致的变化正是后文处理的重点。为了表述 intervention,我们常使用 mutilated network:即去掉 parent 到 intervene 节点的关系然后 condition 在这个节点的给定值上。这样做的理由很明显,我们设定这个变量的值并不是自然的,而是人为的,因此此时进行推断的并不是在一个 marginalize 之后网络上!可以参看 Simpson’s paradox 体会一下这个微妙的差异。
intervention query
处理 intervention query 的一种策略是在以上 causal model 上进行扩展,如果某些变量可能被人为指定,我们可以对其进行扩展,用 替代原有的 ,这时或者取给定值(不受 parent 影响),或者取不定值(受到 parent 影响)。我们在这个网络上使用下面三条规则可以简化 intervention query,
- 如果 被 与 d-sep,则 ,即 d-sep 仍保持 r.v.s 的独立性
- 如果 被 与 d-sep,则 ,即 d-sep 一个 augmented r.v. 的赋值且该 r.v. 在 sep 里则等价于 condition 在这个赋值上
- 如果 被 与 d-sep,则 ,即 d-sep 一个 augmented r.v. 的赋值且该 r.v. 不在 sep 里则等价于与此 r.v. 无关
利用这三条规则可以将一些复杂的 query 简化。如当一个 r.v. 满足 back-door criterion 时(对 此 r.v. 阻挡了所有 的 back-door trail),我们可以 sum out 这个 r.v.,结合这些方式就能求解。比如前面 Simpson’s paradox 如果求 ,我们就可以简单的利用 。
counterfactual query
这部分其实没看懂,似乎为了解决这类 query 引入了所谓 response variable 和 functional causal model,这类 model 仅仅关心所谓 endogenous variables 而不关心 exogenous variables。利用这些概念定义了 counterfactual twinned network,在上面求解 query。
causal model 的学习
但是其实这是对 BN 做 learning,参数学习几乎一样,结构学习比较麻烦,因为 BN 的 structure learning 只能得到 I-equivalent 的结构,并不能分清楚 causal relationship,即便我们拥有任意多的数据。实际操作中,我们常用 Bayesian model averaging 选择后验概率高的模型。
另外能做的可能只是 interventional data,存在隐变量的时候就会非常麻烦,而 functional causal model 由于函数形式不定也会变得难以处理。
感觉这部分书上完全以例子为主,理论实在写得太简略,看完之后不知重点,也可能是对此花费时间太少的缘故吧,看来只能等以后有空再看这个相关的材料了。
——————
And God was with the lad; and he grew, and dwelled in the wilderness, and became an archer.