转自:http://blog.csdn.net/xianlingmao/article/details/5774435

图模型(graphical model)是一类用图来表示概率分布的一类技术的总称。

它的主要优点是把概率分布中的条件独立用图的形式表达出来,从而可以把一个概率分布(特定的,和应用相关的)表示为很多因子的乘积,从而简化在边缘化一个概率分布的计算,这里的边缘化指的是给定n个变量的概率分布,求取其中m个变量的概率分布的计算(m<n)。

图模型主要有两大类,一类是贝叶斯网络(又称有向图模型);另外一类是马尔可夫网络(又称无向图模型)。

谈到一个图模型,主要有三个主要的关注点:

1)图模型的表示(representation); 指的是一个图模型应该是什么样子的

2)图模型的推断(inference); 指的是已知图模型的情况下,怎么去计算一个查询的概率,例如已经一些观察节点,去求其它未知节点的概率

3)图模型的学习(learning); 这里又分为两类,一类是图的结构学习;一类是图的参数学习。

在本文,我们主要关注图模型的表示,在以后的文章中,我们会论述图模型的其它方面。

一. 有向图模型的表示

顾名思义,有向图模型的结构表示是有向图的形式;通过一个有向图来表示一个概率分布,从而可以利用这个有向图模型来进行推断。

对于有向图模型,一个关键就是怎么通过一个有向图来表示一个概率分布呢?

对于一个概率分布p(x1,x2,...,xn),通过概率论中的链式法则,我们可以把它写成因子的形式

p(x1,x2,...,xn) = p(x1)p(x2|x1)P(x3|x1,x2)....p(xn|x1,x2....x_(n-1))

这是一个概率分布的一般形式,具体到一个特定的概率分布的时候,其中会有很多的随机变量是独立的或者条件独立的,从而可以

把上述式子进一步简化,例如x3, x1在给定x2的条件下是独立的,那么p(x3|x1,x2) = p(x3|x2)。在简化后的条件概率分布中,对于每个因子,我们这样来建立一个有向图,每个随机变量对应一个图的节点,然后对于每个因子,从它的条件部 分的每个随机变量节点连一条边指向非条件变量节点,在完成所有的因子之后,就可以形成一个有向图模型。这样讲可能太抽象,下面我以一个具体例子来论述它的 原理

假设有这样一个概率分布p(x1,x2,x3) = p(x1)p(x2|x1)p(x3|x1)

那么它的有向图模型可以表示为

反之,给定一个有向图,我们可以从图直接写出这个图表示的概率分布,大家可以试着从上述图来写出它的概率分布。

形式化地,一个有向图模型表示的概率分布可以写为:P(X)= IIp(Xi|Pa(Xi)),其中X表示随机变量的向量,II表示乘积,Pa(Xi)表示Xi的父亲节点。

从上述描述可知, 要完整表示一个概率分布,一方面我们需要知道它的拓扑结构,即它的图形结构;

另外一方面,我们还需要知道概率分布的各个因子的分布情况,即上述公式中的P(Xi|Pa(Xi))需要知道。

可以用另外一个图来表示一个完整的有向图模型的形式大概是什么样子

在上述图中的每个节点,都有一个条件概率分布表(CPT),这是有向图模型的参数,即P(Xi|Pa(Xi))。

二. 无向图模型的表示

无向图模型和有向图模型类似,都是为了表示一个概率分布,同时需要把变量之间的条件独立编码在图表示中,从而使得概率分布的表示可以被表示为因子乘积的形式,不同的是无向图模型是建立在无向图基础上,而有向图模型是建立在有向图基础之上。

我们先看一个例子:

上图是一个无向图模型的完整的表示,左侧是它的拓扑结构,右侧是它的参数。

无向图模型是以最大团和定义在团上的势能函数(potential function)为核心,具体来说,在这个例子中,它有四个团,AC , AB, BD ,CD。那么我们需要在四个团上定义相应的势能函数,如右侧所示,必须注意势能函数必须为正。

最终这个无向图模型表示的概率分布是:P(A,B,C,D)= (1/Z)*/phi(A,C)*/phi(A,B)*/phi(C,D)*/phi(B,D)

其中,Z是归一化因子,因为势能函数并没有归一化,而要概率是[0,1],所以需要归一化;/phi 是表示相应的势能函数(这里因为不能表示数学符号,故而用了latex中的符号表示)。

所以一个无向图模型表示的概率分布形式化地可以表示为:

P(X)=(1/Z)*II_{i=1}^{n}/phi(Ci(x)),其中Ci表示的第i个团(都是利用了latex中符号表示数学公式。

三.小结

不管是有向图模型还是无向图模型,我们都需要关注它的两个方面,一方面是确定它的结构;一方面是确定它的参数,对于有向图模型,需要去确定它的条件概率表,对于无向图模型,需要确定每个团的势能函数。

【ML】【GM】【转】图模型(graphical model, GM)的表示相关推荐

  1. 图模型(graphical model, GM)的表示

    http://blog.csdn.net/xianlingmao/article/details/5774435 图模型(graphical model)是一类用图来表示概率分布的一类技术的总称. 它 ...

  2. 灰色关联以及灰色预测GM(1,n),GM(1,1)模型(Python实现)

    **灰色关联以及灰色预测GM(1,n),GM(1,1)模型** 简介:本篇文章简单的介绍灰色关联以及灰色预测模型,使用python代码进行实现. 1. 灰色系统的概论 2. 关于灰色关联度那些事 3. ...

  3. 灰色系统理论及其应用 (九) : GM(1, N) 和GM(0, N) 模型

    灰色系统理论及其应用系列博文: 灰色系统理论及其应用 (一) :灰色系统概论.关联分析.与传统统计方法的比较 灰色系统理论及其应用 (二) :优势分析 灰色系统理论及其应用 (三) :生成数 灰色系统 ...

  4. [负荷预测]基于灰色GM(1,1)模型的中长期电力负荷预测

    目  录 一.灰色模型GM(1,1)原理 二.模型构建前检验 三.预测精度的检验 3.1 残差检验 3.2 后验差检验 四.灰色模型GM(1,1)算法 五.Matlab编程实现 5.1 程序代码 5. ...

  5. 灰色预测GM(1,1)模型

    目录 简介 数学模型 分析步骤 对数据进行准指数规律检验 对预测效果进行评价 GM(1,1)模型拓展 MATLAB源码 简介 在这里,灰色的意思是系统的信息只有一部分,不完整,与之类似概念还有白色和黑 ...

  6. 深入理解机器学习——概率图模型(Probabilistic Graphical Model):条件随机场(Conditional Random Field,CRF)

    分类目录:<深入理解机器学习>总目录 条件随机场(Conditional Random Field,CRF)是一种判别式无向图模型,在<概率图模型(Probabilistic Gra ...

  7. 灰色预测GM(1,n)模型_python

    灰色系统理论及其应用系列博文: 一.灰色关联度分析法(GRA)_python 二.灰色预测模型GM(1,1) 三.灰色预测模型GM(1,n) 四.灰色预测算法改进1-背景值Z 五.灰色预测改进2-三角 ...

  8. python灰色预测_灰色系统预测GM(1,1)模型

    预备知识 (1)灰色系统 白色系统是指系统内部特征是完全已知的:黑色系统是指系统内部信息完全未知的:而灰色系统是介于白色系统和黑色系统之间的一种系统,灰色系统其内部一部分信息已知,另一部分信息未知或不 ...

  9. 灰色预测模型【GM(1,1)模型】 【matlab代码】

    灰色系统介绍 灰色系统是由华中科技大学的邓聚龙教授于80年代初创立,该系统作为新兴的横断学科,在短短的二十年里已得到了长足的发展. 其已经成为社会,经济,科教,科技等很多领域进行预测,决策,评估,规划 ...

最新文章

  1. Pycharm去掉项目所有 # 注释
  2. LeetCode: 108. Convert Sorted Array to Binary Search Tree
  3. FZU 2159 WuYou
  4. golang(5):编写WebSocket服务,client和html5调用
  5. http://blog.csdn.net/myan/article/details/1906
  6. 2021 ISC会上山石网科重磅发布智能下一代防火墙A系列,重新定义边界安全防御
  7. 99%的人都能看懂的分布式系统「补偿」机制
  8. ASP.NET自定义服务器控件
  9. java 标记_java – 标记注释与标记接口
  10. c语言使用位运算符包含头文件,C语言的运算符
  11. 软件开发工作过程中的一些总结
  12. 系统故障模拟及修复实验
  13. bundle adjustment原理(1)
  14. Java循环练习: 有1、2、3、4四个数字,能组成多少个无重复数字的三位数?都是多少?...
  15. cs231n assignment1 SVM详解
  16. 利用screen命令将程序挂在linux后台
  17. python 重定向 ctf_CTF web题型解题技巧 第四课 web总结
  18. 【题解】POJ 3069 Saruman's Army(贪心)
  19. java中常用前后端交互框架,整合Spring-SpringMVC-MyBatis实现简单前后端交互
  20. MyBatis-架构概述,什么是框架,三层架构,JDBC

热门文章

  1. Android Studio查看代码行数和删除注释空行等
  2. 《智能网联汽车技术路线图 2.0》重磅发布
  3. 这是我看过,最好懂的神经网络
  4. 未来今日研究所:2019技术趋势报告
  5. 中科院陆汝钤获吴文俊人工智能最高成就奖,百度王海峰获吴文俊人工智能杰出贡献奖...
  6. AI+医疗:基于模型的医疗应用大规模分析 | 腾讯AI Lab学术论坛演讲
  7. Nature:科学家成功解读大脑构建的分子机制
  8. 靠云计算翻身的微软正在“挑衅”亚马逊AWS
  9. 智能语音简史:这场技术革命从哪开始?
  10. 陪伴程序员的一条龙、一骑士 36 岁了!