之前在概率图模型对概率图模型做了简要的介绍。此处介绍有向图模型中几个常常提到的概念,之前参考的多为英文资料,本文参考的是《概率图模型-原理与技术的》中译版本。很新的书,纸质很好,翻译没有很差。

1. 贝叶斯网络-不同视角

概率图模型,究其目的,在于描述多个(单个就没有意义了)变量概率分布之间的关系。有向图模型的描述方法是有指向性的,如果两变量之间有因果关系,这种描述方法就极为恰当。从这个角度上来说,考虑概率之间因子分解的过程,有向图模型是这一过程的一种表现方式。

而最初的考虑,即“变量概率分布之间的关系”,我们可以认为,有向图模型是条件独立性集合的表示。从简单的例子可以看出这一点,譬如有向图模型意味着。这是很好理解的,因为通过影响,如果作为已知条件,那么如何影响呢?可以通过因子分解过程验证这一过程

这也恰恰表明了,这两种不同的贝叶斯网络看待方式是等价的,对于这一点,书中总结为(“它”指贝叶斯网络)

  • 它是提供了以因子分解的方式紧凑表示联合分布骨架的数据结构;
  • 它是关于一个分布的一系列条件独立性假设的紧凑表示。

2. 独立性断言和I-map

记贝叶斯网络为,概率分布为的一个I-map是指中表现出的独立性的集合是中表现出的独立性的集合的子集。采用数学语言描述,给出以下定义。

是定义在上的形如的独立性断言的集合。令是独立性集合构成的贝叶斯网络,如果,那么的一个I-map。

根据定义,如果,那么是任意一个分布的I-map。当然这里描述的对象要是一样的。从这个角度考虑,如果贝叶斯网络的没两个节点之间有边连接,那么它是所有的I-map。显然,分布的I-map有多个,共同特点是图的限制比分布的少(子集关系),也就意味着这些图都可以表示这一分布。

注意:这里仅仅只定义了针对分布,上文中的也是一个分布,而不是图。

3. d-分离(D-separation)

上节给出了对应分布的独立性断言集合,同时我们还希望能够得到对应给定的图的独立性断言集合。首先仔细考虑图中节点之间的结构

  • :已知的情况下之间独立。
  • : 同上
  • :同上
  • :没有观测到及其后代下之间独立。(v-结构)

如果我们希望了解图上表示的条件独立特性,根据上述的四点,可以得出图上任意两节点之间的条件独立关系。对于上述的前三种情况,如果未知,那么就认为之间存在路径;对于第四种情况,如果或其后代已知,认为之间存在路径。对于任意两个节点,在给定已知节点集合后,如果存在相互影响的路径,记为存在有效的迹。了解了上面几点之后,给出以下定义。

如果是图中的三个节点集合,在给定下,如果任取中不存在有效的迹,那么记

以上就是d-分离的定义,同时记d-分离的集合为

这个集合也被称为全局马尔可夫独立性集。

4. 可靠性和完备性

上节定义的全局马尔可夫独立性集和分布的独立性集合的表现形式并没有区别。但是在最初的定义中就表现了中所有独立性断言的集合,这个所有意味着中不存在不属于(完备性),而中的每一独立性断言在中都是成立的(可靠性)。贝叶斯网络往往对应着分布,也希望从贝叶斯网络中观测出的d-分离特性有相同的特点,但是全局马尔可夫独立性集合的定义中并不能直接看出这两点,本节将探讨这一问题。

可靠性

据说后面(书4.5.1节)会有证明,但我还没看到那里。

完备性

我们自然希望d-分离可以检测出所有的独立性。可简单的理解为分布P中的任何独立性都体现在了图的d-分离性质中,但这是不成立的。分布可以表现出结构中没有显示的独立性。比如说网络的分布依旧可以为(对于这一点我还是不太明白,这难道不应该是I-map中所谓的可以有多个吗?)

  a0 a1
b0 0.4 0.6
b1 0.4 0.6

所以最后给出的完备性定义比较弱,即 对于几乎所有的G上的因子分集的P(除去参数化条件概率空间中测度为0的分布),我们有I(P)=I(G)。

5. 最小I-map和P-map

    最小I-map

前面讨论了那么多分布和图的相关知识,如果说将分布采用合适的图结构表现,那么很多独立性结构就一目了然了。从I-map来考虑,显然一个完全图的独立性断言是空集,是任何分布的I-map,但是这毫无意义。我们只关注能够体现分布的独立性关系的具有最少边的图,这就是最小I-map。

    注意:似乎只要G是分布P的一个最小I-map,那么就能够从G中读出P的所有独立性,但这种认识是错误的。(不同的构建顺序会产生截然不同的结果)

    P-map

考虑到这一问题,我们的下一个目标变成了找到可以准确刻画P中的所有独立性的图G。定义P-map:对于独立性集I,如果I(k)=I,称图k是I的一个P-map,如果I(k)=I(P),那么成k是P的一个p-map。(条件强于I-map)

我们希望找到分布的P-map,但不幸的是不是所有分布都有P-map。

7. 其他

书中给出了d-分离的算法等,但这些内容我都没有看。书中的贝叶斯网表示这一节中有一个专栏,讨论了诸如变量选择、是否该引入隐变量,结构选择、概率选择等问题。其中那个提到了我们不应该赋值0概率,以及敏感性分析。我想这些都是在实际问题中需要考虑的,但对于这些我都还没有过实践。

或许,阅读、学习只是寻找一点寄托,不然自己整天无所事事闲的发慌吧;这总归是不会失败不会失去太多的生活方式。而实践往往就难很多,需要有机遇、有决心,要付出很大的努力,可能还要面临失败的结果。

[PGM] I-map和D-separation的更多相关文章

  1. 概率图模型PGM——D map, I map, perfect map

    若F分布的每个条件独立性质都反映在A图中,则A图被称为F分布的D map. 若A图表现出的所有条件独立性质都在F分布中满足(与F分布不矛盾),则A图被称为F分布的I map. 弱A图既是F分布的D m ...

  2. map_server地图服务器

    http://wiki.ros.org/map_server 概述 map_server提供map_server ROS节点,它提供地图数据作为一个ROS服务器.也提供map_saver命令行功能,能 ...

  3. ROS Navigation中的map_server地图包功能和使用

    博客参考 http://wiki.ros.org/map_server 和 https://www.ncnynl.com/archives/201708/1897.html 1. 安装map_serv ...

  4. TurtleBot3 Waffle (tx2版华夫)(12)建图-hector建图

    1)[Remote PC] 启动roscore $ roscore 2)[TurBot3] 启动turbot3 $ roslaunch turbot3_bringup minimal.launch 3 ...

  5. TurtleBot3 Waffle (tx2版华夫)(11)建图-karto建图

    1)[Remote PC] 启动roscore $ roscore 2)[TurBot3] 启动turbot3 $ roslaunch turbot3_bringup minimal.launch 3 ...

  6. TurtleBot3 Waffle (tx2版华夫)(9)建图-gmapping建图(A2雷达)

    9.1. 说明 这一节我们来讲 Turtlebot3 的 SLAMSLAM(The Simultaneous Localization and Mapping) 同步定位与地图构建: 希望机器人从未知 ...

  7. 机器学习&数据挖掘笔记_20(PGM练习四:图模型的精确推理)

    前言: 这次实验完成的是图模型的精确推理.exact inference分为2种,求边缘概率和求MAP,分别对应sum-product和max-sum算法.这次实验涉及到的知识点很多,不仅需要熟悉图模 ...

  8. 机器学习&数据挖掘笔记_23(PGM练习七:CRF中参数的学习)

    前言: 本次实验主要任务是学习CRF模型的参数,实验例子和PGM练习3中的一样,用CRF模型来预测多张图片所组成的单词,我们知道在graph model的推理中,使用较多的是factor,而在grap ...

  9. [引]ASP.NET MVC 4 Content Map

    本文转自:http://msdn.microsoft.com/en-us/library/gg416514(v=vs.108).aspx The Model-View-Controller (MVC) ...

  10. PGM:贝叶斯网的参数估计

    http://blog.csdn.net/pipisorry/article/details/52578631 本文讨论(完备数据的)贝叶斯网的参数估计问题:贝叶斯网的MLE最大似然估计和贝叶斯估计. ...

随机推荐

  1. ORACLE数据库异步IO介绍

    异步IO概念 Linux 异步 I/O (AIO)是 Linux 内核中提供的一个增强的功能.它是Linux 2.6 版本内核的一个标准特性,当然我们在2.4 版本内核的补丁中也可以找到它.AIO 背 ...

  2. apache配置文件参数优化

    1.CentOS5.8 x86_64位 采用最小化安装,系统经过了基本优化篇2.apache版本:httpd-2.2.293.源码包存放位置:/home/oldboy/tools4.源码包编译安装位置 ...

  3. apache https配置

    1.  确认是否安装ssl模块 是否有mod_ssl.so文件 2.  生成证书和密钥 linux下 步骤1:生成密钥 命令:openssl genrsa 1024 > server.key 说 ...

  4. JSP在动态网页上输出 三角形和菱形

    三角形输出: <% StringBuffer sb1 = new StringBuffer(); ; i <= ; i++){ ; j <= i; j++){ sb1.append( ...

  5. linux关于文件的那些事儿

    一个文件的权限对于系统的安全来说是很重要的,linux是一个支持多任务多用户的系统,我们都不希望一些自己的文件被别人看到或者修改! 对于一个文件的权限我们可以用 ls -l 命令来查看,例如: [ro ...

  6. redis安装及基础操作(1)

    ============================================================= 编译安装 0.环境 Linux:centos6.5 redis:3.0.5 ...

  7. Linux rpmbuild命令

    一.简介 rpmbuild命令用于创建软件的二进制包和源代码包. 二.选项 参考:http://blog.sina.com.cn/s/blog_4ba5b45e0102e5r2.html http:/ ...

  8. Ubuntu14.02.2下安装JDK并配置Jetty服务器

    首先第一步先取得JDK的安装文件,由于我的系统是64位的,所以安装包是jdk-7u80-linux-x64.gz 上传到unbuntu服务器下 执行tar -xvf jdk-7u80-linux-x6 ...

  9. KVM 介绍(3):I/O 全虚拟化和准虚拟化 [KVM I/O QEMU Full-Virtualizaiton Para-virtualization]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  10. Stanford机器学习笔记-6. 学习模型的评估和选择

    6. 学习模型的评估与选择 Content 6. 学习模型的评估与选择 6.1 如何调试学习算法 6.2 评估假设函数(Evaluating a hypothesis) 6.3 模型选择与训练/验证/ ...