大师兄的贝叶斯网络学习笔记(十九):贝叶斯网络与概率推理(二)
大师兄的贝叶斯网络学习笔记(二十一):贝叶斯网络与概率推理(四)
二、变量消元算法
2. 消元运算
- 抽象地讲,一个联合分布是一个多变量函数。于是,分解的概念可以自然地推广到一般的多元函数。。
- 设
是变量
的一个函数,而
是一组函数,其中每个
所涉及的变量是
的一个子集。
- 如果
,则称
是F的一个分解(factorization),
称为这个分解的因子(factor)。
- 从
出发,可通过如下方式获得变量
的一个函数
。
- 从函数
中消去
,得到函数
这个过程叫消元(elimination)。
- 设
是函数
的一个分解。从
中消去变量
指的是如下过程:
- 从
中删去所有涉及
的函数(不失一般性,设这些函数是
);
- 将新函数
放回
中。
- 定理:设
是函数
的一个分解。设
是从
中消去
后所得的一组函数,
是从
中消去
后所得的函数。那么,
是
的一个分解。
- 证明:设
,而
只在
中出现。
- 有
。 定理得证。
- 很显然,直接从
中消去变量
而得到
的计算复杂度相对于变量个数n成指数增长。
- 但是,从
的一个分解
中消去
,而得到
的一个分解
的计算复杂度未必相对于n成指数增长。
- 实际上,这个过程的主要运算是计算
,其复杂度只依赖于涉及
的因子
所涉及到的变量个数可能远远小于n。