概率图模型推断之Belief Propagation

初步打算把概率图模型中推断方法都介绍一下,包括Belief Propagation,变分方法,MCMC,以及像是Graph cut也做一些说明。
关于Belief Propagation是什么?
Belief Propagation是一种信息传递方法,一般用来解关于概率图模型中的推断问题,在这些问题中,单纯地通过公式推导或者MC模拟是很难得到准确答案的,这就需要BP,能够很有效地求解一些特定问题得边缘概率。
首先说明一下为什么边缘概率如此难求,wiki上的例子:

X={xi} 是一个离散的随机变量集合,并且其联合概率是 p ,关于某个变量的边缘概率就是对于所有其他变量的一个求和
pXi(xi)=x:xi=xip(x)
但是这个求和会随着变量的增多而变得呈指数增长,假设说有100个二元变量,每个可以取01,那样所需要的求和次数就是 2996.338×1029 ,BP能够充分利用数据结构信息,让计算变得很简便。像是以前学得动态规划解决最短路径,以及维特比方法求HMM的Hidden state的概率,都是用了BP的思想。
说道动态规划(Dynamic programing),可能大家都很熟悉,DP的主要思想就是构造最有子空间,把求解一个大问题分解成求解一系列的小问题,BP也是这个思想,BP利用了局部分消息传递,把计算全局的求和或者积分,转换成了局部的消息传递,每个节点都能都过自身的状态以及邻近节点的状态做出评价,得到自身的下一状态,不断地更新最终使系统达到稳定。

下面以MRF上的Belief Propagation为例来介绍BP是如何求解MRF中的Inference问题的。
一般一个MRF问题都可以表述成这样的形式:

p({x})=1Z(i,j)ψi,j(xi,xj)iϕi(xi)

ϕi(xi) 一般是为了简略,原本应该是 ϕi(xi,yi) 的形式, yi 是可测变量,观察变量, xi 是hidden node,不可测的,一般 yi 的不可变,所以将其省略,而 xi 却又很多种可能,例如很多可能性标签,等等,一般用个 L 维的向量来表示。在BP中,不同的Hidden node之间(一般指有邻接关系的)是通过message来传递消息的,这样我们定义一个message变量 mij(xj) ,来表示从节点 i 向节点 j 传递的一个消息,也可以传递的belief,对于 xj 可能性的度量,

参考:
【1】http://en.wikipedia.org/wiki/Belief_propagation
【2】http://blog.sina.com.cn/s/blog_4dfdfdc30100q2el.html
【3】Jonathan S. Yedidia, William T. Freeman, and Yair Weiss, “Understanding Belief Propagation and Its Generalizations” in Exploring Artificial Intelligence in the New Millennium, Lakemeyer, G. and Nebel, B., Eds., ISBN: 1-55860-811-7, chapter 8, pp. 239-236, Morgan Kaufmann Publishers, January 2003
【5】Constructing Free Energy Approximations and Generalized Belief Propagation Algorithms
http://www.cs.princeton.edu/courses/archive/spr06/cos598C/papers/YedidaFreemanWeiss2004.pdf

你可能感兴趣的:(【概率图模型】)