一、精确推断

  1. 精确推断的实质是一类动态规划算法。它利用图模型所描述的条件独立性来降低计算量。

1.1 变量消去法

  1. 变量消去法是最直观的精确推断算法。

    以下图为例来介绍变量消去法的工作流程。假设推断目标是计算边际概率 一、精确推断 - 图1

    一、精确推断 - 图2

    为了计算 一、精确推断 - 图3 ,只需要通过加法消去变量 一、精确推断 - 图4 即可。

    一、精确推断 - 图5

    其中联合概率分布 一、精确推断 - 图6 是已知的。

    • 根据条件独立性有:一、精确推断 - 图7

      代入上式并重新安排 一、精确推断 - 图8 的位置有:

    一、精确推断 - 图9

    • 定义:

      一、精确推断 - 图10

      其中:一、精确推断 - 图11 仅仅是 一、精确推断 - 图12 的函数;一、精确推断 - 图13 仅仅是 一、精确推断 - 图14 的函数;一、精确推断 - 图15 仅仅是 一、精确推断 - 图16 的函数。

      于是有:

      一、精确推断 - 图17

      实际上图中有 一、精确推断 - 图18 ,最终 一、精确推断 - 图19

  2. 如果是无向图模型,上述方法同样适用。

    一、精确推断 - 图20

    • 根据马尔可夫随机场的联合概率分布有:

      一、精确推断 - 图21

      边际分布:

      一、精确推断 - 图22

    • 定义:

      一、精确推断 - 图23

      其中:一、精确推断 - 图24 仅仅是 一、精确推断 - 图25 的函数;一、精确推断 - 图26 仅仅是 一、精确推断 - 图27 的函数;一、精确推断 - 图28 仅仅是 一、精确推断 - 图29 的函数。

      于是有:

      一、精确推断 - 图30

      • 其中的 一、精确推断 - 图31 为归一化常量,使得 一、精确推断 - 图32 满足概率的定义。
      • 这里 一、精确推断 - 图33 ,这就是无向概率图模型和有向概率图模型的一个重要区别。
  3. 变量消去法通过利用乘法对加法的分配律,将多个变量的积的求和转化为对部分变量交替进行求积与求和的问题。

    • 优点:这种转化使得每次的求和与求积运算限制在局部,仅与部分变量有关,从而简化了计算。

    • 缺点:若需要计算多个边际分布,重复使用变量消去法将会造成大量的冗余计算。

      如:如果要同时计算 一、精确推断 - 图34 ,则变量消去法会重复计算 一、精确推断 - 图35

1.2 信念传播

  1. 信念传播Belief Propagation算法将变量消去法中的求和操作看作一个消息传递过程,解决了求解多个边际分布时的重复计算问题。

  2. 在变量消去法中,求和操作为:一、精确推断 - 图36 。其中 一、精确推断 - 图37 表示结点 一、精确推断 - 图38 的相邻结点的下标集合。

    在信念传播算法中,这个操作被看作从 一、精确推断 - 图39一、精确推断 - 图40 传递了一个消息 一、精确推断 - 图41 。这样,变量消去的过程就可以描述为消息传递过程。

    每次消息传递操作仅与 一、精确推断 - 图42 及其邻接结点直接相关,消息传递相关的计算被限制在图的局部进行。

  3. 在信念传播算法中:

    • 一个结点仅在接收到来自其他所有结点的消息后才能向另一个结点发送消息。
    • 结点的边际分布正比于它所接收的消息的乘积:一、精确推断 - 图43
  4. 如果图结构中没有环,则信念传播算法经过两个步骤即可完成所有消息传递,进而计算所有变量上的边际分布:

    • 指定一个根节点,从所有叶结点开始向根节点传递消息,直到根节点收到所有邻接结点的消息。
    • 从根节点开始向叶结点传递消息,直到所有叶结点均收到消息。

    此时每条边上都有方向不同的两条消息

    belief_propagation