【问题标题】:Bayes network classification贝叶斯网络分类
【发布时间】:2013-07-19 23:56:24
【问题描述】:

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

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


/ \ 特征1 特征2

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

但在非朴素贝叶斯网络的情况下,像这样:

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


在那种不幼稚的情况下,先决条件如何,我该如何设置?我如何从中获得分类?谢谢(:

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

【问题讨论】:

    标签: machine-learning matlab bayesian bayesian-networks


    【解决方案1】:

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

    之前的:

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

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

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

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

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

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

    我希望这会有所帮助。

    【讨论】:

    • 所以,如果我想对我们所处的季节进行分类,我会在洒水网络中添加一个值为冬季或夏季的类节点,底部只考虑是阴天还是晴天我该怎么做
    • 抱歉,我的意思是,考虑到是否多云或/和下雨,我会给出多云和下雨的概率,这将让我认为它很可能是冬天,可以这样做吗?如果是这样,怎么做?谢谢
    • 我会提出另一个问题,谢谢你帮我很多:)
    • @Pedro,我会在一小时内调查。
    猜你喜欢
    • 2012-06-26
    • 2013-04-08
    • 2013-09-11
    • 2012-08-31
    • 2021-10-12
    • 2012-02-07
    • 2011-01-09
    • 2012-07-14
    相关资源
    最近更新 更多