概率图模型是之前一直搁置的内容,然而躲得过初一躲不过十五,看葫芦书时发现其中有整整一章关于概率图,方才意识到概率图模型的重要性,回过头来重新补上这部分内容。
概率图模型(Probabilistic Graphical Model,PGM),简称图模型,是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。给研究高维空间中的概率模型带来了很大的便捷性。
对于一个维随机向量,其联合概率为高维空间中的分布,一般难以直接建模。假设每个变量为离散变量并有个取值,在不作任何独立假设条件下,则需要个参数才能表示其概率分布(因为我们需要给出每一组可能的的概率,共种可能,由于概率和为1因此在此基础上减1)。不难看出,参数数量是指数级的,这在实际应用中是不可接受的。
一种有效减少参数量的方法是独立性假设。将维随机向量的联合概率分解为个条件概率的乘积:
其中表示变量的取值。如果某些变量之间存在条件独立,其参数量就可以大幅减少。
假设有四个二值变量,在不知道这几个变量依赖关系的情况下以用一个联合概率表来记录每一种取值的概率需要个参数。假设在已知时和独立,即有:
同理:
在已知和时也和独立,即有:
那么其联合概率可以分解为:
是个局部条件概率的乘积。如果分别用个表格来记录这个条件概率的话,只需要个独立参数。
当概率模型中的变量数量比较多时,其条件依赖关系也比较复杂。我们可以使用图结构的方式将概率模型可视化,以一种直观、简单的方式描述随机变量之间的条件独立性的性质,并可以将一个复杂的联合概率模型分解为一些简单条件概率模型的组合。下图给出了上述例子中个变量之间的条件独立性的图形化描述。
图模型有三个基本问题:
表示问题:对于一个概率模型,如何通过图结构来描述变量之间的依赖关系。
推断问题:在已知部分变量时算其它变量的后验概率分布。
学习问题:图模型的学习包括图结构的学习和参数的学习。
很多机器学习模型都可以归结为概率模型,即建模输入和输出之间的条件概率分布。因此,图模型提供了一种新的角度来解释机器学习模型,并且这种角度有很多优点,比如了解不同机器学习模型之间的联系,方便设计新模型等。
1、模型表示
图由一组节点和节点之间的边组成。在概率图模型中,每个节点都表示一个随机变或一组随机变量,边表示这些随机变量之间的概率依赖关系。
常见的概率图模型可以分为两类向图模型和无向图模型。有向图模型的图结构为有向非循环图,如果两个节点之间有连边,表示对于的两个变量为因果关系。无向图模型使用无向图来描述变量之间的关系。每条边代表两个变量之间有概率依赖关系,但是并不一定是因果关系。
1.1、有向图模型
有向图模型,也称贝叶斯网络(Bayesian Network)或信念网络(Belief Network),是指用有向图来表示概率分布的图模型。
贝叶斯网络: 对于一个随机向量和一个有个节点的有向非循环图,中的每个节点都对应一个随机变量,可以是可观测的变量,隐变量或是未知参数。中的每个连接表示两个随机变量和之间具有非独立的因果关系。表示变量的所有父节点变量集合,每个随机变量的局部条件概率分布(local conditional probability distribution)为。
若的联合概率分布可以分解为每个随机变量的局部条件概率的连乘形式,即:
那么构成了一个贝叶斯网络。
条件独立性:在贝叶斯网络中,如果两个节点是直接连接的,它们肯定是非条件独立的直接因果关系。父节点是“因”,子节点是“果”。
如果两个节点不是直接连接的,但是它们之间有一条经过其它节点的路径来连接,那么这两个节点之间的条件独立性就比较复杂,例如:
(a)(b)(c)(d)分别代表间接因果关系、间接果因关系、共因关系、共果关系。
局部马尔可夫性质:对一个更一般的贝叶斯网络,其局部马尔可夫性质为:每个随机变量在给定父节点的情况下,条件独立于它的非后代节点。
其中为的非后代变量。
1.2、常见的有向图模型
1.2.1、Sigmoid信念网络
一种简单的参数化模型为Sigmoid信念网络。Sigmoid信念网络种变量取值为,对于变量和它的父节点集合,条件概率分布表示为:
其中是Logistic sigmoid函数,是可学习的参数。假设变量的父节点数量为,如果使用表格来记录条件概率需要个参数,如果使用参数化模型只需要个参数。如果对不同的变量的条件概率都共享使用一个参数化模型,其参数数量又可以大幅减少。
值得一提的是Sigmoid信念网络与Logistic回归模型都采用Logistic函数来计算条件概率。如果假设Sigmoid信念网络中只有一个叶子节点,其所有的父节点之间没有连接,且取值为实数,那么sigmoid信念网络的网络结构和Logistic回归模型类似,如图所示。
这两个模型区别在于Logistic回归模型中的作为一种确定性的参数,而非变量。因此Logistic回归模型只建模条件概率,是一种判别模型,而Sigmoid信念网络建模,是一种生成模型。
1.2.2、朴素贝叶斯分类器
朴素贝叶斯分类器是一类简单的概率分类器,在强(朴素)独立性假设的条件下运用贝叶斯公式来计算每个类别的后验概率。
给定一个有维特征的样本和类别,类别的后验概率为:
其中是概率分布的参数。
朴素贝叶斯分类器中,假设在给定的情况下之间条件独立,即。下图给出了朴素贝叶斯分类器的图形表示。
条件概率分布可以分解为:
其中是的先验概率分布的参数,是条件概率分布的参数。若为连续值,可以用高斯分布建模。若为离散值,可以用多项分布建模。
虽然朴素贝叶斯分类器的条件独立性假设太强,但是在实际应用中,朴素贝叶斯分类器在很多任务上也能得到很好的结果,并且模型简单,可以有效防止过拟合。
1.2.3、隐马尔科夫模型
隐马尔科夫模型是一种含有隐变量的马尔可夫过程。下图给出隐马尔可夫模型的图模型表示。
隐马尔可夫模型的联合概率可以分解为:
其中为输出概率,为转移概率,分别表示两类条件概率的参数。
1.3、无向图模型
无向图模型,也称为马尔可夫随机场或马尔科夫网络,是一类用无向图来描述一组具有局部马尔可夫性质的随机向量的联合概率分布的模型。
马尔可夫随机场:对于一个随机向量和一个有个节点的无向图(可有循环),中节点表示随机变量,。如果满足局部马尔可夫性质,即一个变量在给定它的邻居的情况下独立于所有其它变量:
其中为变量的邻居集合,为除外其它变量的集合,那么就构成了一个马尔可夫随机场。
无向图的马尔可夫性:无向图中的马尔可夫性可以表示为:
其中表示除和外的其它变量。
上图中由马尔可夫性质可以得到:和。
1.4、无向图模型的概率分解
团:由于无向图模型并不提供一个变量的拓扑顺序,因此无法用链式法则对进行逐一分解。无向图模型的联合概率一般以全连通子图为单位进行分解。无向图中的一个全连通子图,称为团(Clique),即团内的所有节点之间都连边。在所有团中,如果一个团不能被其它的团包含,这个团就是一个最大团(Maximal Clique)。
因子分解:无向图中的的联合概率可以分解为一系列定义在最大团上的非负函数的乘积形式。
Hammersley Clifford定理:如果一个分布满足无向图中的局部马尔可夫性质,当且仅当可以表示为一系列定义在最大团上的非负函数的乘积,即:
上式也称为吉布斯分布。其中为中的最大团集合,是定义在团上的势能函数,是配分函数(Partition Function),用来将乘积归一化为概率形式。
其中为随机向量的取值空间。
无向图模型与有向图模型的一个重要区别是有配分函数。配分函数的计算复杂度是指数级的,因此在推断和参数学习时都需要重点考虑。
由于势能函数必须为正的,因此我们一般定义为:
其中为能量函数。这里的负号是遵从物理上的习惯,即能量越低意味着概率越高。
因此无向图上定义的概率分布可以表示为:
这种形式的分布又称为玻尔兹曼分布(Boltzmann Distribution)。任何一个无向图模型都可以用上式来表示其联合概率。
1.5、常见的无向图模型
1.5.1、对数线性模型
势能函数一般定义为:
其中函数为定义在上的特征向量,为权重向量。这样联合概率的对数形式为:
其中代表所有势能函数中的参数。这种形式的无向图模型也称为对数线性模型或最大熵模型。
如果用对数线性模型来建模条件概率,有:
其中。这种对数线性模型也称为条件最大熵模型或softmax回归模型。
1.5.2、条件随机场
条件随机场是一种直接建模条件概率的无向图模型。
和条件最大熵模型不同,条件随机场建模的条件概率中,一般为随机向量,因此需要对进行因子分解。设条件随机场的最大团集合为,条件概率为:
其中为归一化项。
一个最常用的条件随机场为图(b)中所示的链式结构,其条件概率为:
其中为状态特征,一般和位置相关,为转移特征,一般可以简化为并使用状态转移矩阵来表示。
1.6、有向图和无向图之间的转换
无向图模型可以表示有向图模型无法表示的一些依赖关系,比如循环依赖;但它不能表示有向图模型能够表示的某些关系,比如因果关系。
以图(a)中的有向图为例,其联合概率分布可以分解为:
其中和四个变量都相关。如果要转换为无向图, 需要将这四个变量都归属于一个团中。因此需要将的三个父节点之间都加上连边,如图(b)所示。这个过程称为道德化(Moralization)。转换后的无向图称为道德图(Moral Graph)。
在道德化的过程中来有向图的一些独立性会丢失,比如上面在道德图中不再成立。
2、推断
在图模型中,推断(Inference)是指在观测到部分变量时,计算其它变量的某个子集的后验概率。
假设一个图模型中,除了变量外,其余变量表示为。根据贝叶斯公式有:
因此,图模型的推断问题可以转换为求任意一个变量子集的边际概率分布问题。
在图模型中用的推断方法可以分为精确推断和近似推断两类。
2.1、变量消除法
以上图为例,假设推断问题为计算后验概率,需要计算两个边际概率和。
根据条件独立性假设,有:
假设每个变量取个值,计算上面的边际分布需要次加法以及次乘法。
根据乘法的分配律,边际概率可以写为:
这样计算量可以减少到次加法和次乘法。
这种方法是利用动态规划的思想,每次消除一个变量,来减少计算边际分布的计算复杂度,称为变量消除法。
2.2、信念传播算法
信念传播(Belief Propagation,BP)算法,也称为和积(Sum-Product)算法或消息传递(Message Passing)算法,是将变量消除法中的和积(Sum-Product)操作看作是消息,并保存起来,这样可以节省大量的计算资源。
2.2.1、链式结构上的的信念传播算法
以上图所示的无向马尔可夫链为例,其联合概率为:
其中是定义在团的势能函数。
第个变量的边际概率为:
假设每个变量取个值,不考虑归一化项,计算上述边际分布需要次加法以及次乘法。
根据乘法的分配律际概率可以通过下面方式进行计算:
其中定义为变量向变量传递的消息,是关于变量的函数,可以递归计算:
为变量向变量传递的消息,定义为:
边际概率的计算复杂度减少为。如果要计算整个序列上所有变量的边际概率,不需要将消息传递的过程重复次,因为其中每两个相邻节点上的消息是相同的。
2.2.2、树结构上的信念传播算法
信念传播算法也可以推广到具有树结构的图模型上。如果一个有向图满足任意两个变量只有一条路径(忽略方向),且只有一个没有父节点的节点,那么这个有向图为树结构,其中唯一没有父节点的节点称为根节点。如果一个无向图满足任意两个变量只有一条路径,那么这个无向图也为树结构。在树结构的无向图中任意一个节点都可以作为根节点。
树结构图模型的信念传播过程为)从叶子节点到根节点依次计算并传递消息)从根节点开始到叶子节点,依次计算并传递消息)在每个节点上计算所有接收消息的乘积(如果是无向图还需要归一化),就得到了所有变量的边际概率。
3、近似推断
在实际应用中,精确推断一般用于结构比较简单的推断问题。当图模型的结构比较复杂时,精确推断的计算开销会比较大。此外,如果图模型中的变量是连续的,并且其积分函数没有闭式解时,也无法使用精确推断。因此,在很多情况下也常常采用近似的方法来进行推断。
采样法是通过模拟的方式来采集符合某个分布的一些样本,并通过这些样本来估计和这个分布有关的运算,比如期望等。
下面介绍基于采样法的近似推断。
3.1、蒙特卡罗方法
蒙特卡罗方法的一个最简单的应用例子是计算圆周率。蒙特卡罗方法的基本思想可以归结为根据一个已知概率密度函数为的分布来计算函数的期望:
当比较复杂时,很难用解析方法来计算这个期望。为计算,我们可通过数值方法来近似计算。首先从中独立抽取个样本,的期望可以用这个样本的均值来近似:
根据大数定律,趋向于无穷大时,样本均值收敛于期望值:
这就是蒙特卡罗方法的理论依据。
蒙特卡罗方法的难点是如何进行随机采样,即如何让计算机生成满足概率密度函数的样本。我们知道,计算机可以比较容易地随机生成一个在区间上均布分布的样本。如果要随机生成服从某个非均匀分布的样本,就需要一些间接的采样方法。
如果一个分布的概率密度函数为,其累积分布函数为连续的严格增函数,且存在逆函数,那么我们可以利用累积分布函数的逆函数来生成服从该随机分布的样本。假设是区间上均匀分布的随机变量服从概率密度函数为的分布。
但当非常复杂,累积分布函数的逆函数难以计算,就难以直接对 p(x) 进行采样,往往需要使用一些间接的采样策略,比如拒绝采样、重要性采样、马尔可夫链蒙特卡罗采样等。这些方法一般是先根据一个比较容易采样的分布进行采样,然后通过一些策略来间接得到符合分布的样本。
3.2、拒绝采样
拒绝采样,也叫接受-拒绝采样。假设原始分布难以直接采样,我们可以引入一个容易采样的分布,一般称为提议分布(Proposal Distribution),然后以某个标准来拒绝一部分的样本使得最终采集的样本服从分布。
在拒绝采样中,已知未归一化的分布,我们需要构建一个提议分布和一个常数,使得可以覆盖函数,即。如图所示。
对于每次抽取的样本,计算接受概率(acceptance probability):
并以概率来接收样本。
拒绝采样的采样过程如下:
判断一个拒绝采样方法的好坏就是看其采样效率,即总体的接受率。如果函数远大于原始分布函数,拒绝率会比较高样,效率会非常不理想。要找到一个和比较接近的提议分布往往比较困难,特别是在高维空间中采样率会非常低,导致很难应用到实际问题中。
3.3、重要性采样
如果采样的目的是计算分布下函数的期望,那么实际上抽取的样本不需要严格服从分布。也可以通过另一个分布,即提议分布,直接采样并估计。
函数在分布$p(x)下的期望可以写为:
其中称为重要性权重。
重要性采样(Importance Sampling)是通过引入重要性权重分布将下的期望变为在分布下的期望,从而可以近似为:
其中是从中独立抽样出的样本点。
重要性采样也可以在只知道未归一化的分布的情况下计算函数的期望:
其中,是从中独立抽样出的样本点。
3.4、马尔可夫链蒙特卡罗方法
在高维空间中,拒绝采样和重要性采样的效率随空间维数的增加而指数降低。马尔可夫链蒙特卡罗方法(MCMC)是一种更好的采样方法以很容易地对高维变量进行采样。
MCMC方法也有很多不同的具体采样方法,但其核心思想是将采样过程看作是一个马尔可夫链:
第次采样依赖于第次抽取的样本以及状态转移分布(即提议分布),如果这个马尔可夫链的平稳分布为,那么在状态平稳时抽取的样本就服从的分布。
MCMC方法的关键是如何构造出平稳分布为的马尔可夫链,并且该马尔可夫链的状态转移分布一般为比较容易采样的分布。
使用MCMC方法进行采样时需要注意两点:一是马尔可夫链需要经过一段时间的随机游走才能达到平稳状态,这段时间称为预烧期(Burn-in Period)。预烧期内的采样点并不服从分布,需要丢弃;二是基于马尔可夫链抽取的相邻样本是高度相关的。而在机器学习中,我们一般需要抽取的样本是独立同分布的。为了使得抽取的样本之间独立,我们可以每间隔次随机游走,抽取一个样本。如果足够大则可以认为抽取的样本是独立的。
3.4.1、Metropolis-Hastings 算法
Metropolis-Hastings算法,简称MH算法,是一种应用广泛的MCMC方法。
假设马尔可夫链的状态转移分布(即提议分布为一个比较容易采样的分布,其平稳分布往往不是。为此MH算法引入拒绝采样的思想来修正提议分布,使得最终采样的分布为。
在MH算法中设第次采样样本为,首先根据提议分布抽取一个样本,并以概率来接受作为第次的采样样本:
因为每次随机生成一个样本,并以的概率接受,因此修正的马尔可夫链状态转移概率为:
该修正的马尔可夫链可以达到平稳状态,且平稳分布为。
证明:根据马尔可夫链的细致平稳条件,有:
因此是状态转移概率为的马尔可夫链的平稳分布。
3.4.2、Metropolis算法
如果MH算法中的提议分布是对称的,即,第次采样的接受率可以简化为:
这种MCMC方法称为Metropolis算法。
3.4.3、吉布斯采样
吉布斯采样是一种有效地对高维空间中的分布进行采样的MCMC方法,可以看作是Metropolis-Hastings算法的特例。
吉布斯采样使用全条件概率作为提议分布来依次对每个维度进行采样,并设置接受率为。
对于一个维的随机向量,其第个变量的全条件概率为:
其中表示除外其他变量的取值。
吉布斯采样可以按照任意的顺序根据全条件分布依次对每个变量进行采样。假设从一个随机的初始化状态开始,按照下标顺序依次对个变量进行采样。
吉布斯采样的每单步采样也构成一个马尔可夫链。假设每个单步(采样维度为第维)的状态转移概率为:
其中边际分布,等式表示,因此有,并可以得到:
根据细致平稳条件状态转移概率的马尔可夫链的平稳分布为。
4、学习
图模型的学习可以分为两部分:一是网络结构学习,即寻找最优的网络结构;二是网络参数估计,即已知网络结构,估计每个条件概率分布的参数。网络结构学习一般比较困难,一般是由领域专家来构建。这里只讨论在给定网络结构条件下的参数估计问题。
4.1、不含隐变量的参数估计
如果图模型中不包含隐变量,即所有变量都是可观测的,那么网络参数一般可以直接通过最大似然来进行估计。
有向图模型:在有向图模型中,所有变量的联合概率分布可以分解为每个随机变量的局部条件概率的连乘形式,其中为第个变量的局部条件概率的参数。
给定个训练样本,其对数似然函数为:
其中为模型中的所有参数。
因为所有变量都是可观测的,最大化对数似然,只需要分别地最大化每个变量的条件似然来估计其参数。
无向图模型:在无向图模型中,所有变量的联合概率分布可以分解为定义在最大团上的势能函数的连乘形式。以对数线性模型为例:
其中。
给定个训练样本,其对数似然函数为:
其中为定义在团上的势能函数的参数。
可以看出,无向图模型的参数估计要比有向图更为复杂。在有向图中,每个局部条件概率的参数是独立的;而在无向图中,所有的参数都是相关的,无法分解。
因此,无向图的参数估计通常采用近似的方法。一是利用采样来近似计算这个期望;二是坐标上升法,即固定其它参数,来优化一个势能函数的参数。
4.2、含隐变量的参数估计
如果图模型中包含隐变量,即有部分变量是不可观测的,就需要用EM算法进行参数估计。