文档章节

概率图模型(GM)

o
 osc_yns1cu2w
发布于 2019/04/18 15:15
字数 2756
阅读 16
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

概率图模型

概率图模型Probabilistic Graphical ModelPGM),简称图模型Graphical Model, GM),是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型,

从而给研究高维空间中的概率模型带来了很大的便捷性。 

高维随机变量的联合概率为高维空间中的分布,一般难以直接建模。在不做任何独立性假设的条件下,模型的参数将随维度的增长呈指数级增长。

 

一种有效减少参数量的方法是独立性假设。如果某些变量之间存在条件独立性,其参数数量就可以大幅减少。因此,如何描述多元随机变量之间的条件独立关系成为高维空间概率模型构建的关键。

当概率模型中的变量数量比较多时,其条件依赖关系也比较复杂。我们可以使用图结构的方式将概率模型可视化,以一种直观、简单的方式描述随机变量之间的条件独立性的性质,

并可以将一个复杂的联合概率模型分解为一些简单条件概率模型的组合。 

图中给出了4个变量之间的条件独立性的图形化描述。图中每个节点表示一个变量,每条连边变量之间的依赖关系。对于一个非全连接的图,都存在一个或多个条件独立性假设,可以根据条件独立性将联合概率分布进行分解,表示为一组局部条件概率分布的乘积。联合概率分布可表示为:

图模型的基本问题

图模型有三个基本问题: 

  • 1. 表示问题:对于一个概率模型,如何通过图结构来描述变量之间的依赖关系。
  • 2. 推断问题:在已知部分变量时,计算其它变量的后验概率分布。
  • 3. 学习问题:图模型的学习包括图结构的学习和参数的学习。

 表示问题

如何通过图结构来描述变量之间的依赖关系?

图由一组节点和节点之间的组成。在概率图模型中,每个节点都表示一随机变量(或一组随机变量), 表示这些随机变量之间的概率依赖关系。 

常见的概率图模型可以分为两类:

  • 有向图模型
  • 无向图模型

有向图模型的图结构为有向非循环图,如果两个节点之间有连边,表示对于的两个变量为因果关系

无向图模型使用无向图来描述变量之间的关系。每条边代表两个变量之间有概率依赖关系,但是并不一定是因果关系。

 

带阴影的节点表示可观测到的变量,不带阴影的节点表示隐变量,连边表示两变量间的条件依赖关系 。

有向图模型

有向图模型Directed Graphical model),也称为贝叶斯网络BayesianNetwork),或信念网络Belief NetworkBN),是指用有向图来表示概率分布的图模型。 

 条件独立性:在贝叶斯网络中,如果两个节点是直接连接的,它们肯定是非条件独立的,是直接因果关系。父节点是“因”,子节点是“果”。 

 如果两个节点不是直接连接的,但是它们之间有一条经过其它节点的路径来连接,那么这两个节点之间的条件独立性就比较复杂。 

  • 间接因果
  • 间接果因
  • 共因关系
  • 共果关系

 

常见的有向图模型 :

  • sigmoid 信念网络

 

  • 朴素贝叶斯分类器

  • 隐马尔可夫模型

无向图模型 

无向图模型,也称为马尔可夫随机场Markov Random FieldMRF)或马尔可夫网络Markov Network),是一类用无向图来描述一组具有局部马尔可夫性质的随机向量 X的联合概率分布的模型。

无向图模型中的团和最大团

常见的无向图模型 :

  • 对数线性模型(最大熵模型
  • 条件随机场

 有向图和无向图之间的转换 

无向图模型可以表示有向图模型无法表示的一些依赖关系,比如循环依赖;

但它不能表示有向图模型能够表示的某些关系,比如因果关系。

具有共果关系的有向图的道德化示例

 推断问题

推断问题:在已知部分变量时,计算其它变量的后验概率分布。

在图模型中, 推断inference)是指在观测到部分变量e = {e1, e2, · · · , em}时,计算其它变量的某个子集 q = {q1, q2, · · · , qn}的后验概率 p(q|e)。 

因此,图模型的推断问题可以转换为求任意一个变量子集的边际概率分布问题。 

在图模型中,常用的推断方法可以分为:

  • 精确推断
  • 近似推断 

精确推断

变量消除法

信念传播算法 

近似推断 

 在实际应用中,精确推断一般用于结构比较简单的推断问题。当图模型的结构比较复杂时,精确推断的计算开销会比较大。此外,如果图模型中的变量是连续的,并且其积分函数没有闭型closed-form)解时,也无法使用精确推断。因此,在很多情况下也常常采用近似的方法来进行推断。

近似推断Approximate Inference)主要有以下三种方法:

 1. 环路信念传播 

当图模型中存在环路时,使用和积算法时,消息会在环路中一直传递,可能收敛或不收敛。 环路信念传播Loopy Belief PropagationLBP)是在具有环路的图上依然使用和积算法,即使得到不精确解,在某些任务上也可以近似精确解。

2. 变分法 

图模型中有些变量的局部条件分布可能非常复杂,或其积分无法计算。 变分法Variational Method)是引入一个变分分布(通常是比较简单的分布)来近似这些条件概率,然后通过迭代的方法进行计算。首先是更新变分分布的参数来最小化变分分布真实分布的差异(比如交叉熵或 KL距离),然后再根据变分分布来进行推断。 

3. 采样法 

采样法Sampling Method)是通过模拟的方式来采集符合某个分布 p(x)的一些样本,并通过这些样本来估计和这个分布有关的运算,比如期望等。 

采样法Sampling Method),也叫蒙特卡罗方法Monte Carlo Method统计模拟方法 

基于采样法的近似推断

  • 蒙特卡罗方法
  • 拒绝采样
  • 重要性采样
  • 马尔可夫链蒙特卡罗方法(MCMC)
  • Metropolis-Hastings 算法
  • Metropolis 算法
  • 吉布斯采样

学习问题

图模型的学习可以分为两部分:

一是网络结构学习,即寻找最优的网络结构。网络结构学习一般比较困难,一般是由领域专家来构建。

二是网络参数估计,即已知网络结构,估计每个条件概率分布的参数。 

不含隐变量的参数估计 

如果图模型中不包含隐变量,即所有变量都是可观测的,那么网络参数一般可以直接通过最大似然来进行估计。 

 含隐变量的参数估计

 如果图模型中包含隐变量,即有部分变量是不可观测的,就需要用 EM法进行参数估计。 

带隐变量的贝叶斯网络。图中的矩形表示其中的变量重复 N 次。 

EM 算法是含隐变量图模型的常用参数估计方法,通过迭代的方法来最大化边际似然。 EM算法具体分为两个步骤: E步和 M步。这两步不断重复,直到收敛到某个局部最优解。 

EM算法的应用例子:高斯混合模型。

高斯混合模型Gaussian Mixture ModelGMM)是由多个高斯分布组成的模型,其密度函数为多个高斯密度函数的加权组合。 

 

概率图模型提供了一个用图形来描述概率模型的框架,这种可视化方法使我们可以更加容易地理解复杂模型的内在性质。

目前,概率图模型已经是一个非常庞大的研究领域,涉及众多的模型和算法。很多机器学习模型也都可以用概率图模型来描述。

 

图模型与神经网络的关系

1. 图模型和神经网络有着类似的网络结构,但两者也有很大的不同。

图模型的节点是随机变量,其图结构的主要功能是用来描述变量之间的依赖关系,一般是稀疏连接。使用图模型的好处是可以有效进行统计推断。

而神经网络中的节点是神经元,是一个计算节点。如果将神经网络中每个神经元看做是一个二值随机变量,那神经网络就变成一个 sigmoid信念网络。

 

2. 图模型中的每个变量一般有着明确的解释,变量之间依赖关系一般是人工来定义。而神经网络中的单个神经元则没有直观的解释。

 

3. 神经网络是判别模型,直接用来分类。而图模型不但可以是判别模型,也可以是生成模型。生成模型不但可以用来生成样本,也可以通过贝叶斯公式用来做分类

 

4. 图模型的参数学习的目标函数为似然函数或条件似然函数,若包含隐变量则通常通过 EM算法来求解。而神经网络参数学习的目标为交叉熵或平方误差等损失函数。

 

目前,神经网络和概率图模型的结合越来越进行紧密。

一方面我们可以利用神经网络强大的表示能力来建模图模型中的推断问题(比如变分自编码器),生成问题(比如生成对抗网络),或势能函数(比如LSTM+CRF模型 [Lample et al., 2016, Ma and Hovy, 2016]);

另一方面可以利用图模型的算法来解决复杂结构神经网络中的学习和推断问题,比如图结构神经网络(Graph Neural Network) [Gilmer et al., 2017, Li et al., 2015, Scarselli et al., 2009]和结构化注意力 [Kim et al., 2017]。

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
用vertx实现高吞吐量的站点计数器

工具:vertx,redis,mongodb,log4j 源代码地址:https://github.com/jianglibo/visitrank 先看架构图: 如果你不熟悉vertx,请先google一下。我这里将vertx当作一个容器,上面所有的圆圈要...

jianglibo
2014/04/03
4.1K
3
代码生成器--Codgen

Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型这棵树的根节...

黄天政
2013/01/29
1.4W
2
可视化的蛋白质配位图--VPLG

可视化的蛋白质配位图(VPLG)使用一个基于图的模型来描述蛋白质的结构,基于超级二级结构级别。一个蛋白质配位图是计算从原子坐标在PDB文件和二级结构作业的DSSP算法。在这个图,顶点代表二级结...

匿名
2012/10/28
2.2K
0
Hadoop 资源管理器--Apache YARN

Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,前不久被提升为高层次的Hadoop子项目。 YARN最初是为了修复MapReduce实现里的明显...

匿名
2012/12/20
3.5K
0
Unity3D研究院之使用Animation编辑器编辑动画

Unity提供了Animation编辑器,它可以为我们编辑物理动画。举个例子比如场景中有一个来回摇动的秋千,这个秋千在项目中完全只起到衬托作用,它不会与别的游戏对象有任何交互。如果这个秋千也用...

orientalfashion
2013/04/19
1.4W
1

没有更多内容

加载失败,请刷新页面

加载更多

如何在Pandas的DataFrame中的行上进行迭代? - How to iterate over rows in a DataFrame in Pandas?

问题: I have a DataFrame from pandas: 我有一个来自熊猫的DataFrame : import pandas as pdinp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}]df = pd.DataFrame(......

富含淀粉
31分钟前
20
0
与电商节伴生,平台销量榜单背后还有被低估的营销价值

文 | 曾响铃 来源 | 科技向令说(xiangling0815) 时至今日,电商节已经成为各巨头零售平台例行的活动,花样在不断创新,玩法也在不断涌现。 在这个过程中,伴随电商节的各种品牌、产品销量榜...

曾响铃
33分钟前
22
0
volatile关键字详解

前言 提到JAVA的并发编程,就不得不提volatile关键字,不管是在面试还是实际开发中,volatile关键字的使用都是一个应该掌握的技能。它之所以重要,是因为它和JAVA并发编程中会遇到三种重要问...

ls_cherish
59分钟前
10
0
比继承更偏爱组成? - Prefer composition over inheritance?

问题: Why prefer composition over inheritance? 为什么更喜欢使用组合而不是继承? What trade-offs are there for each approach? 每种方法都有哪些取舍? When should you choose inher...

javail
今天
17
0
2020软件测试工程师史上最全面试题(内含答案)-看完BATJ面试官对你竖起大拇指!

以下是软件测试相关的面试题及答案,欢迎大家参考! 我不是至尊宝,也不是孙悟空,我只是那城墙下的一猿。  1、你的测试职业发展是什么?  测试经验越多,测试能力越高。所以我的职业发展是需...

程序员一凡
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部