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的更多相关文章
随机推荐
- 【Codeforces Round 1132】Educational Round 61
Codeforces Round 1132 这场比赛做了\(A\).\(B\).\(C\).\(F\)四题,排名\(89\). \(A\)题\(wa\)了一次,少考虑了一种情况 \(D\)题最后做出来 ...
- SkylineGlobe 6.6 三维地图上实现自定义右键菜单示例代码
1.OnRButtonDown.htm <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...
- Crowdsourcing[智能辅助标注]
为了实现标注平台智能辅助标注的能力,即上传一个标注任务,开始不提供辅助任务,随着用户标注的进行,后台可以收集一部分的标记数据,然后开启模型训练,并接着提供模型服务功能.然后再收集数据,再不断的训练,然 ...
- ARM的9种寻址方式
立即寻址 操作数是立即数,以“#”为前缀,表示 16 进制数值时以“0x”表示. 例: MOV R0,#0xFF00 ;0xFF00 -> R0 SUBS R0,R0,#1 ...
- 自行实现高性能MVC
wcf虽然功能多.扩展性强但是也面临配置忒多,而且restful的功能相当怪异,并且目前没法移植.asp.net core虽然支持webapi,但是功能也相对繁多.配置复杂.就没有一个能让码农们安安心 ...
- Intel Artificial Intelligence Conference(2018.11.14)
时间:2018.11.14地点:北京国贸大酒店
- Python高级特性(切片,迭代,列表生成式,生成器,迭代器)
掌握了Python的数据类型.语句和函数,基本上就可以编写出很多有用的程序了. 比如构造一个1, 3, 5, 7, ..., 99的列表,可以通过循环实现: L = [] n = 1 while n ...
- .NET CORE下的Cache
.NET CORE 下的缓存跟之前ASP.NET下的缓存有所不同,应用.NET CORE缓存首先需要引入Microsoft.Extensions.Caching.Memory程序包 下面简单写了一个C ...
- cmake 添加头文件目录,链接动态、静态库(转载)
来源网址:http://www.cnblogs.com/binbinjx/p/5626916.html 罗列一下cmake常用的命令. CMake支持大写.小写.混合大小写的命令. 1. 添加头文件目 ...
- [JSOI2016]病毒感染[dp]
题意 有 \(n\) 个村庄按标号排列,每个村庄有一个死亡速度 \(a_i\) 表示每天死 \(a_i\) 人(除非你治好这个村庄). 你从 1 号村庄出发,每天可以选择向相邻的村庄进发或者治愈 ...