References:
【概述】
在贝叶斯网络训练好后即可进行查询(Query),即通过某些特征的观测值来推测其他特征的取值,这样通过已知特征观测值来推测预测值的过程称为推断(Inference),其中已知观测值称为证据(Evidence)
最理想的情况是,直接根据贝叶斯网络定义的联合概率分布来精确计算后验概率,但当网络结点较多、图为稠密图时,这样的推断是 NP 难的,难以进行精确推断,为此,通常进行近似推断,即通过降低精度要求,在有限时间内求得近似解
在实际应用中,贝叶斯网络的近似推断通常使用吉布斯采样(Gibbs Sampling)完成
【近似推断】
设 $Q=\{Q_1,Q_2,\cdots,Q_n\}$ 为待查询变量,$E=\{E_1,E_2,\cdots,E_k\}$ 为证据变量,证据变量的取值为 $e=\{e_1,e_2,\cdots,e_k\}$,$q=\{q_1,q_2,\cdots,q_n\}$ 是待查询变量的一组取值,现要计算后验概率 $P(Q=q|E=e)$
使用吉布斯采样进行近似推断时,会先随机产生一个与证据 $E=e$ 一致的样本 $q^{(0)}$ 作为初始点,然后每步从当前样本出发产生下一个样本,即在第 $t$ 次采样中,会假设 $q^{(t)}=q^{(t-1)}$,然后对非证据变量逐个进行采样改变其取值,采样概率根据贝叶斯网络 $B$ 和其他变量的当前取值 $Z=z$ 计算获得
假设经过 $T$ 次采样得到的与 $q$ 一致的样本有 $n_q$ 个,那么可近似估算出后验概率:
使用吉布斯采样在贝叶斯网络上进行近似推断,本质上是在贝叶斯网络所有变量的联合状态空间与证据 $E=e$ 一致的子空间中进行随机漫步