PRML Chapter 08 Graphical Models
本章主要介绍了两种主流的概率图模型,概率图模型是一种将概率分布运用图进行表示的模型。通常一个图由节点集(nodes)和边集(edges)组成,在概率图模型(probabilistic graphical models)中,每个节点表示一个随机变量或一组随机变量,而节点之间的边表示变量之间的概率关系。这样的模型有几个有用的性质,
- 他们提供了一种简化的方式将概率模型的结构可视化,可以用于设计新的模型;
- 通过观察图形,我们可以更深刻地认识模型的性质,包括条件独立性质;
- 高级模型的推断和学习过程中的复杂计算可以根据图计算表达,图隐式的承载了背后的数学表达式。
一般而言,概率图模型可以分为两类,
- 贝叶斯网络(Bayesian network):也被称为有向图(directed graphical models)模型,这个模型中,图之间的链接有一个特定的方向。
- 马尔可夫随机场(Markov random fields):也被称为无向图模型(undirected graphical models),这个模型中,链接没有箭头,没有方向性质。
有向图对于表达随机变量之间的的因果关系很有用,而无向图对于表示随机变量之间的软限制比较有用。
文章目录
Bayesian Networks
贝叶斯网络(Bayesian Networks),亦称“信念网”(belief network),它借助有向无环图(Directed Acyclic Graph, DAG)来刻画属性之间的依赖关系,并使用条件概率表(Conditional Probability Tables, CPT)来描述属性的联合概率分布。
具体地,贝叶斯网络被定义为结构 G G G和参数 Θ \Theta Θ的二元集合,即 B = < G , Θ > B=<G,\Theta> B=<G,Θ>,其中,
- 网络结构G:其每个节点对应一个属性,若两个属性有直接依赖关系,则他们之间有边链接;
- 参数 Θ \Theta Θ定量描述这种依赖关系,假设属性 x i x_i xi在G中的父节点集为 π i \pi_i πi,则 Θ \Theta Θ包含了每个属性的条件概率表 θ x i ∣ π i = P B ( x i ∣ π i ) \theta_{x_i|\pi_i}=P_B(x_i|\pi_i) θxi∣πi=PB(xi∣πi)。
a. structure
贝叶斯网络的结构能够被归类为如下三种情况,即同父(common parent)结构、顺序结构(sequential structure)、V型结构(V-structure)。
-
同父结构:也可以被看作为尾到尾(tail-to-tail)结构,指的是给定节点 x x x,节点 y y y和节点 z z z条件独立;
首先,不以 x x x作为条件,考虑上图中 y , z y,z y,z关于 x x x的条件独立性,通常使用对x求和、求积分的方式得到,
(8.1) p ( x , y , z ) = p ( y ∣ x ) p ( z ∣ x ) p ( x ) p(x, y, z) = p(y|x)p(z|x)p(x) \tag{8.1} p(x,y,z)=p(y∣x)p(z∣x)p(x)(8.1)
(8.2) p ( y , z ) = ∑ x p ( y ∣ x ) p ( z ∣ x ) p ( x ) p(y,z) = \sum_x p(y|x)p(z|x)p(x) \tag{8.2} p(y,z)=x∑p(y∣x)p(z∣x)p(x)(8.2)
一般地,式(8.1)右侧并不能完全被化简为 p ( y ) p ( z ) p(y)p(z) p(y)p(z),因此, y y y和 z z z无法得证条件独立;考虑以 x x x作为条件的情况,
(8.3) p ( y , z ∣ x ) = p ( x , y , z ) p ( x ) = p ( y ∣ x ) p ( z ∣ x ) p(y,z|x) = \frac{p(x,y,z)}{p(x)} = p(y|x)p(z|x) \tag{8.3} p(y,z∣x)=p(x)p(x,y,z)=p(y∣x)p(z∣x)(8.3)
可以看到给定 x x x条件下, y y y、 z z z条件独立。通常可以这样理解,当没有把 x x x作为条件时, y y y、 z z z之间因为 x x x而形成了依赖,即都被 x x x控制着;当 x x x作为条件时,即当 x x x已知后, y y y、 z z z之间的路径被阻隔,从而形成了条件独立性。
-
顺序结构:也可以被看作为尾到头(tail-to-head)结构,指的是给定节点 x x x,节点 y y y和节点 z z z条件独立;
顺序结构的联合概率分布,和不考虑 x x x的条件独立性判断如式(8.4)和(8.5)所示,
(8.4) p ( x , y , z ) = p ( y ) p ( x ∣ y ) p ( z ∣ x ) p(x, y, z) = p(y)p(x|y)p(z|x) \tag{8.4} p(x,y,z)=p(y)p(x∣y)p(z∣x)(8.4)
(8.5) p ( y , z ) = ∑ x p ( y ) p ( x ∣ y ) p ( z ∣ x ) p(y,z) = \sum_x p(y)p(x|y)p(z|x) \tag{8.5} p(y,z)=x∑p(y)p(x∣y)p(z∣x)(8.5)
很显然,式(8.5)无法得到 p ( y , z ) = p ( y ) p ( z ) p(y,z)=p(y)p(z) p(y,z)=p(y)p(z)的结论,因此,无法证得条件独立性。考虑 x x x作为条件的情况下,有
(8.6) p ( y , z ) = p ( x , y , z ) p ( x ) = p ( y ) p ( x ∣ y ) p ( x ) p ( z ∣ x ) = p ( y ∣ x ) p ( z ∣ x ) p(y,z) = \frac{p(x,y,z)}{p(x)} = \frac{p(y)p(x|y)}{p(x)}p(z|x) = p(y|x)p(z|x) \tag{8.6} p(y,z)=p(x)p(x,y,z)=p(x)p(y)p(x∣y)p(z∣x)=p(y∣x)p(z∣x)(8.6)
式(8.6)运用了贝叶斯定理,可以得到在给定 x x x作为条件的情况下, y y y、 z z z相互独立。与同父结构相同,我们也可以将 x x x看作为 y y y、 z z z的阻隔。
-
V型结构:也可以被看作为(head-to-head)结构,指的是给定节点 x x x,节点 y y y和节点 z z z必不独立。奇妙的是,如果节点 x x x不能被指定,那么节点 y y y和节点 z z z是条件独立的。
对于V型结构,当不考虑 x x x为条件的情况下,其联合概率分布和 y y y、 z z z的条件独立性可以由式(8.7)、(8.8)得到,
(8.7) p ( x , y , z ) = p ( y ) p ( z ) p ( x ∣ y , z ) p(x,y,z) = p(y)p(z)p(x|y,z) \tag{8.7} p(x,y,z)=p(y)p(z)p(x∣y,z)(8.7)
(8.8) p ( y , z ) = ∑ x p ( y ) p ( z ) p ( x ∣ y , z ) = p ( y ) p ( z ) p(y,z) = \sum_x p(y)p(z)p(x|y,z) = p(y)p(z) \tag{8.8} p(y,z)=x∑p(y)p(z)p(x∣y,z)=p(y)p(z)(8.8)
可以看到,不考虑 x x x的情况, y y y、 z z z已经是条件独立了,这被称为边缘独立性(marginal independence);而考虑 x x x作为条件后,如下式所示,
(8.9) p ( y , z ) = p ( x , y , z ) p ( x ) = p ( y ) p ( z ) p ( x ∣ y , z ) p ( x ) p(y,z) = \frac{p(x,y,z)}{p(x)} = \frac{p(y)p(z)p(x|y,z)}{p(x)} \tag{8.9} p(y,z)=p(x)p(x,y,z)=p(x)p(y)p(z)p(x∣y,z)(8.9)
并不能够获得 y y y、 z z z的条件独立性。
综上,可以总结出三种结构的区别如下表所示,且可以通过这三种结构直观的观察属性之间的依赖性质。
结构 | 不考虑 x x x的独立性 | 考虑 x x x的独立性 | 直观解释 |
---|---|---|---|
同父结构 | y , z y,z y,z不具有独立性 | y , z y,z y,z具有独立性 | 不考虑 x x x, y y y和 z z z由 x x x控制存在依赖;考虑 x x x, y y y和 z z z的依赖 x x x被阻隔 |
顺序结构 | y , z y,z y,z不具有独立性 | y , z y,z y,z具有独立性 | 不考虑 x x x, y y y和 z z z由 x x x传递,存在依赖;考虑 x x x, y y y和 z z z的依赖 x x x被阻隔 |
V型结构 | y , z y,z y,z具有独立性 | y , z y,z y,z不具有独立性 | 不考虑 x x x, y y y和 z z z互不依赖并控制 x x x;考虑 x x x, y y y和 z z z互相牵制,不再独立 |
b. learning
很显然,如果我们知道了贝叶斯网络的结构 G G G,那么 Θ \Theta Θ可以通过数据集进行统计获得。然而,要从所有的网络结构中搜寻得到最优的贝叶斯网络结构是NP难的。因此,我们往往需要采取一些策略来获得最优解的近似解,同时,对于一个给定的网络结构,我们需要一个评分函数(score function)来度量其优异程度,一般地,可以采取如下两种策略,
- 贪心策略:对于一个初始的网络结构,不断的增删查改其某些边,指导评分函数收敛于某处,从而得到贝叶斯网络的结构;
- 约束策略:通过约束网络空间的结构从而来削减搜索空间,例如仅使用树型结构。
c. inference
得到学习后的贝叶斯网络结构后,我们需要使用其对新的样本进行预测推断(inference),不是一般性地,我们可以假设 Q = { Q 1 , Q 2 , . . . , Q n } \boldsymbol{Q}=\{ Q_1,Q_2,...,Q_n \} Q={Q1,Q2,...,Qn}表示新样本,也即待查询的属性集合的取值, E = { E 1 , E 2 , . . . , E k } \boldsymbol{E}=\{ E_1,E_2,...,E_k \} E={E1,E2,...,Ek}为证据变量,即贝叶斯网络中除去查询属性的剩余属性。
对于新样本 q = { q 1 , q 2 , . . . , q n } \boldsymbol{q}=\{ q_1, q_2, ..., q_n \} q={q1,q2,...,qn},对应的证据为 e = { e 1 , e 2 , . . . , e k } \boldsymbol{e}=\{ e_1, e_2,..., e_k \} e={e1,e2,...,ek},我们需要求得的是 P ( Q = q ∣ E = e ) P(\boldsymbol{Q}=\boldsymbol{q}|\boldsymbol{E}=\boldsymbol{e}) P(Q=q∣E=e)。以西瓜书中的例子,假设贝叶网络结构中包含属性{好瓜,甜度,色泽,敲声,根蒂},那么我们要预测的是 Q = \boldsymbol{Q}= Q={好瓜,甜度}属性的取值;而证据属性集合为 E = \boldsymbol{E}= E={色泽,敲声,根蒂},其取值为 e = \boldsymbol{e}= e={青绿,浊响,蜷缩}。
理想情况下,推断新样本可以通过贝叶斯网络的联合概率分布精确地获得后验概率,然而,随着网络结构的复杂化,要通过证据集合 E \boldsymbol{E} E推导 Q \boldsymbol{Q} Q,这是一个NP难问题,因此,我们需要采取近似的方式,获得其解。吉布斯采样(Gibbs sampling)即是一种有效的方法。
吉布斯采样:
- 首先,随机初始化设置 q 0 \boldsymbol{q}_0 q0;
- 然后,在每一步另 q t = q t − 1 \boldsymbol{q}_t = \boldsymbol{q}_{t-1} qt=qt−1,并对非 E \boldsymbol{E} E集合的属性进行采样,更新每一个 q t i \boldsymbol{q}_t^i qti,其中 i ∈ { 1 , 2 , . . . , n } i \in \{1,2,...,n\} i∈{1,2,...,n};
- 最后,进行
T
T
T此采样后,得到与
q
\boldsymbol{q}
q一致的样本数为
n
q
n_q
nq,则近似估算出的后验概率为,
(8.10) P ( Q = q ∣ E = e ) ≃ n q T P(\boldsymbol{Q}=\boldsymbol{q}|\boldsymbol{E}=\boldsymbol{e}) \simeq \frac{n_q}{T} \tag{8.10} P(Q=q∣E=e)≃Tnq(8.10)
需要注意的是,吉布斯采样往往需要较长的时间才能完成收敛,并且当贝叶斯网络中出现极端的概率如1或0时,往往不能够得到正确解。
Markov Random Fields
a. structure
马尔可夫随机场(Markov Random Fields)可以被看作是无向概率图模型,其每个节点表示一个或一组属性,其链接表示属性之间的依赖关系。在马尔可夫随机场中,有几个常用的定义,
- 势函数(potential function):也称为因子(factor),这是定义在属性子集上的非负实函数,其度量了团中各属性之间的相关关系,主要用于定义马尔可夫随机场的联合概率分布;
- 团(clique):在马尔可夫随机场中,如果存在一个属性子集,其中任意两个属性间存在边链接,则该子集被称作为定义在该马尔可夫随机场上的团;
- 极大团(maximal clique):定义在马尔可夫随机场上的团,如果不能够再添加任何一条边组成新的团,那么该团为极大团。
在马尔可夫随机场中,多个属性的联合概率分布可以被定义为基于团分解为多个因子的乘积,每一个因子只与每一个团有关,对于属性全集 x = { x 1 , x 2 , . . . , x n } \textbf{x}=\{ x_1,x_2,...,x_n \} x={x1,x2,...,xn}所构成的团 C \mathcal{C} C,对于 Q ∈ C Q \in \mathcal{C} Q∈C对应的变量为 x Q \textbf{x}_Q xQ,我们可以得到,
(8.11) P ( x ) = ∏ Q ∈ C ψ Q ( x Q ) ∑ x ∏ Q ∈ C ψ Q ( x Q ) = ∏ Q ∈ C ψ Q ( x Q ) Z P(\textbf{x}) = \frac{\prod_{Q \in \mathcal{C}}\psi_Q(\textbf{x}_Q) }{\sum_{\textbf{x}} \prod_{Q \in \mathcal{C}}\psi_Q(\textbf{x}_Q)} = \frac{\prod_{Q \in \mathcal{C}}\psi_Q(\textbf{x}_Q)}{Z} \tag{8.11} P(x)=∑x∏Q∈CψQ(xQ)∏Q∈CψQ(xQ)=Z∏Q∈CψQ(xQ)(8.11)
其中 ψ \psi ψ为势函数。考虑到若某一个团不是极大团,则它必被包含于一个极大团,因此,我们可以仅仅使用最大团来对式(8.11)进行重写,令 C ∗ \mathcal{C}^* C∗为极大团集合,则有,
(8.12) P ( x ) = ∏ Q ∈ C ∗ ψ Q ( x Q ) Z P(\textbf{x}) = \frac{\prod_{Q \in \mathcal{C}^*}\psi_Q(\textbf{x}_Q)}{Z} \tag{8.12} P(x)=Z∏Q∈C∗ψQ(xQ)(8.12)
仅使用最大团,可以很大程度上降低使用的团个数,降低计算成本。
b. conditional independence
马尔可夫随机场的条件独立性较贝叶斯网络更加清晰,其定义分离集为,
若节点集合A到节点集合B的任意一条路径,都经过节点集合C,那么称C为分离集。
对于马尔可夫随机场,有以下三种形式的独立性判断方法,
- 全局马尔可夫性(global markov property):给定两个属性子集的分离集,则这两个属性子集相互独立;
- 局部马尔可夫性(local markov property):给定某个属性的邻居属性,则该属性独立于其他非邻居属性;
- 成对马尔可夫性(pairwise markov property):给定所有其他属性,两个非邻接属性相互独立。