文章目录
变量消元法
基本思想: 通过从联合概率分布逐步消除变量,求解边缘概率
![](https://i-blog.csdnimg.cn/blog_migrate/e119515486a1fa63ab69fae1419a8626.png)
变量消元法示例一
小结
- 变量消元法把全局概率的推理计算,转换为局部变量的因子乘积和因子求和运算
- 变量消元法地的时间复杂度由消元过程中产生的中间因子的规模决定
- 变量消元法的时间复杂度与消元顺序有关,如:选择具有最少近邻节点的变量进行消元
团树传播算法
团树传播算法先构造一个团树,把概率推理计算转为团树节点之间的消息传递,消息传递的本质也是因子的乘积求和运算
聚类图(cluster graph)
定义:对于给定的概率图模型,因子集为
Φ
=
ϕ
\Phi={\phi}
Φ=ϕ ,变量集为X,聚类图是定义在概率图模型上的一个无向图,每个节点i是变量集的子集
C
i
⊆
X
C_i\subseteq X
Ci⊆X。聚类图必须满足族保持(family preserving),即每个因子
ϕ
\phi
ϕ必须与一个节点
C
i
C_i
Ci关联,使得
S
c
o
p
e
[
ϕ
]
⊆
C
i
Scope[\phi]\subseteq C_i
Scope[ϕ]⊆Ci。一对节点
C
i
C_i
Ci和
C
j
C_j
Cj之间的每条边与一个割集
S
i
j
⊆
C
i
∩
C
j
S_{ij} \subseteq C_i\cap C_j
Sij⊆Ci∩Cj关联。
变量消元法构建聚类图性质
- 性质1:树状图 在变量消元的过程中,每个中间因子被使用了一次,每个聚类图的节点传递一个消息给唯一的另一个节点,因此整个变量消元过程产生的聚类图为一个树状图
- 性质2:族保持 概率图模型的每个因子必须出现在某个消元步骤,所以满足族保持性质
- 族保持定义:在一个概率图模型中,变量集合A和变量集合B在给定一些其他变量的条件下是条件独立的,那么在任何子图模型中,这个条件独立性仍然保持
- 执行交叉性质:对于聚类图,如果对于任意变量
X
∈
C
i
,
X
∈
C
j
X\in C_i,X\in C_j
X∈Ci,X∈Cj,若X也出现在两个节点之间唯一路径上的每个节点,则该聚类图满足执行交叉性质.
团树定义:如果聚类图满足以上三个性质,则称为团树,由变量消元法得到的聚类图为团树
团速传播算法计算X的边缘概率
- 利用变量消元构造团树,团树节点势函数初始化
- 选取变量X所在的节点为根节点
- 计算叶子节点到根节点的消息
- 根节点的势函数乘以来自邻节点的消息
- 计算变量X所在节点的边缘概率
![](https://i-blog.csdnimg.cn/blog_migrate/3bd7ad8cf35c7bc5e8485bf0be713c3c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c8d8142f1633d9296417f9bb5077080b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4616c3afc3db9df1dcf04187dd8f6a7a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c415e35b00bb8505def896013a41915b.png)
求概率图所有节点的边缘概率
![](https://i-blog.csdnimg.cn/blog_migrate/5e15675e57ddc9814c4aa12addfd3583.png)
小结
- 变量消元法和团树传播算法在本质上是一样的,从不同的角度出发
-团树传播算法只需要从叶子节点到根节点,再从根节点到叶子节点,即可计算出所有节点的边缘概率
信念传播算法(BP)
简介:BP算法在树模型上收敛,能得到准确的结果,在环状图模型上为近似推理算法;可以在聚类图上运行,也可以在因子图上执行,
算法流程(聚类图)
- 节点势函数初始化
- 所有消息初始化为1
- 选取所有边,迭代更新消息
- 当消息传递收敛时,计算所有节点的信念(blief)
在树状图模型中,BP算法收敛,且所有节点的信念收敛为每个节点的边缘概率
![](https://i-blog.csdnimg.cn/blog_migrate/8c478f7ad5b2d1bd9e4d5d9471b17a4d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/364f8269dbedec75008f4ac4dc38b5c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ffd149a16a820775704e386b3a271a5.png)
BP算法(Bethe聚类图)
- BP算法一般在Bethe聚类图上执行,Bethe聚类图等价于因子图
- 定义(Bethe聚类图):Bethe聚类图具有两类节点,图模型的每个因子
ϕ
k
∈
Φ
\phi_k\in\Phi
ϕk∈Φ对应一个节点
C
k
=
S
c
o
p
e
[
ϕ
k
]
C_k = Scope[\phi_k]
Ck=Scope[ϕk],每个变量
X
i
X_i
Xi对应一个节点
X
i
{X_i}
Xi,如果变量满足
X
i
∈
C
k
X_i\in C_k
Xi∈Ck,则
X
i
{X_i}
Xi和
C
k
C_k
Ck之间有边连接。 简单来说,跟因子图的定义差不多
BP算法和团树传播算法的联系
- BP算法在团树上执行,传递机制等价于团树传播算法
- BP算法在因子图上执行,不用构造团树,算法更简洁,BP算法只能在树状图模型上收敛
最大后验概率状态推理(MAP推理)
- 推理算法包括求边缘概率、最大后验概率状态、归一化因子三类
- 变量消元法、团树传播算法、BP算法把求和算子替换为求最大算子,即可用于MAP推理
变量消元法求MAP
![](https://i-blog.csdnimg.cn/blog_migrate/600809b470d9d91130302e9316b925d3.png)
![对b求最大](https://i-blog.csdnimg.cn/blog_migrate/71ba4791f11329ea43e41a674d1f218f.png)
**MRF(链状图模型):MAP推理
就是要求A、B、C、D、E分别取什么值的时候,因子的累加和最大
逐层消去之后
![](https://i-blog.csdnimg.cn/blog_migrate/a3dae5bd97ace65d519cf9c4c82d1a39.png)
![](https://i-blog.csdnimg.cn/blog_migrate/46e5fee377ce66748fda3e77acb471e5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3ea2c60c69daa4fcc8947e3a1b22d7ec.png)
文字叙述求解过程
这样化简到
m
a
x
E
λ
4
(
E
)
max_E\lambda_4(E)
maxEλ4(E),反过来推,就是E取什么值,使得
λ
4
(
E
)
\lambda_4(E)
λ4(E)最大;这样就确定了E的取值,然后将E的取值带入到左边
m
a
x
D
(
θ
4
(
D
,
E
)
+
λ
3
(
D
)
)
max_D(\theta_4(D,E)+\lambda_3(D))
maxD(θ4(D,E)+λ3(D))中,可以求得一个D的取值,使得该式子的值最大。
团树传播算法求MAP
**MRF(链状图模型):MAP推理
![](https://i-blog.csdnimg.cn/blog_migrate/afe561de608568ae1e729fdc0ac24b5f.png)
文字叙述求解过程
正向推理
由节点一到节点二,节点一中的变量减去割集,剩下A,因此对A求最大化,也就是
m
a
x
a
θ
1
max_a\theta_1
maxaθ1
反向推理
由节点四到节点一,求解过程与正向推理相同
举个栗子
![](https://i-blog.csdnimg.cn/blog_migrate/035487e6ec4ad9c3ca193f4ab8df6c99.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e64fcac340c6389722845c5a773de1b7.png)
首先是求从节点一到二,对于A来说,分为取 b 0 和 b 1 b_0和b_1 b0和b1, 当取 b 0 时 当取b_0时 当取b0时, A 分为 a 0 和 a 1 A分为a_0和a_1 A分为a0和a1,当取 a 0 a_0 a0的时候,值最大,同理,当取 b 1 b_1 b1时,分析同上;求节点二到节点一时,分析也同上;没啥意思
二值图切法
算法特点
- 主要用来做最大后验概率状态推理(或能量最小化问题)
- 图切法能在特定的二值概率图模型中得到精确推理结果,该图模型特点如下:
- 每个变量的取值数为2
- 边上的势函数满足次模型不等式
最小s-t切分 (图论)
定义:图G上找一个最小权重的s-t切分,s-t切分定义为将节点集合V划分成两个不连通的子集合S和T,其中源节点s在集合S,汇节点t在集合T中,即找到一个切分使得所有切边权重之和最小
c
(
S
,
T
)
=
∑
u
∈
S
,
v
∈
T
,
(
u
,
v
)
∈
E
W
u
v
c(S,T) = \sum_{u\in S,v\in T,(u,v)\in E}^{} W_{uv}
c(S,T)=u∈S,v∈T,(u,v)∈E∑Wuv
![](https://i-blog.csdnimg.cn/blog_migrate/5fd2d9241fbfb1b4cc4a1b3796507b44.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d48c1ff6b888826a69f2429407e0e7e.png)
最小s-t切分等价于最大流问题
最大流问题
- 寻找一个从s节点到t节点的路径,路径的容量大于0;
- 从该路径上流经最大流量
- 构造残差图
- 重复上述过程,直到没有满足条件的路径
![](https://i-blog.csdnimg.cn/blog_migrate/81233dbe305a0e17d6ff076e454c1a9d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ec3ed1478713734d96e594ff7fb9fdb2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bbfaafa38cdfd69928673186c1e2dd09.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bfb0f582bdd333179099b4d4df4d3cf0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/27553fd75e17fbc06af62dcfd0bad594.png)
利用图切分求概率推理问题
能量函数: m i n x ∑ p θ p ( x p ) + ∑ p q θ p q ( x p , x q ) 能量函数:\mathop{min}\limits_{x} \sum_{p}^{}\theta_p(x_p)+\sum_{pq}\theta_{pq}(x_p,x_q) 能量函数:xminp∑θp(xp)+pq∑θpq(xp,xq)
- 假设有一个概率图模型,其有N个节点,则我们为了利用图切法求解上述的能量函数,就需要构造一个带有权重的有向图,其包含N+2个节点,多出来的那两个节点为源节点 s和汇节点 t
- 将能量函数的每一个节点势函数和边势函数通过一定的规律复制到图G,将赋值后的边的权重累加,最终得到带权重的图G
图切法的适用条件
定义(图可表示,graph-representable):一个n个变量的二值能量函数
E
(
X
1
,
X
2
,
.
.
.
.
,
X
n
)
E(X_1,X_2,....,X_n)
E(X1,X2,....,Xn)称为是图可不表示的,如果存在一个带有源节点s和一个汇节点t的图
G
(
V
,
E
)
G(V,E)
G(V,E),其中
V
=
{
s
,
t
}
∪
{
X
1
,
X
2
,
.
.
.
.
,
X
n
}
V={\{s,t\}}\cup {\{X_1,X_2,....,X_n\}}
V={s,t}∪{X1,X2,....,Xn},对于任意变量取值,能量函数的取值等于一个常数加上s-t切分的权重。当一个节点u属于S,则该节点的变量取值为0;当该节点u属于T,则变量取值为1。
次模性:对于定义在成对MRF上的能量函数,该能量函数是图可表示的条件是,边上的势函数满足次模性,即:
θ
p
q
(
0
,
1
)
+
θ
p
q
(
1
,
0
)
−
θ
p
q
(
0
,
0
)
−
θ
p
q
(
1
,
1
)
>
0
\theta_{pq}(0,1)+\theta_{pq}(1,0)-\theta_{pq}(0,0)-\theta_{pq}(1,1)>0
θpq(0,1)+θpq(1,0)−θpq(0,0)−θpq(1,1)>0
能量函数的图表示
![](https://i-blog.csdnimg.cn/blog_migrate/a3b691e059dbf15f3b94942bc09e560b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/012d8c054491175f52b8f6777d909773.png)
![](https://i-blog.csdnimg.cn/blog_migrate/528f80f469870a580dbbac02860787b6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/322af6014044efa3f65189f9fdc2d17a.png)