概率图模型,简称 图模型,是指用图结构来描述多元随机变量之间条件独立关系的概率模型,从而给研究高维空间的概率模型带来便捷性。
对于一个K维随机变量 X = [ X 1 , X 2 , ⋯ , X k ] \pmb{X}=[X_1, X_2,\cdots,X_k] XXX=[X1,X2,⋯,Xk] ,其联合概率为高维空间中的分布,一般难以直接建模,假设每个变量为离散变量并有M个取值,在不作任何独立假设条件下,则需要 M K − 1 M^K-1 MK−1个参数才能表示其概率分布,当 M = 2 , K = 100 M=2,K=100 M=2,K=100时,参数量约为 1 0 30 10^{30} 1030,远超当前计算机储存能力。
一种有效减少参数量的方法是独立性假设,一个K随机变量 X \pmb{X} XXX的联合概率分解为K个条件概率的乘积:
其中, x k x_k xk表示变量 X k X_k Xk的取值,如果某些变量之间存在条件独立性,其参数量就可以大幅减少
假设四个二值变量 X 1 , X 2 , X 3 , X 4 X_1, X_2, X_3, X_4 X1,X2,X3,X4,在不知道这几个变量依赖关系的情况下,可用一个联合概率表来记录每一种取值的概率 p ( x 1 : 4 ) p(\pmb{x}_{1:4}) p(xxx1:4),共需要 2 4 − 1 = 15 2^4-1=15 24−1=15个参数,假设已知 X 1 X_1 X1, X 2 X_2 X2和 X 3 X_3 X3独立,即有:
在已知 X 2 X_2 X2和 X 3 X_3 X3时, X 4 X_4 X4和 X 1 X_1 X1独立,即有:
那么联合概率 p ( x ) p(\pmb{x}) p(xxx)可分解为:
是4个局部条件概率的乘积,分别用4个表格来记录4个条件概率,只需1+2+2+4=9个独立参数。
当概率模型中参数多时,其条件依赖关系也复杂,可用图结构方式将模型可视化,简洁描述随机变量之间的条件独立性,并将复杂模型分解为多个简单模型,如图是上述例子的4个变量间的条件独立性的图形化描述,节点表示一个变量,每条边表示变量之间的依赖关系:
图模型的三个基本问题
- 表示问题:对于一个概率模型,如何通过图结构来描述变量之间的依赖关系
- 学习问题:图模型的学习包括图结构、参数的学习,本文只关注给定图结构时的参数学习,即参数估计问题
- 推断问题:已知部分变量,计算其他变量的条件概率分布
图模型与机器学习 很多机器学习模型都可以归纳为概率模型,即建模输入和输出之间的条件概率分布,故,图模型提出了一新角度来解释机器学习模型。这角度优点:了解不同机器学习模型间的联系,方便设计新模型。机器学习中,图模型越来越多被用于设计和分析学习算法。
1. 模型的表示
图由一组节点和节点之间的边组成,在概率模型中,每个节点都表示一随机变量(或一组随机变量),边表示这些随机变量之间的概率依赖问题。
常见的概率图模型分为:有向图模型和无向图模型:
- 有向图模型的图结构为有向非循环图(Directed Acyclic Graph,DAG)。如果两个节点之间有连边,表示对应的两变量为因果关系,即不存在其他变量使得这两个节点对应的变量条件独立
- 无向图模型使用无向图描述变量之间的关系,每条边代表两个变量之间有概率依赖关系,但不一定是因果关系
两个示例如下,分别表示四个变量 { X 1 , X 2 , X 3 , X 4 } \{X_1, X_2,X_3,X_4\} {
X1,X2,X3,X4}之间的依赖关系,图中带阴影的节点表示可观测到的变量,不带阴影的节点表示隐变量,连边表示两变量间的条件依赖关系:
1.1 有向图模型
有向图模型(Directed Graphical model),也称为贝叶斯网络(Bayesian Network),或信念网络(Belief Network,BN),是一类用有向图来描述随机向量概率分布的模型。
条件独立性 在贝叶斯网络中,如果两个节点直接连接的,他们肯定是非条件独立的,是直接因果关系,父是因,子是果。
如果两个节点不是直接连接,但有一条经过其他节点的路径来连接,那么这两个节点之间的条件独立性比较复杂。以三个节点的贝叶斯网络为例,三个节点 X 1 , X 2 , X 3 X_1, X_2,X_3 X1,X2,X3,其中 X 1 X_1 X1和 X 3 X_3 X3不直接连接,通过节点 X 2 X_2 X2连接,这三个节点之间可以有四种连接关系:
- 间接因果关系(图a):当 X 2 X_2 X2已知时, X 1 X_1 X1和 X 3 X_3 X3为条件独立
- 间接果因关系(图b):当 X 2 X_2 X2已知时, X 1 X_1 X1和 X 3 X_3 X3为条件独立
- 共因关系(图c):当 X 2 X_2 X2未知时, X 1 X_1 X1和 X 3 X_3 X3是不独立的;当 X 2 X_2 X2已知时, X 1 X_1 X1和 X 3 X_3 X3为条件独立
- 共果关系(图d):当 X 2 X_2 X2未知时, X 1 X_1 X1和 X 3 X_3 X3是独立的;当 X 2 X_2 X2已知时, X 1 X_1 X1和 X 3 X_3 X3不独立
局部马尔科夫性质 对一个更一般的贝叶斯网络,其局部马尔科夫性质为:每个随机变量在给定父节点的情况下,条件独立于它的非后代节点,其中 Z Z Z 为 X k X_k Xk的非后代变量:
1.2 常见的有向图模型
许多经典的机器学习模型如朴素贝叶斯分类器、隐马尔可夫模型、深度信念网络等,可用有向图模型来描述。
1.2.1 Sigmoid信念网络
为减少模型参数,可使用参数化模型来建模有向图中的条件概率分布,一种简单的参数化模型为Sigmoid信念网络。
Sigmoid信念网络(Sigmoid Belief Network,SBN)中的变量取值为{0,1},对于变量 X k X_k Xk和它的父节点集合 π k \pi_k πk,其条件概率分布表示为:
其中 σ ( ⋅ ) \sigma(\cdot) σ(⋅)是Logistc函数, θ i \theta_i θi是可学习的参数,假设变量 X k X_k Xk的父节点数量为 M,如果使用表格来记录条件概率需要 2 M 2^M 2M个参数,如果使用参数化模型只需要M+1个参数。如果对不同的条件概率都共享使用一个参数化模型,其参数数量又可以大幅减少。
Sigmoid信念网络与Logistic回归模型都采用Logistic函数来计算条件概率。如果假设Sigmoid信念网络中只有一个叶子节点,其所有的父节点之间没有连接,且取值为实数,那么Sigmoid信念网络的网络结构和Logistic回归模型类似:
这两个模型区别在于,Logistic回归模型中的 x \pmb{x} xxx作为一种确定性的参数,而非变量,因此,Logistic回归模型只建模条件概率 p ( y ∣ x ) p(y|\pmb{x}) p(y∣xxx),是一种判别模型;Sigmoid信念网络 p ( x , y ) p(\pmb{x},y) p(xxx,y)是一种生成模型。
1.2.2 朴素贝叶斯分类器
朴素贝叶斯分类器(Naive Bayes Classifier,NB)在强(朴素)独立性假设的条件下运用贝叶斯公式来计算每个类别的条件概率。
给定一个有M为特征的样本 x \pmb{x} xxx 和类别 y,类别 y 的条件概率为:
其中 θ \theta θ 为概率分布的参数。
在朴素贝叶斯分类器中,假设在给定 Y 的情况下, X m X_m Xm之间是条件独立的,即 X m ⊥ ⊥ X k ∣ Y , ∀ m ≠ k X_m \perp\!\!\!\!\perp X_k | Y, \forall m \neq k Xm⊥⊥Xk∣Y,∀m=k.朴素贝叶斯分类器的图模型:
条件概率分布 p ( y ∣ x ) p(y|\pmb{x}) p(y∣xxx)可以分解为:
其中 θ c \theta_c θc是 y 的先验概率分布的参数, θ m \theta_m θm是条件概率分布 p ( x m ∣ y , θ m ) p(x_m|y,\theta_m) p(xm∣y,θm)的参数。若 x m x_m xm为连续值, p ( x m ∣ y ; θ m ) p(x_m|y;\theta_m) p(xm∣y;θm)可以用高斯分布建模;若 x m x_m xm为离散值, p ( x m ∣ y ; θ m ) p(x_m|y;\theta_m) p(xm∣y;θm)可用多项分布建模。
虽然朴素贝叶斯分类器条件独立性假设强,但实际中,朴素贝叶斯分类器在很多任务上效果好,并且模型简单,可有效防止过拟合。
1.2.3 隐马尔科夫模型
隐马尔科夫模型(Hidden Markov Model,HMM)是用来表示一种含有隐变量的马尔科夫过程。下图是隐马尔科夫模型的图模型,其中 X 1 : T X_{1:T} X1:T为可观测变量, Y 1 : T Y_{1:T} Y1:T为隐变量,隐变量构成一个马尔科夫链,每个可观测标量 X t X_t Xt依赖当前时刻的隐变量 Y t Y_t Yt。
隐马尔科夫模型的联合概率可以分解为:
其中 x \pmb{x} xxx 和 y \pmb{y} yyy分别为可观测变量和隐变量的取值,条件概率 p ( x t ∣ y t , θ t ) p(x_t|y_t,\theta_t) p(xt∣yt,θt)称为输出概率,条件概率 p ( y t ∣ y t − 1 , θ s ) p(y_t|y_{t-1},\theta_s) p(yt∣yt−1,θs)称为转移概率, θ s \theta_s θs和 θ t \theta_t θt分别表示两类条件概率的参数。
1.3 无向图模型
无向图模型也叫马尔科夫随机场(Markov Random Field,MRF)或马尔科夫网络(Markov Network),是一类用无向图来描述一组具有局部马尔科夫性质的随机向量X的联合概率分布模型
无向图的局部马尔科夫性 无向图中的局部马尔科夫性可以表示为:
其中 X N ( k ) , k \pmb{X}_{\\ N(k),\\ k} XXXN(k),k表示除 X N ( k ) \pmb{X}_{N(k)} XXXN(k) 和 X k X_k Xk外的其他变量.
1.4 无向图模型的概率分解
团 由于无向图模型并不提供一个变量的拓扑排序,无法用链式法则对 p ( x ) p(\pmb{x}) p(xxx)进行逐一分解,无向图模型的联合概率一般以全连通子图为单位进行分解。无向图中的一个全连通子图,称为团(Clique),即团内的所有节点之间都连边。如下图共有7个团: { X 1 , X 2 } , { X 1 , X 3 } , { X 2 , X 3 } , { X 3 , X 4 } , { X 2 , X 4 } , { X 1 , X 2 , X 3 } , { X 2 , X 3 , X 4 } \{X_1, X_2\}, \{X_1, X_3\},\{X_2, X_3\}, \{X_3, X_4\}, \{X_2, X_4\}, \{X_1, X_2, X_3\}, \{X_2, X_3, X_4\} {
X1,X2},{
X1,X3},{
X2,X3},{
X3,X4},{
X2,X4},{
X1,X2,X3},{
X2,X3,X4}
所有团中,如果有一个团不能被其他的团包含,这个团就是一个最大团(Maximal Clique)
因子分解 无向图中的联合概率可以分解为一系列定义在最大团上的非负函数的乘积形式。
无向图模型和有向图模型的一个重要区别是有配分函数Z。配分函数的计算复杂度是指数级的,因此在推断和参数学习时需要重点考虑。
吉布斯分布 公式(11.16)中定义的分布形式也称为吉布斯分布(Gibbs Distribution)根据定理11.1,无向图模型和吉布斯分布是一致的,吉布斯分布一定满足马尔可夫随机场的条件独立性质,并且马尔可夫随机场的概率分布一定可以表示成吉布斯分布。
由于势能函数必须为正的,因此一般定义为:
其中 E c ( x c ) E_c(\pmb{x}_c) Ec(xxxc)为能量函数(Energy Function).
因此无向图上定义的概率分布可以表示为:
这种形式的分布又称为玻尔兹曼分布(Boltzmann Distribution)。任何一个无向图模型都可以用上述公式表示其联合概率。
1.5 常见的无向图模型
许多机器学习模型如对数线性模型(最大熵模型)、条件随机场、玻尔兹曼机、受限玻尔兹曼机可用无向图模型描述。
1.5.1 对数线性模型
势能函数一般定义为:
其中函数 f c ( x c ) f_c(\pmb{x}_c) fc(xxxc)为定义在 x c \pmb{x}_c xxxc上的特征向量, θ c \theta_c θc为权重向量,这样联合概率 p ( x ) p(\pmb{x}) p(xxx)的对数形式为:
其中 θ \theta θ代表所有势能函数中的参数 θ c \theta_c θc,这种形式的无向图模型又叫对数线性模型、最大熵模型、条件最大熵模型、Softmax回归模型:
如果使用对数线性模型来建模条件概率 p ( y ∣ x ) p(y|\pmb{x}) p(y∣xxx):
其中 Z ( x ; θ ) = ∑ y e x p ( θ T f y ( x , y ) ) Z(\pmb{x};\theta) = \sum_y exp(\theta^Tf_y(\pmb{x},y)) Z(xxx;θ)=∑yexp(θTfy(xxx,y))
1.5.2 条件随机场
条件随机场(Conditional Random Field,CRF)是一种直接建模条件概率的无向图模型。不同于条件最大熵模型,条件随机场的条件概率 p ( y ∣ x ) p(\pmb{y}|\pmb{x}) p(yyy∣xxx)中, y \pmb{y} yyy一般为随机向量,因此需要对 p ( y ∣ x ) p(\pmb{y}|\pmb{x}) p(yyy∣xxx)进行因子分解。假设条件随机场的最大团集合为 ζ \zeta ζ,其条件概率为:
其中 Z ( x ; θ ) = ∑ y e x p ( ∑ c ∈ ζ f c ( x , y c ) T θ c ) Z(\pmb{x};\theta)=\sum_y exp(\sum_{c \in \zeta}f_c(\pmb{x}, \pmb{y}_c)^T\theta_c) Z(xxx;θ)=∑yexp(∑c∈ζfc(x