pgm16
前面结束了关于 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的更多相关文章
随机推荐
- 树莓派学习笔记(7):利用bypy实现树莓派NAS同步百度云
转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 树莓派制作NAS过程详见http://www.cnblogs.com/xiaowuyi/p/ ...
- 动手动脑(lesson 8)
一. 上面程序在不注释第一个i/j会出错,这是因为程序会顺序运行,在运行到try之前就已经出错,因此不会跳到异常处理. 异常处理基础知识: 二. 三. 运行结果: 运行结果: 四. 运行结果: 总结: ...
- IIS 8的第一次请求不变慢如何配置
首先需要在Window中添加Application Initialization 在IIS中配置Application Pool 在IIS配置Web Site 配置完成,如果版本在7.5,可以下载:A ...
- MIUI7 系统应用精简(米5、红米note3)
1.由于安装的部分应用在root后无法使用,所以自己一直不能使用MIUI的开发版本. 2.前段时间米5升级MIUI8,实在是用着不咋地,耗电,王者还掉帧,于是降级miui7 3.被逼走上了刷机路. 1 ...
- DNS 协议
DNS 入门 域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS 使用 T ...
- Perhaps you are running on a JRE rather than a JDK
在Eclipse中跑maven项目时,出现上面的问题: 1.有可能你的环境变量配置是在jre上面的,所以你要检查一下你配置文件,PATH和CLASSPATH都要检查 2.eclipse默认是跑在jre ...
- Luogu P3388 【模板】割点(割顶)
一道求割点的板子题.还是采用经典的Tarjan算法. 首先大致和Tarjan求强连通分量相似,都是用\(dfn_x\)表示访问到\(x\)的时间(时间戳),\(low_x\)表示通过\(x\)回边能走 ...
- 【转】Git版本控制软件从入门到精通学习手册
GIT 学习手册简介 本站为 Git 学习参考手册.目的是为学习与记忆 Git 使用中最重要.最普遍的命令提供快速翻阅. 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以 ...
- SpringBoot笔记--Jackson
SpringUtil.getBean<GenericConversionService>().addConverter(Date2LocalDateTimeConverter()) var ...
- Linux服务器更换主板后,网卡识别失败的处理方法
1)现象说明公司IDC机房里的一台线上服务器硬件报警,最后排查发现服务器主板坏了,随即联系厂商进行更换主板,最后更换后,登录服务器,发现网卡绑定及ip信息都在,但是ip却ping不通了,进一步排查,重 ...