前面结束了关于 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.

pgm16的更多相关文章

随机推荐

  1. mysql5.6.8源码安装

    内核: [root@opop ~]# cat /etc/centos-release CentOS release 6.8 (Final)[root@opop ~]# uname -aLinux op ...

  2. 【Codeforces 1129C】Morse Code

    Codeforces 1129 C 题意:给一个0/1串,问它的每一个前缀中的每一个子串能解析成莫尔斯电码的串的种数. 思路:首先对于这个串构造后缀自动机,那么从起点走到每一个节点的每一条路径都代表了 ...

  3. u-boot全面分析

    uboot主Makefile分析1 uboot住Makefile分析参考:https://www.2cto.com/kf/201607/522424.html uboot version确定(Make ...

  4. ajax上传文件以及实现上传进度条(转载)

    做微信企业号的时候,在‘我的日志'功能模块里边需要添加一个上传文件的功能,并且要显示上传过程中的进度条和提交后的文件名列表,于是做了基于ajax的文件上传,UI用的是MUI框架,后台是TP框架 前端代 ...

  5. 05-Mirrorgate数据库信息

    1.登录数据库 [root@node1 ~]# mongo localhost: > show dbs; admin .000GB dashboarddb .001GB local .000GB ...

  6. [Oracle]快速生成大量模拟数据的方法

    快速生成大量模拟数据的方法: create table TEST(id integer, TEST_NUMBER NUMBER(18,6)); insert into TEST select i+j, ...

  7. 【php增删改查实例】第十一节 - 部门管理模块(编辑功能)

    9. 编辑部门功能的实现 思路:只允许用户勾选一条数据,点击编辑按钮,会跳出一个和新增数据类似的对话框.然后,用户可以修改部门名称和部门编码.点击保存按钮,提示修改成功. 9.1 前台代码编写 < ...

  8. java 基础02 打包package

  9. 《坦克世界》1.0+:使用 CPU 优化的图形和物理丰富用户体验

    本文以<坦克世界>为例,介绍 Wargaming 使用 CPU 多核和 CPU 单指令多数据 (SIMD) 功能显著提升游戏沉浸式体验的创新方法.我们以英特尔® 线程构建模块(英特尔® T ...

  10. xmlSpy套件(Altova MissionKit 2016)的Ollydbg调试过程及破解

    最近工作需要用到XML处理软件,网上找到Altova MissionKit 2016( 包含了XmlSpy.MapForce.StyleVision.UModel.DatabaseSpy等工具),用了 ...