概率图模型(D分离)
1.D分离的实质就是寻找贝叶斯网络中的条件独立语义
2.将有向图转为无向图的过程称为道德化,转换后的图称为道德图
3.道德化过程有两步:将每个节点的父节点两两相连;将有向边替换为无向边
4.用D分离算法可以判断两个独立问题:给定Z,X和Y是否条件独立;X和Y边际独立吗
5.D分离算法有四步:构造贝叶斯网络;“道德化”图;删除给定及其边缘;做出判断
在第一篇概率图模型(模型表示)文章里,我们以全局视角尽可能把概率图模型的基础模型介绍完毕,但还有一些定义没有清楚的给出,特别给定一个概率图,如何判断其变量的独立性——D分离(D-seperation)。这一篇,我们对基础概念做个更深入的介绍。
D分离概念
上一篇文章,我们直接给出贝叶斯网络独立性的三种体现形式:head-to-tail,tail-to-tail,head-to-tail。首先,我们需要清楚的一个逻辑是:并非是图形长成那样,我们推导得到变量的独立性,而是变量具备独立性,我们对它进行可视化。
现在,我们要做的是,我知道图形后,怎么找出这些独立条件的表现。这个需要用到D分离。
定义1:阻塞
对于给定的结点集ε,如果对贝叶斯网络中的结点A和B之间的每个无向路径,在路径上有某个结点C,如果有以下任一属性:
(1)C在ε中,且路径上的两条弧都以C为头(即弧在C处开始(出发))
(2)C在ε中,路径上的一条弧以C为头,一条以C为尾
(3)C和它的任何后继都不在ε中,路径上的两条弧都以C为头(即弧在C处结束)
则称A和B被C结点阻塞.
属性(1)就是tail-to-tail形式;(2)是head-to-tail形式;(3)是head-to-head形式。这里还需要注意另外一点,贝叶斯网络是有向图,所以其中的路径也应该是有向路径,这里所指的无向路径是不考虑方向性时的路径.
定义2:D分离
如果A和B被证据集合ε中的任意结点阻塞,则称A和B是被ε集合D分离,结点A和B条件独立于给定的证据集合ε,即P(A|B,ε) =P(A|ε)和P(A|B,ε) =P(B|ε),表示为
D分离的实质就是寻找贝叶斯网络中的条件独立语义。
我们在第一篇已经证明了三种阻塞形式的条件独立性,这里再从另外一个角度证明head-to-head形式的条件独立性。
在A给定情况下,我们有:
可见,给定A条件下,B,C不独立。
在不给定A情况下,对A做积分:
默认情况下,B、C相互独立。
其他情形证明类似,从是否P(B,C|A)=P(B|A)P(C|A)等式成立角度证明。
基于D分离的独立分析
对于复杂的有向无环图(DAG),我们利用D分离判断条件独立性,其判断规则是:
对于DAG图E,如果A,B,C是三个集合,为了判断A和B是否是C条件独立的,我们考虑E中所有A和B之间的无向路径。对于其中的一条路径,如果它满足以下两个条件中的任意一条,则称这条路径是阻塞的:
(1)路径中存在某个节点X是head-to-tial或者tail-to-tail节点,并且X是包含在C中的
(2)路径中存在某个节点X是head-to-head节点,并且X或X的儿子是不包含在C中的
如果A、B间所有的路径都是阻塞的,那么A、B就是关于C条件独立的;否则,A,B不是关于C条件独立的。
举个例子来理解吧,对于下面的贝叶斯网络,判断在给定c的条件下,a与b是否独立?
根据定义,a与b之间的无向路径为:
它的节点有两个:e和f,对于e,是head-to-head形式,由判定条件(2)可知,e的儿子节点是c,它包含在给定的c,所以该路径不阻塞,a与b不是条件独立的。
那么如果在给定f条件下,a与b是否独立呢?
a与b的无向路径没变,对于节点e,根据判定条件(2),e和c不包含在给定条件f中;对于节点f,属于tail-to-tail形式,f包含在给定条件f中,因此,该路径是阻塞的,从而a与b条件独立。
如果对于更复杂的网络,这种判定方法还是很费劲,我们还有一种更简便的方法,而且这种方法适用于无向图中。为此,我们先介绍道德图。
道德图
将有向图转为无向图的过程称为道德化(Moralization),转换后的图称为道德图(Moral Graph).
我们来看看有向图三种形式如何道德化。
1.head-to-tail
根据贝叶斯网络定义,联合概率分布为:
道德化,去掉箭头:
其最大团有两个:B—A,A—C,根据无向图的联合分布表达式,联合分布为:
因此,该种转换是等价的。
2.tail-to-tail
根据贝叶斯网络定义,联合概率分布为:
道德化,去掉箭头:
其最大团有两个:B—A,A—C,根据无向图的联合分布表达式,联合分布为:
因此,该种转换是等价的。
3.head-to-head
根据贝叶斯网络定义,联合概率分布为:
道德化,去掉箭头:
其最大团有两个:B—A,A—C,根据无向图的联合分布表达式,联合分布为:
这样两个联合分布不等价,因为p(a|b,c)很显然是一个整体,势函数必须是关于a,b,c的,因此,应该将b与c连起来,道德化为:
这样联合分布可以表示为
根据以上分析,我们可以将道德化过程总结为:
1. 将每个节点的父节点两两相连
2. 将有向边替换为无向边
D分离算法
至此,我们使用D分离给出更一般的算法来确定以下形式之一的独立性问题:
给定Z,X和Y是否条件独立
X和Y边际独立吗
直接给出算法流程:
step1:构造贝叶斯网络
构造概率表达式中所有变量的“有向图”
step2:通过“嫁给”父母来“道德化”图
将每个节点的父节点两两相连,将有向边替换为无向边
step3:删除给定及其边缘
如果独立性问题具有任何给定的变量,请从图形中删除这些变量,然后还要删除所有连接
step4:阅读图表、做出判断
如果在此图中要判断的变量之间没有路径,则可以保证它们是独立的。如果在此图中要判断的变量之间存在路径,则不能保证它们是独立的.
我们通过一个例子来理解这个算法过程。对于下面贝叶斯网络:
判断下列条件独立问题。
1.给定D和F,A和B是否有条件独立?
首先,构造A,B|D,F的贝叶斯网络:
接着,进行道德化:
其次,删除给定及其边缘:
最后,判断是否独立:A与B有路径相连,因此A与B不条件独立。
2. A和B边际独立吗
首先,构造A,B的贝叶斯网络:
该情况没给定,因此只需道德化,最后得到还是上图,因此,A与B相互独立
3.给定C,A和B是否有条件独立?
首先,构造A,B|C的贝叶斯网络:
接着,进行道德化:
其次,删除给定及其边缘:
最后,判断是否独立:A与B有路径相连,因此A与B不条件独立。
可见,该算法肉眼就可以判断条件独立问题,方便简洁。
参考资料
https://zhuanlan.zhihu.com/p/96759877
概率图模型(D分离)相关推荐
- 机器学习笔记:概率图模型
公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 来自 | 知乎 作者丨苏一 来源丨https://zhuanlan.zhihu.com/p/5 ...
- 有关概率图模型中的D-Seperation的理解,附cousera例题解读
首先:献上概率图模型中D-Sepetrtion的定义: 对于DAG图E,如果A.B.C是三个集合(可以是单独的节点或者是节点的集合),为了判断A和B是否是C条件独立的,我们考虑E中所有A和B之间的无向 ...
- 西瓜书+实战+吴恩达机器学习(二二)概率图模型之马尔可夫随机场
文章目录 0. 前言 1. 马尔可夫随机场结构 2. 近似推断 2.1. Metropolis-Hastings 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 ...
- 西瓜书+实战+吴恩达机器学习(二一)概率图模型之贝叶斯网络
文章目录 0. 前言 1. 贝叶斯网络结构 2. 近似推断 2.1. 吉布斯采样 3. 隐马尔可夫模型HMM 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 概率 ...
- [机器学习]概率图模型
本文档记录了<机器学习>第 14 章概率图模型相关内容 概率图模型 模型 有向图/无向图 判别式/生成式 逻辑回归 无向图 判别式 朴素贝叶斯 有向图 生成式 HMM 有向图 生成式 马尔 ...
- 机器学习基础(七):概率图模型(HMM、MRF、CRF、话题模型、推断方法)
7.概率图模型 概率模型probabilistic model:提供一种描述框架,将学习任务归结于计算变量的概率分布,核心是如何基于可观测变量推测出未知变量的条件分布 → ①生成式generative ...
- 机器学习(周志华) 第十四章概率图模型
关于周志华老师的<机器学习>这本书的学习笔记 记录学习过程 本博客记录Chapter14 文章目录 1 隐马尔可夫模型 2 马尔可夫随机场 3 条件随机场 4 学习与推断 5 近似推断 6 ...
- 概率图模型(模型表示)
1.概率图模型是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型 2.贝叶斯网络是联合概率分布可分解为每个随机变量的局部条件概率的乘积形式的有向图模型 3.贝叶斯网络独立性体现在三种形式:h ...
- 浅谈概率图模型(二):无向图模型
文章目录 1.引入无向图 1.1有向图的困境 1.2有向图和无向图得粗略对比 2. 无向图的一些条件独立性质 2.1 全局马尔可夫性质(关键性质) 2.2 无向图的局部马尔科夫性质 2.3 成对马尔科 ...
最新文章
- datagridview显示每次点击都会往后追加_R410A空调安装(或系统维修后)排空及追加制冷剂操作工艺...
- C++ 类里面,函数占用存储空间问题
- mysql倍增表的内容_MySQL入门(7)——表数据的增、删、改
- Lombok介绍、附比较好用的几种注释推荐
- linux block设备,Linux I/O Block--块设备的表示
- ubuntu下ZED相机开发环境安装
- LED 将为我闪烁: 控帘 j发光二级管
- matlab 二元函数的画法
- 多线程中的静态代理模式
- Liunx 常用命令
- LeetCode:每日一题(2020.4.13)
- 机器人主流编程语言盘点 及优缺点分析
- java观察者模式_Java设计模式,观察者模式
- (转置矩阵)将一个3x3、4x4矩阵转置后输出
- 在浏览器输入地址回车后,发生了什么!
- Windows下Python的安装
- python 配置 mitmproxy 证书
- spring data jpa 执行sql
- 局域网中别人不能访问我的电脑
- MMORPG经济系统设计经验
热门文章
- Springboot项目 web 添加 favicon.ico图标
- 在阿里云服务器上搭建MQTT服务
- 追根溯源 | 带你了解现代机械设计团队的机械设计协作方式
- 一分钟一个Pandas小技巧(一)
- C#原子操作(Interlocked.Decrement和Interlocked.Increment)
- Linux网络配置后无法正常上网
- SuperMap iDesktop 操作入门(一)创建文件型工作空间
- 移动调试工具weinre安装和使用
- [海思]--Hi3516a--GPIO(用户层)
- dimission letter exmaple