1

我正在学习贝叶斯网络以在 matlab 上进行分类,但我坚持一个简单的(我认为)步骤:

因此,对于像 iris 数据集这样的朴素贝叶斯分类器,该类位于顶部节点,如下所示:

        班级
/ \ 特征1 特征2

所以没关系,我明白为什么类是特性的原因,没关系,我明白为什么类本身有先验。

但在非朴素贝叶斯网络的情况下,如下所示:

原因1 原因2
     | \ /
     | 结果
     | /
     班级


在那种不幼稚的情况下,之前的会怎么走,我该如何设置呢?我如何从中获得分类?谢谢 (:

PS:我正在寻找 BNT 的网络。

4

1 回答 1

3

假设您提到的所有变量都是分类的,并且边缘方向是从上到下:

先验:

在第一个朴素贝叶斯示例中,“类”的条件概率表 (CPT) 仅包含其先验分布,因为它是根节点,即没有任何父节点。如果'class' 可以呈现2 种状态(例如黑色和白色),它的CPT 将由2 个值组成。

在第二个贝叶斯网络 (BN) 示例中,“类”的 CPT 取决于“原因 1”和“结果”。可以说“后果”有 3 个状态,“原因 1”有 4 个状态,和之前一样“类”有 2 个状态。在这种情况下,“类”的 CPT 将包含 3*4*2 个值。当您学习此 CPT 时,您可以将您的先前信念合并为狄利克雷分布(如果所有变量都是分类变量)。有关如何将您的先前信念纳入最大似然估计过程的示例,请查看这些出色的讲座幻灯片

推论:(或您所说的“分类”)

根据进行分类,在示例 1 中,您可以利用贝叶斯规则计算 P('class' = white) 和 P('class' = black)。在第二个 (BN) 示例中,您必须使用置信传播或变量消除或连接树算法来根据观察到的节点更新“类”节点的后验概率。

这里有一个关于如何完成此操作的简单 BNT示例。另外,BNT 工具箱附带了使用联结树功能的简短“推理”示例,您可以在.../examples文件夹下找到该示例。

最后 - 有些人可能不同意 - 就 BN 而言,我建议不要将 A -> B 严格解释为“A 导致 B”,因为 BN 的因果关系方面,特别是在结构学习领域,有很多争论.

我希望这有帮助。

于 2013-07-29T13:21:13.263 回答