【问题标题】:Variable elimination in Bayes Net贝叶斯网络中的变量消除
【发布时间】:2010-03-13 06:58:11
【问题描述】:

我们最近研究了变量消除,老师强调是贝叶斯网络使变量消除更有效。 我对此有点困惑,为什么会这样? 希望各位大神给点意见,非常感谢。

罗伯特

【问题讨论】:

    标签: artificial-intelligence


    【解决方案1】:

    由于内置了条件独立假设,贝叶斯网络可以利用变量消除的顺序。

    具体来说,想象有联合分布 P(a,b,c,d) 并想知道边际 P(a)。如果您对条件独立性一无所知,则可以通过对 b、c 和 d 求和来计算。如果这些具有 k 元域,则需要执行 O(k^3) 操作。

    另一方面,假设您有一个贝叶斯网络,其中 A 是根,B 是 A 的子节点,C 是 B 的子节点,D 是 C 的子节点。然后,您可以将关节重写为P(a|b)P(b|c)P(c|d)P(d) 并将您的三个总和尽可能分布在方程的右侧。当您真正想要计算 P(a) 时,您可以预先计算 sum_d P(d) 的值并存储此函数。同样,您可以预先计算 P(c|d)*sum_d P(d) 的值并将其存储。

    通过这种方式,您最终完成了 O(k^w*+1) 的工作,其中 W* 是贝叶斯网络中任何节点拥有的最大子节点数。在这种情况下,我们做了 O(k^2) 的工作,这也是我们必须保存在内存中的最大条件概率表的大小。请注意,这比我们最初的 O(k^3) 结果要好,如果我们有更多变量会更好。

    简而言之,BN 的条件独立性使您可以更有效地边缘化变量。可以在http://www.cs.uiuc.edu/class/sp08/cs440/notes/varElimLec.pdf 找到对此的另一种解释。

    【讨论】:

    • 这看起来你最终解释了完全不同的东西。
    • 我可能误解了,但这是 BN 更有效地消除变量的一个重要原因,因为它能够利用条件独立性假设。变量消除是一个术语,通常是指边缘化变量的想法。如果您只想从网络中删除一个节点,那么第一个答案就足够了。根据我的经验,当 VE 大写时,我们谈论的是贝叶斯网络,它指的是第一种情况。
    【解决方案2】:

    我认为这是因为一个可以消除的变量是一个只有一个变量依赖于它的变量。在贝叶斯网络中,这些很容易找到,因为它们是具有单个子节点的节点。

    【讨论】:

      猜你喜欢
      • 2021-11-13
      • 2020-10-13
      • 2013-04-08
      • 2011-01-09
      • 2012-07-14
      • 2013-05-11
      • 2013-07-19
      • 2019-11-05
      相关资源
      最近更新 更多