PGM学习之六 从有向无环图(DAG)到贝叶斯网络(Bayesian Networks)

本文的目的是记录一些在学习贝叶斯网络(Bayesian
Networks)过程中遇到的基本问题。主要包括有向无环图(DAG),I-Maps,分解(Factorization),有向分割(d-Separation),最小I-Maps(Minimal
I-Maps)等。主要参考Nir Friedman的相关PPT。

1  概率分布(Probability
Distributions)

令X1,...,Xn表示随机变量;令P是X1,...,Xn的联合分布(joint
distribution)。如果每个变量均可有两种取值(0-1分布),那么最终我们将得到2^n种取值,也就是说,我们需要用2^n个变量来描述P的分布。

2 随机变量的独立性

如果随机变量X和Y相互独立(independent),那么:

1)P(X=x|Y=y)=p(X=x),对于所有的x和y均成立;2)也就是说,随机变量Y的取值(或者说随机事件Y是否发生),不影响X。

3)P(X,Y)=P(X|Y)*P(Y)=P(X)*P(Y);

推广,如果X1,。。。,Xn独立,那么:

P(X1,,,,,Xn)=P(X1)...P(Xn),共需O(n)个参数。

3 条件独立(Conditional
Independence)

上述独立的情况比较理想,不幸的是,现实中大多数我们感兴趣的随机变量都不是相互独立的。更加常见的假设是条件独立。两个随机变量X和Y对于给定条件Z条件独立,如果:

P(X=x|Y=y,Z=z) =
P(X=x|Z=z),对于所有随机变量取值x,y,z均成立。

也就是说,当我们知道Z的取值时,Y的取值不影响X的预测。记为Ind(X;Y|Z)

4 马尔科夫假设(Markov
Assumption)

马尔科夫假设是针对有向无环图做的更清晰的独立性假设。对于图G中的任意一个节点X,X代表一个随机变量,在给定X的父节点集Par(X)的情况下,X和X的所有非子节点相互独立。一般记作Ind(X;NonDesc(x)|Par(x))。这也称作变量的局部马尔科夫性。实例见下图:

5 I-Maps

一个有向无环图G是分布P的一个I-Map当对G的所有马尔科夫假设也适合于对P(假设G和P均具有相同的随机变量)。这是从有向无环图到概率公式推理的基础。

6 分解 Factorization

如果G是P的一个I-Map,那么我们能简化P的表示么?

例如,对于随机变量X和Y,如果Ind(X;Y),我们可以知道:P(X|Y)=P(X)。

根据链式法则(Chain
Rules),我们知道:P(X,Y)=P(X|Y)*P(Y)=P(X)*P(Y)。

这样,我们就将P(X,Y)简化成为P(X)*P(Y)的形式。

7 分解定理

如果G是P的一个I-Map,那么:

8 最小I-Map, Minimal I-Map

一个有向无环图G是P的一个最小I-Map当:G是P的一个I-Map;如果G‘是G的子图,那么G’不是P的I-Map。

9 d-separated 有向分割

d-separated这个概念是由Judea Pearl于1988年提出的算法的名字。这个算法是用来衡量图中的所有的条件独立关系。

令X, Y和Z是一个有向无环图 G中二个不相 交节点的子集,如果在集合X和Y中所有节点间的所有路径都被集合Z所 阻塞,则称集合X和Y被Z集合d-s eparation。

也称Z 为X和Y的切割集。否则,称在给定集合Z下集合X和Y依赖。

那么,什么时候称点集X和Y中所有节点间的路径被点集Z阻塞呢?如下图所示:

1.每条从A中的变量(顶点)到B中变量(顶点)的路径都经过集合Z,则称Z分开了点集A和B;

2.Z阻塞了从A到B的所有路径。

10 信息理论

增加这个定义的原因是因为评价概率模型时常常要用到,作为笔记留作查阅。

11.扩展阅读

图模型的介绍


An introduction to graphical models,Kevin P. Murphy

关于图模型的课程:课件以书的形式给出,易读

Statistical Learning Theory,berkeley CS281A

http://www.cs.berkeley.edu/~jordan/courses/281A-fall02/

更多的tutorials

http://www.cs.ubc.ca/~murphyk/

http://research.microsoft.com/~cmbishop/talks.htm

http://research.microsoft.com/~heckerman/

http://www.autonlab.org/tutorials/

http://www.cs.berkeley.edu/~jordan/tutorials.html

一些工具/源代码

Intel Probabilistic Network Library:C++

www.intel.com/technology/computing/pnl/index.htm

Jie Cheng :KDDCup01的优胜者

http://www.cs.ualberta.ca/~jcheng/

Matlab工具:http://prdownloads.sourceforge.net/bnt/

PGM学习之六 从有向无环图(DAG)到贝叶斯网络(Bayesian Networks),码迷,mamicode.com

时间: 2024-08-08 08:47:39

PGM学习之六 从有向无环图(DAG)到贝叶斯网络(Bayesian Networks)的相关文章

有向无环图(DAG)拓扑排序的两种方法

如下图的DAG: 第一种: (1)从AOV网中选择一个没有前驱的顶点并且输出它: (2)从AOV网中删除该顶点,并且上去所有该顶点为尾的弧: (3)重复上述两步,直到全部顶点都被输出,或者AOV网中不存在没有前驱的顶点. 第二种: 使用深度优先搜索(DFS),并标记每一个节点的第一次访问(pre)和最后一次访问时间(post),最后post的逆序就是DAG的拓扑排序,其实也是节点在进行DFS搜索时,出栈的逆序就是拓扑排序. 拓扑序列的结果有: (1) c++,高等数学,离散数学,数据结构,概率论

PGM:贝叶斯网络与朴素贝叶斯网络

http://blog.csdn.net/pipisorry/article/details/51471222 贝叶斯与频率派思想 频率派思想 长久以来,人们对一件事情发生或不发生,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大.而且事情发生或不发生的概率虽然未知,但最起码是一个确定的值. 比如如果问那时的人们一个问题:"有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概率是多少?"他们会立马告诉你,取出白球的概率就是

PGM学习之五 贝叶斯网络

本文的主题是"贝叶斯网络"(Bayesian Network) 贝叶斯网络是一个典型的图模型,它对感兴趣变量(variables of interest)及变量之间的关系(relationships)进行建模.当将贝叶斯模型与统计技术一起使用时,这种图模型分析数据具有如下几个优势: (1)    贝叶斯学习能够方便的处理不完全数据.例如考虑具有相关关系的多个输入变量的分类或回归问题,对标准的监督学习算法而言,变量间的相关性并不是它们处理的关键因素,当这些变量中有某个缺值时,它们的预测结

【拓扑】【宽搜】CSU 1084 有向无环图 (2016湖南省第十二届大学生计算机程序设计竞赛)

题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1804 题目大意: 一个有向无环图(DAG),有N个点M条有向边(N,M<=105),每个点有两个值ai,bi(ai,bi<=109),count(i,j)表示从i走到j的方案数. 求mod 109+7的值. 题目思路: [拓扑][宽搜] 首先将式子拆开,每个点I走到点J的d[j]一次就加上一次ai,这样一个点被i走到的几次就加上几次ai,相当于count(i,j)*ai,最终只要求

图的邻接表表示与无环图的拓扑排序

一.  图的最常用的表示方法是邻接矩阵和邻接表. 1,邻接矩阵 邻接矩阵其实就是一个二维数组,对于每条边<u,v>,我们就令A[u][v] = 1,如果图为有权图,我们也可以令A[u][v]等于该权,这么表示的优点是非常简单,但是它的空间需求很大,如果图是稠密的,邻接矩阵是合适的表示方法,如果图是稀疏的,那这种方法就太浪费空间了,下面给出图的邻接矩阵表示例子. 2 邻接表 邻接表是图的常用储存结构之一.邻接表由表头结点和表结点两部分组成,其中图中每个顶点均对应一个存储在数组中的表头结点.如下图

[从今天开始修炼数据结构]无环图的应用 —— 拓扑排序和关键路径算法

上一篇文章我们学习了最短路径的两个算法.它们是有环图的应用.下面我们来谈谈无环图的应用. 一.拓扑排序 博主大学学的是土木工程,在老本行,施工时很关键的节约人力时间成本的一项就是流水施工,钢筋没绑完,浇筑水泥的那帮兄弟就得在那等着,所以安排好流水施工,让工作周期能很好地衔接就很关键.这样的工程活动,抽象成图的话是无环的有向图. 在表示工程的有向图中,用顶点表示活动,弧表示活动之间的优先关系,这样的有向图为顶点表示活动的网,成为AOV网(Active On Vertex Network) ※ 若在

UVA10305 Ordering Tasks(有向无环图排序--toposort) Kahn算法

题目描述:https://vjudge.net/problem/UVA-10305 题目分析: 恨水的题目,只要学了toposort就会做的,大概意思是给你n个变量,m个不等关系表示a<b,问n个数可能的关系;不如举个例子例如n=3表示3个变量我们假如他们是a,b,c现在有两个关系a<b,a<c 那么输出有两种a<b<c或者a<c<b(题目要求输出任意一种); 题目大概就这个意思,那么我们怎么做呢,我们想一想如果把变量看成点,关系看成有向边,那么就得到一个图,这个

HDU 3249 Test for job (有向无环图上的最长路,DP)

 解题思路: 求有向无环图上的最长路,简单的动态规划 #include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> #include <algorithm> #include <vector> #include <cmath> #define LL long long using namespace std; const int

48. 蛤蟆的数据结构笔记之四十八的有向无环图的应用关键路径

48. 蛤蟆的数据结构笔记之四十八的有向无环图的应用关键路径 本篇名言:"富贵不淫贫贱乐 ,男儿到此是豪雄.-- 程颢" 这次来看下有向无环图的另一个应用关键路径. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/47135061 1.  关键路径 与AOV-网相对应的是AOE-网(Activity On Edge)即边表示活动的网.AOE-网是一个带权的有向无环图,其中,顶点表示事件(Event),弧表示活动,权表