:::info
推断——确定给定证据的查询变量的概率。
本节首先介绍精确推断方法,再讨论几种近似推断算法。
:::
1. 贝叶斯网络中的推断
在贝叶斯网络中进行精确推断的方法:条件概率、边缘概率、链式法则
2. 朴素贝叶斯模型的推断
在分类任务中,计算条件概率,通常根据后验概率最高的类别
进行分类
,不是关于
的函数
,其中
是归一化常数
因此,,且
3. 加和乘积(Sum-Product)变量消去
在更复杂的贝叶斯网络中,加和乘积变量消去法是进行有效的推理方法之一,它将消除隐藏变量(和)与应用链式规则(积)交织在一起。
加和乘积变量消去法:以一个贝叶斯网络、一组查询变量、一组观测值以及变量排序作为输入。我们首先设置所有观测值。然后,对于每个变量,我们把包含它的所有因子相乘然后把这个变量边缘化。这个新因子取代已消除的因子,我们对下一个变量重复这个过程。
*注:影响计算量的是变量的消去顺序。对于大型网络来说,选择最优消元顺序是NP-hard。即使找到了最优的消去顺序,变量消去仍然需要指数级的计算。
还是以上图为例,计算分布
,与网络中的节点相关的条件概率分布可由以下因子表示:
因为已知先验
,后两个可以替换为
然后,依次消除隐藏变量。可以使用不同的策略来选择消除顺序,在本例中随机选择先
后
的顺序。 消除
:将所有涉及
的因子相乘,然后将
边缘化
,继而丢弃
消除
:
,继而丢弃
,只剩
。最终,取这两个因子的乘积并归一化,以获得表示
的因子 上述程序相当于计算:
即:
4. 置信传播(belief propagation)
通过使用和积算法(sum-product algorithm)在网络中传播“消息”,以计算查询变量的边缘分布的一种推断方法。
5. 计算复杂度
布尔可满足性问题 ( Boolean Satisfiability Problem , SAT )是 NP 完全的,3-SAT 问题的合取范式中,每个子项中,所包含的原子逻辑命题或其否定命题的个数一定为 3 3SAT是 NP 完全问题,且从任意3SAT问题很容易构建贝叶斯网络
可以证明贝叶斯网络中的推断是NP难的
因此,很难找到一种有效、准确、适用于所有贝叶斯网络的推断算法,接下来的部分是近几十年主要研究的近似推理方法。
6. 直接采样(direct sampling)
是最简单的推断方法之一。
以上图为例,假如已知联合分布
的一组
个样本,需要推断
。其中,
表示第
个样本,则直接采样估计为:
直接采样的步骤:
- 在贝叶斯网络中对节点进行拓扑排序(可能有多种排序方法,有向无环图才能拓扑排序)
- 从条件概率分布中采样
7. 似然加权采样(likelihood weighted sampling)
直接采样的问题是,可能会浪费时间生成与观测值不一致的样本,尤其是在观测值不太可能出现的情况下。而似然加权抽样,只用生成与观测值一致的加权样本。还是同样的例子,假如已知联合分布
的一组
个样本,需要推断
,则加权估计是:
为了生成这些加权样本,首先进行拓扑排序,然后按顺序从条件分布中采样。
似然加权的唯一区别是我们如何处理观察到的变量。我们没有从条件分布中采样它们的值,而是将变量分配给它们的观察值,并适当调整样本的权重。样本的权重只是观测节点上条件概率的乘积。
8. 吉布斯采样(Gibbs sampling)
是一种马尔可夫链蒙特卡罗技术,以不加权的方式抽取与证据一致的样本。此方法产生的样本不是独立的。
随机生成初始样本,第
个样本
取决于前一个样本
。
使用未观测变量的任何顺序(不需要拓扑排序),从表示的分布中采样
,其中,
表示样本
中除了
以外的所有其它变量的值。因为只需要考虑变量
的马尔可夫覆盖,采样过程可以有效地完成。
还是同样的例子,假如已知联合分布
的一组
个样本,需要推断
,则吉布斯采样估计是:
9. 高斯分布模型中的推断
如果联合分布是高斯分布,可以进行精确推断。
两个联合高斯分布随机变量和
可以写为:
多元高斯分布的边缘分布也是高斯分布:,
多元高斯分布的条件分布也是高斯分布,具有方便的闭式解/解析解: