为什么80%的码农都做不了架构师?>>>   

本文大部分来自:http://www.zhujun.me/d-separation-separation-d.html

其中找了一些资料发现原文中阻塞(block)中(b)部分有出路,黑体部分修改了一下,那么‘四应用例子’部分答案也跟着修改,如果理解有误希望能给予解释,谢谢!资料参考在最下部分‘六、补充参考资料例子’。

一、引言

在贝叶斯网络的学习过程中,经常会遇到(D-Separation)D-分离这个概念,D-分离是寻找网络节点之间的条件独立性的一种方法或者说一种问题的简化处理的技巧。采用D-分离技术,在用贝叶斯网络进行预测,诊断推理等方面,可以提高计算速度,减少计算复杂性。

D-Separation是一种用来判断变量是否条件独立的图形化方法。相比于非图形化方法,D-Separation更加直观,且计算简单。对于一个DAG(有向无环图)E,D-Separation方法可以快速的判断出两个节点之间是否是条件独立的。

二、三种情况分析

首先可以看看以下三种简单情况下条件独立的情况(对应于PRML中8.2.1的Three example graphs):

Example One:tail-to-tail (节点C连接的是两个箭头的尾部,如图)

可知, P(a,b,c)=P(a|c)*P(b|c)*P(c)    (1)

现在我们求 P(a,b),如果 P(a,b)=P(a)*P(b),则a和b是在c条件下独立分布的。分两种情况进行讨论:

(1)C值不作为观察点。令(1)式对c求积分,消去c值,考虑c是离散的情况,可得

可以看到,与 P(a,b)=P(a)*P(b)不等,所以a和b不是c条件独立的。

(2)C值作为观察点(即以C作为条件)。则可以知道C取某个c状态的概率为 P( c ),c 条件下 a 和 b发生的概率为

P( a,b|c )。 由下式:

可得a 和 b 是 c 条件下独立的。

Example Two:head-to-tail

可知,p(a,b,c)=p(a)*p(c|a)*p(b|c)   (2)

同样分两种情况进行讨论:

(1)、c值不作为观察点。对(2)式(考虑c是离散的情况)积分可得:

可知,a和b不是c条件独立的。

(2)、c值作为观察点。则图模型表示为:

c 条件下 a 和 b发生的概率为 P( a,b|c )。 由下式:

可知,a 和 b 是 c 条件下独立的。

Example Three:head-to-head

可知 p(a,b,c)=p(a)*p(b)*p(c|a,b)    (3)

同理,分两种情况讨论:

(1)、c值不作为观察点。由于所有p(c|a,b)相加和=1,所以有(3)式消去c,可得 p(a,b)=p(a)*p(b),即a与b是条件独立的。

(2)、c值作为观察点。

所以有:

最后不能因式分解成p(a)*p(b)的形式,所以a与b不是c条件独立的。

三、总结

对于较为复杂的 DAG 图,我们可以给出一个普遍意义上的结论 ,也就是 D-Seperation。 对于 DAG 图 E,如果A,B,C是三个集合(可以是单独的节点或者是节点的集合),为了判断 A 和 B 是否是 C 条件独立的, 我们考虑 E 中所有 A 和 B 之间的 无向路径 。对于其中的一条路径,如果她满足以下两个条件中的任意一条,则称这条路径是 阻塞(block) 的:

(a)路径中存在某个节点 X 是 head-to-tial 或者 tail-to-tail 节点(Example one/two),并且 X 是包含在 C 中的;

(b)路径中存在某个节点 X 是 head-to-head 节点(Example Three),并且 X 或 X 的儿子是不包含在 C 中的; 

如果 A,B 间所有的路径都是阻塞的,那么 A,B 就是关于 C 条件独立的;否则, A,B 不是关于 C 条件独立的。

四、应用例子

根据D-Seperation分隔定理,我们可以很容易的判断是否是条件独立的。我们来看一个例子:

判断图中a与b是否在c条件下独立a与b是否在f条件下独立

判断 a 和 b 是否是 c下条件独立的: a 到 b 只有一条路径 a->e->f->b 。 考虑路径上的点 e 和 f :其中e 是 head-to-head 类型的,且 e 的儿子节点就是 c ,根据(b),e不阻断。而节点f是tail-to-tail类型节点,根据(a),f不在c中,所以也有a,b不是c条件下独立。

判断 a 和 b 是否是 f 下条件独立的:路径 a->e->f->b 上的所有节点。考虑路径上的点e和f:节点 e 是head-to-head 类型的,e 和她的儿子节点 c 都不在 f 中,所以(b),e是阻断路径的节点。节点 f 是tail-to-tail类型节点,且 f 节点就在 f中,所以 f 节点阻断了路径。 结论:a 和 b是 f 下条件独立的。

D-Seperation 还可以用来证明独立同分布马尔科夫边界等。

五、参考资料

1、http://www.andrew.cmu.edu/user/scheines/tutor/d-sep.html#d-sepapplet2

2、http://blog.sina.com.cn/s/blog_7a24649f0101hjdx.html

3、《pattern recognition and meaching learning》-chapter 8:Graphical Model-8.2 conditional independence

六、补充参考资料例子



1.P( G , L | B ),因为根据规则1,给定B阻塞了G和L之间的惟一的路径。根据给定B,M也阻
塞了这个路径,因为M不是证据
集的一个成员。

2.I(G,L)和I(B,L),因为按规则,给定空的证据集合, M阻塞了G和L之间、B和L之间的
(惟一)路径(M不是空的证据集
的一个成员)。

然而,注意, B和L不是条件独立于给定的M的。因为虽然M在B和L的路径上,但这个路径上的两条弧都指向M,且M在证据集合中—因此在这种情况下,M没有阻塞路径。

七、Cousera上的PGM例子

课上的explanation:

d-sep (D, J | L, I) is the only statement that is true. If we observe L, the V-structure at G is activated, so influence can flow from D through I to J. Likewise, if we observe H, then the V-structure at H is activated, allowing influence to flow from D to J through H.

我的理解:
A.d-seq(D,I|L):考虑路径:Diffuculty-Grage-Intelligence,Grade是head-to-head节点类型,其孩子节点Letter是条件集合中,因此不是条件独立,该项不是d分离。
B.d-seq(D,J|L):考虑路径:Diffuculty-Grage-Letter-Job,节点Grade是head-to-tail节点类型,其不在条件集合中,因此不是条件独立,该项不是d分离。
C.d-seq(D,J|L,I):考虑路径1:Diffuculty-Grage-Letter-Job,L是head-to-tail节点类型,且在条件集合中,因此是条件独立。考虑路径2:Difficulty-Grade-Happy-Job,Happy是head-to-head节点类型,但Happy不在条件集合中,因此条件独立。考虑路径3:Difficulty-Grade-Intelligence-SAT-Job,Grade是head-to-heat节点类型,但不在条件集合中,是条件独立。所有路径都是阻塞,因此该项符合d分离。

D.d-seq(D,J|L,H,I):考虑路径:Diffuculty-Grade-Happy-Job,其中第二条路径,Happy是head-to-head节点类型,但Happy在条件集合中,所以该路径中的D、J不是条件独立,所以该项不是d分离。

一个简单的数学证明:

P(D,S)=P(D)*P(S)

转载于:https://my.oschina.net/dillan/blog/134011

概率图论PGM的D-Separation(D分离)相关推荐

  1. PGM中的有向分离(d-separation)和 active trail

    这篇博客关于有向分离和active trail讲的比较好,而且还有例题: https://blog.csdn.net/ybdesire/article/details/78998398

  2. 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P11)

    Voice Conversion 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.htm ...

  3. 网络编程 TCP电子网络词库

    电子词典: 要求: 登录注册功能,不能重复登录,重复注册.用户信息也存储在数据库中. 单词查询功能 历史记录功能,存储单词,意思,以及查询时间,存储在数据库 基于TCP,支持多客户端连接 采用数据库保 ...

  4. 2011大学英语四级核心高频词汇表免费下载

    2011年大学英语四级核心高频词汇表 abandon vt.丢弃:放弃,抛弃 ability n.能力:能耐,本领 abnormal a.不正常的:变态的 aboard ad.在船(车)上:上船 ab ...

  5. 电子词典(基于TCP协议多进程通信和数据库)

    项目:电子词典 项目要求: 登录注册功能,不能重复登录,重复注册.用户信息也存储在数据库中. 单词查询功能 历史记录功能,存储单词,意思,以及查询时间,存储在数据库 基于TCP,支持多客户端连接 采用 ...

  6. ♥ 七夕七夕 ♥ - 怎么给女朋友送礼物攻略

    相爱本来就有一定的概率会分开,不要因为害怕分离而不敢去爱.如果你总是计较结果,你就会忽略这个过程中,对方给你带来的快乐和感动. 又是一年一度七夕,没有了小时候的仰着脖,看月圆,期待见证鹊桥幽会:多了的 ...

  7. 【托业】【语法题】笔记

    1.racial 种族的 2.incurable 无可救药的 3.rebellious [rɪˈbeljəs] adj.反叛的; 造反的; 难控制的; 5.regular customer 常客 pu ...

  8. 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P12)

    Speech Separation 李宏毅老师2020新课深度学习与人类语言处理课程主页: http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.ht ...

  9. 复杂系统学习(七):基于代理的模型I

    目录 1. 什么是 "基于代理 "的模型? 1.1 ABM的例子--群集行为(Flocking Behaviour) 1.1.1 群集行为的'类鸟群'模型 1.1.2 类鸟群的邻接 ...

最新文章

  1. 简单说明PHP的垃圾收集机制是怎样的?
  2. CentOS 5.5-yum安装配置LNMP
  3. 中国碳酸亚乙酯(EC)(CAS+96-49-1)行业市场供需与战略研究报告
  4. 新生儿操作系统操作手册
  5. eclipse java开发实例_eclipse+webservice开发实例
  6. java上传音频的方法_将音频文件从文档目录上传到 iCloud
  7. 《卫星通信》课程大作业——基于MATLAB的无线通信链路级仿真
  8. 不同激光粒度仪测试结果不一致的深层原因分析
  9. secoclient支持ipv6吗_ipv6使用说明
  10. vue对vue-giant-tree进行节点操作
  11. 无人机组装调试步骤(保姆级别教程)
  12. 曾被疑为有血缘关系的明星
  13. K8S中使用显卡GPU(N卡) —— 筑梦之路
  14. 零代码平台基于模型驱动开发流程和概念
  15. MAC查看库信息/rpath(类似ldd)otool
  16. 【附源码】计算机毕业设计SSM烹饪课程预约系统
  17. Android获取GPS经纬度
  18. java在线学习网站源码_我是怎么开发一个小型java在线学习网站的
  19. Field D*路径规划算法
  20. braintree支付开发整合paypal

热门文章

  1. 在ASP.NET中自动给URL地址加上超链接
  2. PHP获取当前时间差8小时的问题
  3. Brute Force算法介绍及C++实现
  4. 使GDAL库支持中文路径或中文文件名的处理方法
  5. MNIST数据库介绍及转换
  6. 【FFmpeg】ffmpeg工具源码分析(二):转码核心函数 transcode
  7. 【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink
  8. 【Dlib】dlib和opencv的互转
  9. 计算机论专业文范文,电脑论文范文例文 关于电脑和栏方面毕业论文范文30000字...
  10. python以下字符串合法的是_以下字符串合法的是().