概率图-精确推理-变量消除法(Variable Elimination)

一、推理问题简介

推理问题是概率图模型的核心,分为精确推理和近似推理。推理问题可以分为3类:

1>求边缘概率:概率图-精确推理-变量消除法(Variable Elimination)

2>求条件概率:概率图-精确推理-变量消除法(Variable Elimination)

3>求MAP:概率图-精确推理-变量消除法(Variable Elimination)

二、变量消除法简介

概率图-精确推理-变量消除法(Variable Elimination)

变量消除法的思想很简单,就是对联合概率不断求和消除其中的变量,最后得到边缘分布。

如上图所示,首先对联合概率来说,先把b消元,得到中间只含a和c的表,然后对c进行求和,得到最后只含有a的概率表,对这个表进行归一化之后,就得到了a的概率。

上面只是一个例子,下面给出公式化的表达,以贝叶斯网为例。

概率图-精确推理-变量消除法(Variable Elimination)

如上图a所示为一个贝叶斯网的结构,写出他的因子乘积形式(如果对因子不了解,可以看我上一篇博客)

概率图-精确推理-变量消除法(Variable Elimination)

接下来要选定消元顺序为x1,x2,x4,x3

首先对x1进行消元,消元过程如下:

概率图-精确推理-变量消除法(Variable Elimination)

因为概率图-精确推理-变量消除法(Variable Elimination)只和x1,x2有关系,所以关于x1积分,剩下的就是关于x2的式子。将上述过程有符号表达为概率图-精确推理-变量消除法(Variable Elimination),其中m的第一个下标表示对那一个变量进行求和,第二个下标表示的是求和剩下的变量,其中括号内的x2,表示的是关于x2的函数。这个符号只是为了说明这一个例子,如果上面的例子复杂一点,这套符号系统就不能很好的描述问题了,实际上变量消元法有更一般化的表达方法,有兴趣的同学可以看参考链接2那本概率图的书。这里为了说明变量消元的思想,就采用这种简单的符号表达。

接下来是对剩余变量的消元过程:

概率图-精确推理-变量消除法(Variable Elimination)

三、变量消除法缺点

1>变量消元法计算的复杂度和消元的顺序有关系,而在实际计算中找到一个最优的消元顺序是一个NP难的问题,所以实际计算中都是采取启发式的规则进行计算,比如选择最小临接点的节点进行消元。

2>如果需要计算多个边缘分布,多次执行变量消除算法,中间会有很多结果可以复用,但是变量消除算法计算了多次,导致效率低下。

参考资料:1>机器学习-周志华

                    2>Daphne Koller,Nir Fridman著,王飞跃,韩素青译-概率图模型原理技术