概率图模型课堂笔记:2.1 推理

2.1 变量消除

对于贝叶斯网络来说,教程中的$\phi_A(A,B)其实就是$P(A|B)。

这里用一种更好理解的方式。首先总结下概率的几个性质:

1、若$A,B$为独立随机变量,则

$P(A)P(B)=P(A,B)$

$P(A)=P(A|B)$

$P(B)=P(B|A)$

2、若$A,B$在给定$C$的情况下独立,则

$P(A|C)P(B|C)=P(A,B|C)$

$P(A|C)=P(A|B,C)$

$P(B|C)=P(B|A,C)$

$P(C|A,B)P(B)=P(C|A,B)P(A,B)/P(A)=P(A,B,C)/P(A)=P(B,C|A)$

 

$\sum_{LSGHIDC}P(J|L,S)P(L|G)P(S|I)P(G|I,D)P(H|G,J)P(I)\textbf{P(D|C)P(C)}$

$=\sum_{LSGHID}P(J|L,S)P(L|G)P(S|I)P(G|I,D)P(H|G,J)P(I)\sum_{C}\textbf{P(D|C)P(C)}$

$=\sum_{LSGHID}P(J|L,S)P(L|G)P(S|I)P(G|I,D)P(H|G,J)P(I)\sum_{C}\textbf{P(C,D)}$

$=\sum_{LSGHID}P(J|L,S)P(L|G)P(S|I)\textbf{P(G|I,D)}P(H|G,J)P(I)\textbf{P(D)}$

$=\sum_{LSGHID}P(J|L,S)P(L|G)P(S|I)P(H|G,J)P(I)\textbf{P(G|I,D)P(D)}$

$=\sum_{LSGHI}P(J|L,S)P(L|G)P(S|I)P(H|G,J)P(I)\sum_{D}\textbf{P(G|I,D)P(D)}$

$=\sum_{LSGHI}P(J|L,S)P(L|G)P(S|I)P(H|G,J)P(I)\sum_{D}\textbf{P(G,D|I)}$

$=\sum_{LSGHI}P(J|L,S)P(L|G)P(S|I)P(H|G,J)P(I)\textbf{P(G|I)}$

$=\sum_{LSGHI}P(J|L,S)P(L|G)P(H|G,J)\textbf{P(S|I)P(I)P(G|I)}$

$=\sum_{LSGH}P(J|L,S)P(L|G)P(H|G,J)\sum_{I}\textbf{P(S|I)P(I)P(G|I)}$

$=\sum_{LSGH}P(J|L,S)P(L|G)P(H|G,J)\sum_{I}\textbf{P(S,I)P(G|I)}$

$=\sum_{LSGH}P(J|L,S)P(L|G)P(H|G,J)\sum_{I}\textbf{P(S,I)P(G|I,S)}$

$=\sum_{LSGH}P(J|L,S)P(L|G)P(H|G,J)\sum_{I}\textbf{P(G,S,I)}$

$=\sum_{LSGH}P(J|L,S)P(L|G)P(H|G,J)\textbf{P(G,S)}$

$=\sum_{LSGH}P(J|L,S)P(L|G)P(G,S)\textbf{P(H|G,J)}$

$=\sum_{LSG}P(J|L,S)P(L|G)P(G,S)\sum_{H}\textbf{P(H|G,J)}$

$=\sum_{LSG}P(J|L,S)P(L|G)P(G,S)\cdot 1$

$=\sum_{LSG}P(J|L,S)\textbf{P(L|G)P(G,S)}$

$=\sum_{LS}P(J|L,S)\sum_{G}\textbf{P(L|G)P(G,S)}$

$=\sum_{LS}P(J|L,S)\sum_{G}\textbf{P(L|G,S)P(G,S)}$

$=\sum_{LS}P(J|L,S)\sum_{G}\textbf{P(L,S,G)}$

$=\sum_{LS}P(J|L,S)\textbf{P(L,S)}$

$=\sum_{LS}P(J,L,S)$

$=P(J)$

注意几点:

(1)上面采用的变量消除顺序是随意选择的,任意顺序都可以。

(2)上面条件概率的相乘其实就是Factors相乘。

(3)如果要求$P(J,I=i,H=h)$,那么在条件概率表中只保留相应的行,按原来的思路计算。

 

2.2 复杂度分析

$\mathbf{X_k}$:第k次消除涉及的变量集合

$m_k$:第k次消除涉及的factor个数

$\psi_k(\mathbf{X_k})=\prod_{i=1}^{m_k}\phi_i$:第k次消除,相乘产生的新factor

$\tau_k(\mathbf{X_k}-{Z})=\sum_Z\phi_k(\mathbf{X_k})$:第k次消除,边缘化后产生的新factor

 

Factor乘法:计算次数为所有包含的变量取值的个数,就是实际生成表的行数

Factor边缘化:计算次数为所有包含的变量取值的个数,也是原表的行数

$N_k=|Val(X_k)|$

 

令m表示factor的个数,n表示变量个数。对贝叶斯网络来说,m<=n,对马尔科夫来说,没有这个限制。

消除过程中产生的中间factor个数为n(因为每次消除删除一个变量)

总factor个数$m^*\le m+n$

 

令$N=max(N_k)$表示所有的生成factor的行数的最大值。

乘法次数:?

加法次数:?

 

顺序对复杂度的影响:

对图

$(\prod_{j=1}^nP(C_j|A,B))P(A)(B)$

简单方法:

$P(A)=\sum_{B,C_1,C_2,\ldots,C_n}(\prod_{j=1}^nP(C_j|A,B))P(A)(B)$

$=\sum_{B,C_2,C_2,\ldots,C_n}(\prod_{j=2}^nP(C_j|A,B))\sum_{C1}P(C1|A,B)P(A)(B)$

$=\sum_{B,C_2,C_2,\ldots,C_n}(\prod_{j=2}^nP(C_j|A,B))\sum_{C1}P(C1,A,B)$

$=\sum_{B,C_2,C_2,\ldots,C_n}(\prod_{j=2}^nP(C_j|A,B))P(A,B)$

$=\sum_{B,C_3,C_2,\ldots,C_n}(\prod_{j=3}^nP(C_j|A,B))P(A,B)$

$=\sum_{B,C_4,C_2,\ldots,C_n}(\prod_{j=4}^nP(C_j|A,B))P(A,B)$

$=\ldots$

$=\sum_{B}P(A)P(B)$

 

2.3 通过图来分析复杂度

对一个BN,我们做消除的时候,引入一个无向图模型。用它来计算复杂度。

1、将有向图转换成无向图,需要把所有的V结构的两个Parent相互连接。

2、每次消除一个变量,需要把它原先直连的变量们作两两连接。

所有变量消除完成后,最后的图叫Induced Graph。这里注意,不同的消除过程将导致不同的新边,也将导致不同的Induced Graph

3、Induced Graph的连通性定理:

定理一:每个生成的(中间)factor必定代表一个极大完全连通子图,证明:

(1)最开始的时候,每个原始factor必定是一个完全连通子图(不一定是极大)

考虑$P(X|Pa_X)$:$X$和每个$Pa_X$均有边,然后根据1,每个$Pa_X$之间互相也有边

(2)消除一个变量$X_R$,会把所有包含它的factor(完全连通子图),合并成一个大的完全连通子图$G_M$(根据2)

(3)现在要证明$G_M$是极大的(无法加入其他顶点)。实际上,如果有另外一个顶点$X_O$也属于$G_M$,那么它必定和$X_R$相连,那么存在一个factor同时包含了$X_R$和$X_O$。这个factor必定参与了(2)相乘的过程。

定理二:每个极大完全连通子图必定是一个中间factor

证明:(还需加强理解)

(1)如果一个顶点$X$属于一个极大完全连通子图,对于其他点$X_O$,必定与$X$直连

(2)也必定有factor同时包含$X_O$和$X$:

这里要证明,如果任意两点X,Y直连,那么必定有factor同时包含X,Y。

(a)从一开始,这是成立的,因为每条边都代表一个父子关系,或者双亲(多亲)关系,父子和双亲必然是包含在同一个factor里的。

(b)每一次消除生成的新边,必定包含在新生成的factor里。

(3)那么消除$X$的时候,所有的直连邻居都会和$X$合并成一个新的factor。

(4)而每一个$X$必须是会被消除的。所以G就不可避免地成为了一个中间factor

 

4、

Induced Width: Induced Graph中最大完全连通子图的顶点个数减1

Minimal Induced Width: 各种消除顺序生成的Induced Graphs中最小的Induced Width

MIW提供了一个对图进行消除的最小计算量估计。

 

2.4 寻找消除顺序

1. 定理:

(1)寻找一个使得$MIW<=K$的消除顺序是个NP完全问题。

(2)在确定消除顺序后,消除过程是一个NP难问题。

2. 贪心法是个比较实用的方案。定义一个代价函数,然后每次都选择代价最小的顶点。代价函数选择:

(1)最小邻居:消除变量的邻居数

(2)最小重量:消除后产生的factor的行数

(3)最小填充:消除后产生的新边数

(4)加权最小填充:新边的重量和。边的重量:对应两顶点的重量的乘积

3. 定理:任何induced graph是三角图。也就是说,没有长度大于4的无桥圈。说明:对一个4点圈来说,消除任何一个顶点,将产生一个新边。消除这个无桥圈。看教程的图。

每一种三角化,就是一种消除的顺序。(如何应用?)

 

posted on 2017-01-09 15:32  米老虎M  阅读(278)  评论(0编辑  收藏  举报

导航