概率图模型总结

简介

概率图模型(Probabilistic Graphical Model,PGM),简称图模型(Graphical Model,GM),是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型,从而给研究高维空间中的概率模型带来了很大的便捷性。

p ( x ) = P ( X = x ) = p ( x 1 ) p ( x 2 x 1 ) p ( x 3 x 1 , x 2 ) , . . . , p ( x K x 1 , . . . , x K 1 ) p(x)=P(X=x)=p(x_1)p(x_2|x_1)p(x_3|x_1,x_2),...,p(x_K|x_1, ..., x_{K-1})

图模型的基本问题

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

模型表示

常见的概率图模型可以分为两类:有向图模型和无向图模型。

有向图模型

有向图模型也称为贝叶斯网络或者信念网络,表示为 G ( V , E ) G(V, E) ,节点集合 V = { X 1 , X 2 , . . . , X K } V=\{X_1, X_2, ..., X_K\} ,表示K个随机变量,可以使可观察的变量,隐变量或者是未知参数,E为边的集合,每条边表示两个变量之间的因果关系

常见的有向图模型

sigmoid信念网络

sigmoid信念网络中的变量取值为{0, 1},对于变量 X k X_k 和它的父节点集合 π k \pi_k ,其条件概率分布为:
P ( X k = 1 x π k , θ ) = σ ( θ 0 + x i x π k θ i x i ) P(X_k=1|x_{\pi_k}, \theta)=\sigma(\theta_0+\sum_{x_i\in x_{\pi_k}}\theta_ix_i)

其中 σ \sigma 是Logistic sigmoid函数, θ i \theta_i 是可学习的参数。

1555298168530

朴素贝叶斯分类器

朴素贝叶斯分类器(Naive Bayes Classifier,NB)是一类简单的概率分类器,在强(朴素)独立性假设的条件下运用贝叶斯公式来计算每个类别的后验概率。

条件概率分布 p ( y x ) p(y|x) 可以表示为:

p ( y x , θ ) p ( y θ c ) i = 1 d p ( x i y , θ i , y ) p(y|x, \theta)\propto p(y|\theta_c)\prod_{i=1}^dp(x_i|y, \theta_{i, y})

NB

隐马尔可夫模型

隐马尔可夫模型(Hidden Markov Model,HMM)[Baum and Petrie, 1966]是一种含有隐变量的马尔可夫过程。下图给出隐马尔可夫模型的图模型表示。

隐马尔可夫模型的联合规律分布可以分解为:

p ( x , y , θ ) = t = 1 T p ( y t y t 1 , θ s ) p ( x t y t , θ t ) p(x,y,\theta)=\prod_{t=1}^Tp(y_t|y_{t-1},\theta_s)p(x_t|y_t,\theta_t)

无向图模型

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

无向图模型的概率分解

由于无向图模型并不提供一个变量的拓扑顺序,因此无法用链式法则对p(x)进行逐一分解。无向图模型的联合概率一般以全连通子图为单位进行分解。无向图中的一个全连通子图,称为团(Clique),即团内的所有节点之间都连边。在所有团中,如果一个团不能被其它的团包含,这个团就是一个最大团
(Maximal Clique)。 无向图中的的联合概率可以分解为一系列定义在最大团上的非负函数的乘积形式。

局部马尔科夫性:如果(G,X)满足局部马尔可夫性质,即一个变量 X k X_k 在给定它的邻居的情况下独立于所有其它变量:

KaTeX parse error: Expected 'EOF', got '\k' at position 8: p(x_k|x\̲k̲)=p(x_k|x_{N(k)…

Hammersley-Clifford定理:如果一个分布p(x) > 0满足无向图G中的局部马尔可夫性质,当且仅当p(x)可以表示为一系列定义在最大团上的非负函数的乘积形式,即:

p ( x ) = 1 Z c C ϕ c ( x c ) p(x)=\frac{1}{Z}\prod_{c\in C}\phi_c(x_c)​

其中C 为G中的最大团集合, ϕ c ( x c ) 0 \phi _c(x_c)\geq0​ 是定义在团c上的势能函数(potential function),Z 是配分函数(partition function),用来将乘积归一化为概率形式。

上式中定义的分布形式也称为吉布斯分布(Gibbs distribution)。根据Hammersley-Clifford定理,无向图模型和吉布斯分布是一致的。吉布斯分布一定满足马尔可夫随机场的条件独立性质,并且马尔可夫随机场的概率分布一定可以表示成吉布斯分布。

由于势能函数必须为正的,因此我们一般定义为:

ϕ c ( x c ) = e x p ( E c ( x c ) ) \phi_c(x_c)=exp(-E_c(x_c))

其中 E ( x c ) E(x_c) 是能量函数。

因此,无向图上的概率分布可以表示为:

p ( x ) = 1 Z c C e x p ( E c ( x c ) ) p(x)=\frac{1}{Z} \prod_{c\in C}exp(-E_c(x_c))

这种形式的分布又称为玻尔兹曼分布(Boltzmann Distribution)。任何一个无向图模型都可以用上述公式来表示其联合概率。

常见的无向图模型

对数线性模型/最大熵模型

势能函数一般定义为:

ϕ c ( x c θ c ) = e x p ( θ c T f c ( x c ) ) \phi _c(x_c|\theta_c)=exp(\theta_c^Tf_c(x_c))​

其中函数 f c ( x c ) f_c(x_c)​ 为定义在 x c x_c​ 上的特征向量, θ c \theta _c​ 为权重向量。这样联合概率p(x)的对数形式为:

l o g p ( x θ ) = c C θ c T f c ( x c ) l o g Z ( θ ) logp(x|\theta)=\sum_{c \in C}\theta_c^Tf_c(x_c)-logZ(\theta)​

条件随机场

条件随机场(Conditional Random Field,CRF)[Lafferty et al., 2001]是一种直接建模条件概率的无向图模型。

和最大熵模型不同,条件随机场建模的条件概率p(y|x)中,y一般为随机向量,因此需要对p(y|x)进行因子分解。假设条件随机场的最大团集合为C,其条件概率为:

p ( y x , θ ) = 1 Z ( x , θ ) e x p ( c C θ c T f c ( x , y c ) ) p(y|x,\theta)=\frac{1}{Z(x, \theta)}exp(\sum_{c \in C}\theta_c^Tf_c(x, y_c))

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

无向图模型可以表示有向图模型无法表示的一些依赖关系,比如循环依赖;但它不能表示有向图模型能够表示的某些关系,比如因果关系。

推断

图模型的推断问题可以转换为求任意一个变量子集的边际概率分布问题。在图模型中,常用的推断方法可以分为精确推断和近似推断两类。

变量消除法

利用动态规划的思想,每次消除一个变量,来减少计算边际分布的计算复杂度。

信念传播算法

信念传播(Belief Propagation,BP)算法,也称为和积(Sum-Product)算法或消息传递(Message Passing)算法,是将变量消除法中的和积(Sum-Product)操作看作是消息,并保存起来,这样可以节省大量的计算资源。

近似推断

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

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

  1. 环路信念传播:当图模型中存在环路时,使用和积算法时,消息会在环路中一直传递,可能收敛或不收敛。环路信念传播(Loopy Belief Propagation,LBP)是在具有环路的图上依然使用和积算法,即使得到不精确解,在某些任务上也可以近似精确解。
  2. 变分法:图模型中有些变量的局部条件分布可能非常复杂,或其积分无法计算。变分法(Variational Method)是引入一个变分分布(通常是比较简单的分布)来近似这些条件概率,然后通过迭代的方法进行计算。首先是更新变分分布的参数来最小化变分分布和真实分布的差异(比如交叉熵或KL距离),然后再根据变分分布来进行推断。
  3. 采样法:采样法(Sampling Method)是通过模拟的方式来采集符合某个分布p(x)的一些样本,并通过这些样本来估计和这个分布有关的运算,比如期望等。

蒙特卡洛方法

采样法(Sampling Method),也叫蒙特卡罗方法(Monte Carlo Method)或统计模拟方法,是20世纪40年代中期提出的一种通过随机采样的方法来近似估计一些计算问题的数值解。随机采样指从给定概率密度函数p(x)中抽取出符合其概率分布的样本。由于电子计算机的出现和快速发展,这种方法作为一
种独立方法被提出来,使得当时很多难以计算的问题都可以通过随机模拟的方法来进行估计。
蒙特卡罗方法的一个最简单的应用例子是计算圆周率π。我们知道半径为r的圆的面积为πr 2 ,而直径为2r的正方形的面积为4r 2 。当我们用正方形去嵌套一个相切的圆时,它们的面积之比是1/4 π。当不知道π时,我们无法计算圆的面积。因此,需要通过模拟的方法来进行近似估计。首先在正方形内部按均值
采样的方式随机生成若干点,计算它们与圆心点的距离,从而判断是否落在圆的内部。然后去统计落在圆内部的点占到所有点的比例。当有足够的点时,这个比例应该接近于1/4 π,而从近似估算出π的值。

拒绝采样

拒绝采样(Rejection Sampling),也叫接受-拒绝采样(Acceptance-Rejection Sampling)。

假设原始分布p(x)难以直接采样,我们可以引入一个容易采样的分布q(x),一般称为提议分布(Proposal Distribution),然后以某个标准来拒绝一部分的样本使得最终采集的样本服从分布p(x)。

重要性采样

如果采样的目的是计算分布p(x)下函数f(x)的期望,那么实际上抽取的样本不需要严格服从分布p(x)。也可以通过另一个分布,即提议分布q(x),直接采样并估计 E p [ f ( x ) ] E_p[f(x)]

马尔科夫链蒙特卡罗方法

在高维空间中,拒绝采样和重要性采样的效率随空间维数的增加而指数降低。马尔可夫链蒙特卡罗(Markov Chain Monte Carlo,MCMC)方法是一种更好的采样方法,可以很容易地对高维变量进行采样。

MCMC方法也有很多不同的具体采样方法,但其核心思想是将采样过程看第 t + 1 次采样依赖于第 t 次抽取的样本 x t 以及状态转移分布(即提议分布) p ( x x t ) p(x|x_t) 。如果这个马尔可夫链的平稳分布为p(x),那么在状态平稳时抽取的样本就服从p(x)的分布。作是一个马尔可夫链。

学习

图模型的学习可以分为两部分:一是网络结构学习,即寻找最优的网络结构;二是网络参数估计,即已知网络结构,估计每个条件概率分布的参数。网络结构学习一般比较困难,一般是由领域专家来构建。本节只讨论在给定网络结构条件下的参数估计问题。图模型的参数估计问题又分为不包含隐变量时的参数估计问题和包含隐变量时的参数估计问题。

不包含隐变量时的参数估计

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

含隐变量的参数估计

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

总结

概率图模型提供了一个用图形来描述概率模型的框架,这种可视化方法使我们可以更加容易地理解复杂模型的内在性质。目前,概率图模型已经是一个非常庞大的研究领域,涉及众多的模型和算法。很多机器学习模型也都可以用概率图模型来描述。

猜你喜欢

转载自blog.csdn.net/serryuer/article/details/89349960