• 机器学习笔记之概率图模型(九)最大乘积算法(Max-Product Algorithm)


    引言

    上一节介绍了信念传播算法(Belief Propagation,BP)的思想以及具体算法过程,本节将介绍精确推断中的最大乘积算法(Max-Product Algorithm)。

    回顾:推断的本质

    已知数据集合 X \mathcal X X共包含 p p p维特征,并且假设每个特征都是离散型随机变量
    X = { x 1 , x 2 , ⋯   , x p } \mathcal X = \{x_1,x_2,\cdots,x_p\} X={x1,x2,,xp}
    根据概率图的性质,这 p p p维特征并非存在 p p p个结点,而是每个结点可能包含一个/多个特征,这里假定共存在 n n n个结点。我们关心的重点并不在结点的数量,而在于边的信息。假设随机变量 X \mathcal X X表示的概率图中存在 K \mathcal K K条边,即:
    每一条边 e i ( i = 1 , 2 , ⋯   , K ) e_{i}(i=1,2,\cdots,\mathcal K) ei(i=1,2,,K)表示某两个结点之间的关联关系。概率图给定的条件下,将其理解成‘已知信息’。
    E = { e 1 , e 2 , ⋯   , e K } \mathcal E = \{e_1,e_2,\cdots,e_{\mathcal K}\} E={e1,e2,,eK}

    推断基本介绍中提到,推断的本质即变量/特征概率的计算。如:

    • 变量/特征的边缘概率
      概率的加法/积分运算~,这里 x i ( i = 1 , 2 , ⋯   , n ) x_i(i=1,2,\cdots,n) xi(i=1,2,,n)并非表示维度特征,而表示结点所包含的特征集合。
      P ( x i ) = ∑ x 1 ⋯ ∑ x i − 1 ∑ x i + 1 ⋯ ∑ x n P ( X ) \mathcal P(x_i) = \sum_{x_1} \cdots\sum_{x_{i-1}}\sum_{x_{i+1}} \cdots \sum_{x_n} \mathcal P(\mathcal X) P(xi)=x1xi1xi+1xnP(X)
      从概率图的角度观察,基于边的边缘概率 P ( e i ) \mathcal P(e_i) P(ei),其本质上是某两个结点关联关系的概率
      • 有向图的角度观察,该关联关系使用条件概率进行表示:
        P ( e i ) = P ( x i → e n d ∣ x i → s t a r t ) \mathcal P(e_i) = \mathcal P(x_{i \to end} \mid x_{i \to start}) P(ei)=P(xiendxistart)
        其中 x i → s t a r t x_{i \to start} xistart表示 e i e_i ei起始点 x i → e n d x_{i \to end} xiend表示 e i e_i ei终止点
      • 无向图的角度观察,该关联关系使用势函数进行表示:
        不同于‘有向图’中 e i e_i ei的有向性,无向图中 x i → s t a r t , x i → e n d x_{i \to start},x_{i \to end} xistart,xiend没有顺序性,只是借用上述符号而已。
        P ( e i ) = ψ ( x i → s t a r t , x i → e n d ) \mathcal P(e_i) = \psi(x_{i \to start},x_{i \to end}) P(ei)=ψ(xistart,xiend)
    • 变量/特征的条件概率:将结点分成如下两个子集 x A , x B x_{\mathcal A},x_{\mathcal B} xA,xB,结点集合间的条件概率分布表示如下:
      概率的乘法运算~
      P ( x A ∣ x B ) x A ∪ x B = X \mathcal P(x_{\mathcal A} \mid x_{\mathcal B}) \quad x_{\mathcal A} \cup x_{\mathcal B} = \mathcal X P(xAxB)xAxB=X
      在给定概率图的条件下,边本身的含义即确定了的结点/特征之间的关联关系。因此基于边的条件概率,实际上是 给定关联关系的条件下,关联关系对应结点的后验概率。即:
      P ( X ∣ E ) \mathcal P(\mathcal X \mid \mathcal E) P(XE)
      根据任务需要,可能并不需要完整结点集合 X \mathcal X X的概率结果,而只关心部分结点的后验概率结果。如:
      P ( x B ∣ E ) = ∑ x A P ( X ∣ E ) \mathcal P(x_{\mathcal B} \mid \mathcal E) = \sum_{x_{\mathcal A}} \mathcal P(\mathcal X \mid \mathcal E) P(xBE)=xAP(XE)
    • 基于变量/特征的最大后验概率推断
      根据条件概率公式
      P ( x B ∣ x A ) = P ( x A , x B ) P ( x A ) \mathcal P(x_{\mathcal B} \mid x_{\mathcal A}) = \frac{\mathcal P(x_{\mathcal A} ,x_{\mathcal B})}{\mathcal P(x_{\mathcal A})} P(xBxA)=P(xA)P(xA,xB)
      在求解关于 x B x_{\mathcal B} xB的最优解 x B ^ \hat {x_{\mathcal B}} xB^时,由于分母 P ( x A ) \mathcal P(x_{\mathcal A}) P(xA) x B x_{\mathcal B} xB无关,有:
      x B ^ = arg ⁡ max ⁡ x B P ( x B ∣ x A ) ∝ arg ⁡ max ⁡ x B P ( x A , x B ) \hat {x_{\mathcal B}} = \mathop{\arg\max}\limits_{x_{\mathcal B}} \mathcal P(x_{\mathcal B} \mid x_{\mathcal A}) \propto \mathop{\arg\max}\limits_{x_{\mathcal B}} \mathcal P(x_{\mathcal A},x_{\mathcal B}) xB^=xBargmaxP(xBxA)xBargmaxP(xA,xB)
      基于边的最大后验概率推断,最终得到给定结点之间的关联关系(边),从而找到表示优秀性能的结点组成的序列。因此有:
      X ^ = arg ⁡ max ⁡ X P ( X ∣ E ) \hat {\mathcal X} = \mathop{\arg\max}\limits_{\mathcal X} \mathcal P(\mathcal X \mid \mathcal E) X^=XargmaxP(XE)
      同理,局部最优序列也可进行如下表示:
      x A ^ = arg ⁡ max ⁡ x A P ( x A ∣ E ) \hat {x_{\mathcal A}} = \mathop{\arg\max}\limits_{x_{\mathcal A}} \mathcal P(x_{\mathcal A} \mid \mathcal E) xA^=xAargmaxP(xAE)

    回顾:维特比算法

    在介绍隐马尔可夫模型的解码问题中介绍了维特比算法(Viterbi Algorithm)。解码问题的本质给定观测序列 O = { o 1 , ⋯   , o T } \mathcal O = \{o_1,\cdots,o_T\} O={o1,,oT},求解对应状态序列的后验概率 P ( I ∣ O , λ ) \mathcal P(\mathcal I \mid \mathcal O,\lambda) P(IO,λ)
    λ \lambda λ表示隐马尔可夫模型的参数变量 → π , A , B \to \pi,\mathcal A,\mathcal B π,A,B

    但使用的方法并非直接求解 P ( I ∣ O , λ ) \mathcal P(\mathcal I \mid \mathcal O,\lambda) P(IO,λ),而是通过找出 P ( I , O ∣ λ ) \mathcal P(\mathcal I,\mathcal O \mid \lambda) P(I,Oλ)的最优解在相邻时刻间的关联关系
    其中 I t \mathcal I_t It表示状态序列 { i 1 , ⋯   , i t } \{i_1,\cdots,i_t\} {i1,,it},其他符号 I t + 1 , O t , O t + 1 \mathcal I_{t+1},\mathcal O_t,\mathcal O_{t+1} It+1,Ot,Ot+1同理。
    δ t = max ⁡ I t − 1 P ( I t ∣ O t , λ ) ∝ max ⁡ I t − 1 P ( I t , O t ∣ λ ) δ t + 1 = max ⁡ I t P ( I t + 1 ∣ O t + 1 , λ ) ∝ max ⁡ I t P ( I t + 1 , O t + 1 ∣ λ ) δ t → δ t + 1 \delta_t = \mathop{\max}\limits_{\mathcal I_{t-1}} \mathcal P(\mathcal I_t \mid \mathcal O_t,\lambda) \propto \mathop{\max}\limits_{\mathcal I_{t-1}} \mathcal P(\mathcal I_t,\mathcal O_t \mid \lambda) \\ \delta_{t+1} = \mathop{\max}\limits_{\mathcal I_t} \mathcal P(\mathcal I_{t+1} \mid \mathcal O_{t+1},\lambda) \propto \mathop{\max}\limits_{\mathcal I_t} \mathcal P(\mathcal I_{t+1},\mathcal O_{t+1} \mid \lambda) \\ \delta_t \to \delta_{t+1} δt=It1maxP(ItOt,λ)It1maxP(It,Otλ)δt+1=ItmaxP(It+1Ot+1,λ)ItmaxP(It+1,Ot+1λ)δtδt+1
    从初始时刻开始,将迭代过程的中间步骤记录下来,从而找出一条最优状态序列 I T ^ \hat {\mathcal I_T} IT^。由于最优序列的子集同样是最优的,因此任意两个时刻之间的状态序列均可以通过记录查找的方式获取,从而减少运算时间(动态规划问题)。
    这明显是两步操作;
    1. 本质上是描述 max ⁡ I t − 1 P ( I t ∣ O t , λ ) \mathop{\max}\limits_{\mathcal I_{t-1}} \mathcal P(\mathcal I_t \mid \mathcal O_t,\lambda) It1maxP(ItOt,λ) max ⁡ I t P ( I t + 1 ∣ O t + 1 , λ ) \mathop{\max}\limits_{\mathcal I_t} \mathcal P(\mathcal I_{t+1} \mid \mathcal O_{t+1},\lambda) ItmaxP(It+1Ot+1,λ)之间的关联关系;
    2. 通过‘最大后验概率推断’将步骤1的操作转化为 max ⁡ I t − 1 P ( I t , O t ∣ λ ) \mathop{\max}\limits_{\mathcal I_{t-1}} \mathcal P(\mathcal I_t,\mathcal O_t \mid \lambda) It1maxP(It,Otλ) max ⁡ I t P ( I t + 1 , O t + 1 ∣ λ ) \mathop{\max}\limits_{\mathcal I_{t}} \mathcal P(\mathcal I_{t+1},\mathcal O_{t+1} \mid \lambda) ItmaxP(It+1,Ot+1λ)之间的关联关系。

    最大乘积算法

    回顾:信念传播

    信念传播的算法思想中,结点间的消息传递方式只是其中一部分,在 消息传递的过程中,将结点之间的消息记录下来并进行存储。一旦需要计算其他结点的边缘概率分布时,可以直接通过消息查找的方式进行计算,从而节省大量运算时间。
    由于‘概率图结构’是给定不变的,因此无论从哪个结点作为根结点进行迭代,任意存在关联关系的‘结点对’ x j , x k x_j,x_k xj,xk之间消息传递的结果 m j → k ( x k ) m_{j \to k}(x_k) mjk(xk)都不会发生变化。
    x j , x k x_j,x_k xj,xk之间的 消息传递结果 m j → k ( x k ) m_{j \to k}(x_k) mjk(xk) 表示如下:
    { m j → k ( x k ) = ∑ x j ψ j k ( x j , x k ) ⋅ ∏ l ∈ n ( i ) , l ≠ k m l → j ( x j ) P ( x i ) ∝ ∏ k ∈ n ( i ) m k → i ( x i ) {mjk(xk)=xjψjk(xj,xk)ln(i),lkmlj(xj)P(xi)kn(i)mki(xi) {mjk(xk)=xjψjk(xj,xk)ln(i),l=kmlj(xj)P(xi)kn(i)mki(xi)

    对于联合概率分布的误区

    联合概率分布并非某一具体数值,而是在变量取不同结果过程中,联合概率分布也会发生相应变化:

    例如存在一枚质地不均匀的硬币,其正面朝上的概率 P ( u p ) = 0.3 \mathcal P(up) = 0.3 P(up)=0.3反面朝上的概率 P ( d o w n ) = 0.7 \mathcal P(down)=0.7 P(down)=0.7,投掷两次该硬币,第一次变量结果记作 x 1 x_1 x1,第二次变量结果记作 x 2 x_2 x2,针对四种情况(正,正),(正,反),(反,正),(反,反) 对应的概率结果表示如下:

    0.09 0.09 0.09 0.21 0.21 0.21
    0.21 0.21 0.21 0.49 0.49 0.49

    那么对应联合概率结果存在 3 3 3种情况: 0.09 , 0.21 , 0.49 0.09,0.21,0.49 0.09,0.21,0.49

    由于设定数据集合 X \mathcal X X中的各特征是离散型随机变量,因此 各特征内存在对应取值,并且每个取值对应相应概率结果。从而对应的联合概率分布结果也会存在多种情况。
    这里并不局限于‘离散型随机变量’,连续型随机变量同样也会存在多种情况。

    最大乘积算法(Max-Product Algorithm)示例

    最大乘积算法既可以求解某结点变量的边缘概率分布,也可以求解多个结点变量的联合概率分布

    信念传播算法之间不同的是,它求解的均是最大概率分布。而具体的迭代方式依然使用信念传播方法。

    已知一个马尔可夫随机场表示如下:
    马尔可夫随机场-示例
    求解目标包含两个阶段:

    • 所有结点的最大联合概率分布
    • 最优结点变量的边缘概率分布

    具体传播过程如上述蓝色箭头所示,逐步推导迭代过程:

    • 首先观察结点变量 i 8 , i 9 i_8,i_9 i8,i9,它们只和 i 2 i_2 i2相关联,因此结点变量 i 9 i_9 i9基于自身随机变量的取值,向结点变量 i 2 i_2 i2传递的最大消息 m 9 → 2 ( i 2 ) m_{9 \to 2}(i_2) m92(i2) 表示如下:
      需要注意的问题: m 9 → 2 ( i 2 ) m_{9 \to 2}(i_2) m92(i2)中的变量只包含 i 2 i_2 i2,因为 i 9 i_9 i9已经选择了‘使 ψ 92 ( i 9 , i 2 ) \psi_{92}(i_9,i_2) ψ92(i9,i2)达到最大所对应的取值。下面同理。
      m 9 → 2 ( i 2 ) = max ⁡ i 9 ψ 92 ( i 9 , i 2 ) m_{9 \to 2}(i_2) = \mathop{\max}\limits_{i_9} \psi_{92}(i_9,i_2) m92(i2)=i9maxψ92(i9,i2)
      同理,结点变量 i 8 i_8 i8向结点变量 i 2 i_2 i2传递的最大消息 m 8 → 2 ( i 2 ) m_{8 \to 2}(i_2) m82(i2) 表示如下:
      m 8 → 2 ( i 2 ) = max ⁡ i 8 ψ 82 ( i 8 , i 2 ) m_{8 \to 2}(i_2) = \mathop{\max}\limits_{i_8} \psi_{82}(i_8,i_2) m82(i2)=i8maxψ82(i8,i2)
      至此, i 8 , i 9 i_8,i_9 i8,i9两个变量结点的路径全部处理完毕。 i 2 , i 8 , i 9 i_2,i_8,i_9 i2,i8,i9三个变量结点的最大联合概率分布 max ⁡ i 2 , i 8 , i 9 P ( i 2 , i 8 , i 9 ) \mathop{\max}\limits_{i_2,i_8,i_9} \mathcal P(i_2,i_8,i_9) i2,i8,i9maxP(i2,i8,i9)表示如下:
      这里将 i 2 , i 8 , i 9 i_2,i_8,i_9 i2,i8,i9看成一个独立的子图,后续同理。
      max ⁡ i 2 , i 8 , i 9 P ( i 2 , i 8 , i 9 ) = max ⁡ i 2 m 9 → 2 ( i 2 ) ⋅ m 8 → 2 ( i 2 ) \mathop{\max}\limits_{i_2,i_8,i_9} \mathcal P(i_2,i_8,i_9) = \mathop{\max}\limits_{i_2} m_{9 \to 2}(i_2) \cdot m_{8 \to 2}(i_2) i2,i8,i9maxP(i2,i8,i9)=i2maxm92(i2)m82(i2)
      此时变量结点 i 2 , i 8 , i 9 i_2,i_8,i_9 i2,i8,i9最优取值 i 2 ∗ , i 8 ∗ , i 9 ∗ i_2^*,i_8^*,i_9^* i2,i8,i9也可以被表示出来:
      后面省略了~
      i 2 ∗ , i 8 ∗ , i 9 ∗ = arg ⁡ max ⁡ i 2 , i 8 , i 9 P ( i 2 , i 8 , i 9 ) i_2^*,i_8^*,i_9^* = \mathop{\arg\max}\limits_{i_2,i_8,i_9} \mathcal P(i_2,i_8,i_9) i2,i8,i9=i2,i8,i9argmaxP(i2,i8,i9)
    • 继续观察结点变量 i 6 , i 7 i_6,i_7 i6,i7,它们只和 i 1 i_1 i1相关联,与 i 8 , i 9 i_8,i_9 i8,i9同理, m 7 → 1 ( i 1 ) , m 6 → 1 ( i 1 ) m_{7 \to 1}(i_1),m_{6 \to 1}(i_1) m71(i1),m61(i1)以及最大联合概率分布 max ⁡ i 1 , i 6 , i 7 P ( i 1 , i 6 , i 7 ) \mathop{\max}\limits_{i_1,i_6,i_7} \mathcal P(i_1,i_6,i_7) i1,i6,i7maxP(i1,i6,i7)分别表示如下:
      m 7 → 1 ( i 1 ) = max ⁡ i 7 ψ 71 ( i 7 , i 1 ) m 6 → 1 ( i 1 ) = max ⁡ i 6 ψ 61 ( i 6 , i 1 ) max ⁡ i 1 , i 6 , i 7 P ( i 1 , i 6 , i 7 ) = max ⁡ i 1 m 7 → 1 ( i 1 ) ⋅ m 6 → 1 ( i 1 ) m71(i1)=maxi7ψ71(i7,i1)m61(i1)=maxi6ψ61(i6,i1)maxi1,i6,i7P(i1,i6,i7)=maxi1m71(i1)m61(i1) m71(i1)m61(i1)i1,i6,i7maxP(i1,i6,i7)=i7maxψ71(i7,i1)=i6maxψ61(i6,i1)=i1maxm71(i1)m61(i1)
    • 继续观察 i 1 , i 2 , i 3 i_1,i_2,i_3 i1,i2,i3部分, i 1 , i 2 i_1,i_2 i1,i2变量结点向 i 3 i_3 i3传递的最大消息 m 1 → 3 ( i 3 ) , m 2 → 3 ( i 3 ) m_{1 \to 3}(i_3),m_{2 \to 3}(i_3) m13(i3),m23(i3)分别表示如下:
      相比于子集合 { i 2 , i 8 , i 9 } , { i 1 , i 6 , i 7 } \{i_2,i_8,i_9\},\{i_1,i_6,i_7\} {i2,i8,i9},{i1,i6,i7},随着迭代的加深,子集合扩张了~
      m 1 → 3 ( i 3 ) = max ⁡ i 1 ψ 13 ( i 1 , i 3 ) ⋅ m 7 → 1 ( i 1 ) ⋅ m 6 → 1 ( i 1 ) m 2 → 3 ( i 3 ) = max ⁡ i 2 ψ 23 ( i 2 , i 3 ) ⋅ m 9 → 2 ( i 2 ) ⋅ m 8 → 2 ( i 2 ) m_{1 \to 3}(i_3) = \mathop{\max}\limits_{i_1} \psi_{13}(i_1,i_3) \cdot m_{7 \to 1}(i_1) \cdot m_{6 \to 1}(i_1)\\ m_{2 \to 3}(i_3) = \mathop{\max}\limits_{i_2} \psi_{23}(i_2,i_3) \cdot m_{9 \to 2}(i_2) \cdot m_{8 \to 2}(i_2) m13(i3)=i1maxψ13(i1,i3)m71(i1)m61(i1)m23(i3)=i2maxψ23(i2,i3)m92(i2)m82(i2)
      因此,对应最大联合概率分布 P ( i 1 , i 2 , i 3 , i 6 , i 7 , i 8 , i 9 ) \mathcal P(i_1,i_2,i_3,i_6,i_7,i_8,i_9) P(i1,i2,i3,i6,i7,i8,i9)对应表示如下:
      max ⁡ i 1 , i 2 , i 3 , i 6 , i 7 , i 8 , i 9 P ( i 1 , i 2 , i 3 , i 6 , i 7 , i 8 , i 9 ) = max ⁡ i 3 m 1 → 3 ( i 3 ) ⋅ m 2 → 3 ( i 3 ) maxi1,i2,i3,i6,i7,i8,i9P(i1,i2,i3,i6,i7,i8,i9)=maxi3m13(i3)m23(i3) i1,i2,i3,i6,i7,i8,i9maxP(i1,i2,i3,i6,i7,i8,i9)=i3maxm13(i3)m23(i3)
    • 最终剩余结点变量 i 4 i_4 i4,该点只与 i 3 i_3 i3相关联,因此 m 3 → 4 ( i 4 ) m_{3 \to 4}(i_4) m34(i4)可表示为:
      m 3 → 4 ( i 4 ) = max ⁡ i 3 ψ 34 ( i 3 , i 4 ) ⋅ m 1 → 3 ( i 3 ) ⋅ m 2 → 3 ( i 3 ) m_{3 \to 4}(i_4) = \mathop{\max}\limits_{i_3} \psi_{34}(i_3,i_4) \cdot m_{1 \to 3}(i_3) \cdot m_{2 \to 3}(i_3) m34(i4)=i3maxψ34(i3,i4)m13(i3)m23(i3)
      对应最大联合概率分布 P ( i 1 , i 2 , i 3 , i 4 , i 6 , i 7 , i 8 , i 9 ) \mathcal P(i_1,i_2,i_3,i_4,i_6,i_7,i_8,i_9) P(i1,i2,i3,i4,i6,i7,i8,i9)对应表示如下:
      max ⁡ i 1 , i 2 , i 3 , i 4 , i 6 , i 7 , i 8 , i 9 P ( i 1 , i 2 , i 3 , i 4 , i 6 , i 7 , i 8 , i 9 ) = max ⁡ i 4 m 3 → 4 ( i 4 ) \mathop{\max}\limits_{i_1,i_2,i_3,i_4,i_6,i_7,i_8,i_9}\mathcal P(i_1,i_2,i_3,i_4,i_6,i_7,i_8,i_9) = \mathop{\max}\limits_{i_4} m_{3 \to 4}(i_4) i1,i2,i3,i4,i6,i7,i8,i9maxP(i1,i2,i3,i4,i6,i7,i8,i9)=i4maxm34(i4)

    至此,整个概率图全部遍历结束,对上述结果进行整理,该概率图的最大联合概率分布 表示如下:
    max ⁡ i 1 , i 2 , i 3 , i 4 , i 6 , i 7 , i 8 , i 9 P ( i 1 , i 2 , i 3 , i 4 , i 6 , i 7 , i 8 , i 9 ) = max ⁡ i 4 m 3 → 4 ( i 4 ) = max ⁡ i 4 max ⁡ i 3 ψ 34 ( i 3 , i 4 ) ⋅ m 1 → 3 ( i 3 ) ⋅ m 2 → 3 ( i 3 ) = max ⁡ i 4 max ⁡ i 3 ψ 34 ( i 3 , i 4 ) ⋅ ( max ⁡ i 1 ψ 13 ( i 1 , i 3 ) ⋅ m 7 → 1 ( i 1 ) ⋅ m 6 → 1 ( i 1 ) ) ⋅ ( max ⁡ i 2 ψ 23 ( i 2 , i 3 ) ⋅ m 9 → 2 ( i 2 ) ⋅ m 8 → 2 ( i 2 ) ) = max ⁡ i 4 max ⁡ i 3 ψ 34 ( i 3 , i 4 ) ⋅ [ max ⁡ i 1 ψ 13 ( i 1 , i 3 ) ⋅ ( max ⁡ i 7 ψ 71 ( i 7 , i 1 ) ) ⋅ ( max ⁡ i 6 ψ 61 ( i 6 , i 1 ) ) ] ⋅ [ max ⁡ i 2 ψ 23 ( i 2 , i 3 ) ⋅ ( max ⁡ i 9 ψ 92 ( i 9 , i 2 ) ) ⋅ ( max ⁡ i 8 ψ 82 ( i 8 , i 2 ) ) ] maxi1,i2,i3,i4,i6,i7,i8,i9P(i1,i2,i3,i4,i6,i7,i8,i9)=maxi4m34(i4)=maxi4maxi3ψ34(i3,i4)m13(i3)m23(i3)=maxi4maxi3ψ34(i3,i4)(maxi1ψ13(i1,i3)m71(i1)m61(i1))(maxi2ψ23(i2,i3)m92(i2)m82(i2))=maxi4maxi3ψ34(i3,i4)[maxi1ψ13(i1,i3)(maxi7ψ71(i7,i1))(maxi6ψ61(i6,i1))][maxi2ψ23(i2,i3)(maxi9ψ92(i9,i2))(maxi8ψ82(i8,i2))] i1,i2,i3,i4,i6,i7,i8,i9maxP(i1,i2,i3,i4,i6,i7,i8,i9)=i4maxm34(i4)=i4maxi3maxψ34(i3,i4)m13(i3)m23(i3)=i4maxi3maxψ34(i3,i4)(i1maxψ13(i1,i3)m71(i1)m61(i1))(i2maxψ23(i2,i3)m92(i2)m82(i2))=i4maxi3maxψ34(i3,i4)[i1maxψ13(i1,i3)(i7maxψ71(i7,i1))(i6maxψ61(i6,i1))][i2maxψ23(i2,i3)(i9maxψ92(i9,i2))(i8maxψ82(i8,i2))]

    由于知道了各阶段的联合概率分布,边缘概率分布的计算变得非常简单。以 i 4 i_4 i4结点为例。现在已知联合概率分布 P ( i 1 , i 2 , i 3 , i 4 , i 6 , i 7 , i 8 , i 9 ) \mathcal P(i_1,i_2,i_3,i_4,i_6,i_7,i_8,i_9) P(i1,i2,i3,i4,i6,i7,i8,i9)概率分布 P ( i 1 , i 2 , i 3 , i 6 , i 7 , i 8 , i 9 ) \mathcal P(i_1,i_2,i_3,i_6,i_7,i_8,i_9) P(i1,i2,i3,i6,i7,i8,i9) i 4 i_4 i4的边缘概率分布直接做除法即可
    P ( i 4 ∗ ) = max ⁡ i 1 , i 2 , i 3 , i 4 , i 6 , i 7 , i 8 , i 9 P ( i 1 , i 2 , i 3 , i 4 , i 6 , i 7 , i 8 , i 9 ) max ⁡ i 1 , i 2 , i 3 , i 6 , i 7 , i 8 , i 9 P ( i 1 , i 2 , i 3 , i 6 , i 7 , i 8 , i 9 ) \mathcal P(i_4^*) = \frac{\mathop{\max}\limits_{i_1,i_2,i_3,i_4,i_6,i_7,i_8,i_9}\mathcal P(i_1,i_2,i_3,i_4,i_6,i_7,i_8,i_9)}{\mathop{\max}\limits_{i_1,i_2,i_3,i_6,i_7,i_8,i_9}\mathcal P(i_1,i_2,i_3,i_6,i_7,i_8,i_9)} P(i4)=i1,i2,i3,i6,i7,i8,i9maxP(i1,i2,i3,i6,i7,i8,i9)i1,i2,i3,i4,i6,i7,i8,i9maxP(i1,i2,i3,i4,i6,i7,i8,i9)

    下一节将介绍针对环结构概率图的处理方法——因子图

    相关参考:
    概率统计学习笔记(2):联合分布
    机器学习-概率图模型11-推断Inference-Max Product(1)

  • 相关阅读:
    Kafka的存储机制和可靠性
    群友讨论:Pandas与MySQL求解经销商会话时间相关的问题
    【C++】运算符重载 ⑨ ( 等号 = 运算符重载 | 调用默认浅拷贝构造函数的情况分析 | 等号 = 运算符重载 与 拷贝构造函数 各自使用场景 | 等号 = 操作符重载步骤 )
    SpringCloud 微服务应用篇 | (4)Feign远程调用
    PLG SaaS 产品 Figma 商业模式拆解
    Python人工智能需要学什么
    C:warning: null argument where non-null required (argument 2) [-Wnonnull]
    【红包雨压测环境】
    国庆假期买哪款耳机好?国庆假期必备蓝牙耳机推荐
    【Pingtunnel工具教程】利用ICMP隧道技术进行ICMP封装穿透防火墙
  • 原文地址:https://blog.csdn.net/qq_34758157/article/details/127550303