• 机器学习笔记之概率图模型(六)推断基本介绍


    引言

    前面部分分别介绍了贝叶斯网络(Bayessian Network)马尔可夫随机场(Markov Random Field)的结构表示(Representation),本节开始将介绍概率图模型的第二部分——推断(Inference)。

    回顾:贝叶斯学派与推断

    实际上,我们对推断并不陌生,在变分推断基本介绍中就已经介绍了推断的概念。

    推断表示贝叶斯学派角度实现新样本 x ^ \hat x x^的预测过程中,求解参数的后验概率分布 P ( θ ∣ X ) \mathcal P(\theta \mid \mathcal X) P(θX)
    更加泛化的说法:推断的核心是如何基于可观测变量推测未知变量的条件分布。具体数学符号表示如下:

    • 贝叶斯学派基于样本集合 X \mathcal X X对于新样本 x ^ \hat x x^预测过程
      P ( x ^ ∣ X ) = ∫ θ P ( x ^ , θ ∣ X ) d θ = ∫ θ P ( x ^ ∣ θ ) ⋅ P ( θ ∣ X ) d θ P(ˆxX)=θP(ˆx,θX)dθ=θP(ˆxθ)P(θX)dθ
      P(x^X)=θP(x^,θX)dθ=θP(x^θ)P(θX)dθ
      P(x^X)=θP(x^,θX)dθ=θP(x^θ)P(θX)dθ
    • 贝叶斯学派的核心思想是:不关心模型参数 θ \theta θ的具体结果,只关系 θ \theta θ基于 X \mathcal X X的概率分布 P ( θ ∣ X ) \mathcal P(\theta \mid \mathcal X) P(θX)。如果分布 P ( θ ∣ X ) \mathcal P(\theta \mid \mathcal X) P(θX)已知的条件下,可以通过期望的形式求解 P ( x ^ ∣ X ) \mathcal P(\hat x \mid \mathcal X) P(x^X)
      P ( x ^ ∣ X ) = ∫ θ P ( x ^ ∣ θ ) ⋅ P ( θ ∣ X ) d θ = E θ ∣ X [ P ( x ^ ∣ θ ) ] P(ˆxX)=θP(ˆxθ)P(θX)dθ=EθX[P(ˆxθ)]
      P(x^X)=θP(x^θ)P(θX)dθ=EθX[P(x^θ)]
      P(x^X)=θP(x^θ)P(θX)dθ=EθX[P(x^θ)]

    推断的系统介绍

    场景构建

    样本集合 X \mathcal X X p p p维随机变量,并且每一维度是离散型随机变量。它的概率分布/概率模型 P ( X ) \mathcal P(\mathcal X) P(X)表示如下:
    P ( X ) = P ( x 1 , x 2 , ⋯   , x p ) \mathcal P(\mathcal X) = \mathcal P(x_1,x_2,\cdots,x_p) P(X)=P(x1,x2,,xp)

    推断的任务

    推断的任务就是求解变量的概率
    可能是某一个变量的边缘概率/条件概率,也可能是若干个变量组成的联合概率/条件概率。

    • 给定 P ( X ) \mathcal P(\mathcal X) P(X)的条件下,某一维度 x i ( i = 1 , 2 , ⋯   , p ) x_i(i=1,2,\cdots,p) xi(i=1,2,,p)边缘概率 表示如下:
      概率密度积分公式~
      P ( x i ) = ∑ x 1 ⋯ ∑ i − 1 ∑ i + 1 ⋯ ∑ x p P ( X ) \mathcal P(x_i) = \sum_{x_1} \cdots \sum_{i-1}\sum_{i+1} \cdots \sum_{x_p} \mathcal P(\mathcal X) P(xi)=x1i1i+1xpP(X)
      同理,假设求解 X \mathcal X X某一变量集合 x A x_{\mathcal A} xA的边缘概率分布,数学符号表示如下:
      x A ∈ { x 1 , x 2 , ⋯   , x p } P ( x A ) = ∑ x j ∉ x A P ( X ) x_{\mathcal A} \in \{x_1,x_2,\cdots,x_p\} \quad \mathcal P(x_{\mathcal A}) = \sum_{x_j \notin x_{\mathcal A}} \mathcal P(\mathcal X) xA{x1,x2,,xp}P(xA)=xj/xAP(X)
    • 假设随机变量集合 X = { x 1 , x 2 , ⋯   , x p } \mathcal X = \{x_1,x_2,\cdots,x_p\} X={x1,x2,,xp}可分为如下两个子集 x A , x B x_{\mathcal A},x_{\mathcal B} xA,xB,求解集合间的条件概率分布
      X = x A ∪ x B → P ( x A ∣ x B ) \mathcal X = x_{\mathcal A} \cup x_{\mathcal B} \to \mathcal P(x_{\mathcal A} \mid x_{\mathcal B}) X=xAxBP(xAxB)
    • 如果单从给定联合概率分布,求解某变量的边际概率分布的角度观察最大后验估计推断(MAP Inference)也可算作一种思路。给定 X \mathcal X X含参数的推断变量 Z \mathcal Z Z的联合概率分布如下:
      这里定义 Z \mathcal Z Z是离散型随机变量。
      P ( Z , X ) = P ( z 1 , ⋯   , z m , x 1 , ⋯   , x p ) \mathcal P(\mathcal Z,\mathcal X) = \mathcal P(z_1,\cdots,z_m,x_1,\cdots,x_p) P(Z,X)=P(z1,,zm,x1,,xp)
      最优参数变量的分布结果 Z ^ \hat {\mathcal Z} Z^可表示为:
      Z ^ = arg ⁡ max ⁡ z 1 , ⋯   , z m P ( Z ∣ X ) ∝ arg ⁡ max ⁡ z 1 , ⋯   , z m P ( Z , X ) \hat {\mathcal Z} = \mathop{\arg\max}\limits_{z_1,\cdots,z_m} \mathcal P(\mathcal Z \mid \mathcal X) \propto \mathop{\arg\max}\limits_{z_1,\cdots,z_m} \mathcal P(\mathcal Z,\mathcal X) Z^=z1,,zmargmaxP(ZX)z1,,zmargmaxP(Z,X)
      因为根据贝叶斯定理
      P ( Z ∣ X ) = P ( X ∣ Z ) ⋅ P ( Z ) P ( X ) \mathcal P(\mathcal Z \mid \mathcal X) = \frac{\mathcal P(\mathcal X \mid \mathcal Z) \cdot \mathcal P(\mathcal Z)}{\mathcal P(\mathcal X)} P(ZX)=P(X)P(XZ)P(Z)
      分母中的 P ( X ) \mathcal P(\mathcal X) P(X)是关于 X \mathcal X X边缘概率分布,与 Z \mathcal Z Z无关。从而 arg ⁡ max ⁡ Z P ( Z ∣ X ) \mathop{\arg\max}\limits_{\mathcal Z} \mathcal P(\mathcal Z \mid \mathcal X) ZargmaxP(ZX) arg ⁡ max ⁡ Z P ( Z , X ) \mathop{\arg\max}\limits_{\mathcal Z} \mathcal P(\mathcal Z,\mathcal X) ZargmaxP(Z,X) 的目标相同:
      arg ⁡ max ⁡ Z P ( Z ∣ X ) ∝ arg ⁡ max ⁡ Z P ( Z , X ) \mathop{\arg\max}\limits_{\mathcal Z} \mathcal P(\mathcal Z \mid \mathcal X) \propto \mathop{\arg\max}\limits_{\mathcal Z} \mathcal P(\mathcal Z , \mathcal X) ZargmaxP(ZX)ZargmaxP(Z,X)

    推断方法介绍

    推断主要分为如下两大类型:

    • 精确推断(Precise Inference):希望能够计算出目标变量的边际分布(通过积分(连续型随机变量)或者求和(离散型随机变量)消去其他变量达获取边缘概率分布的目的) 或者条件概率分布的精确结果

      这种方法的计算量复杂度随着极大团规模的增加而呈现指数级增长。因此,适用范围有限。
      其常用方法有:

      • 变量消去法(Variable Elimination,VE),它是精确推断的基本思想,利用模型所描述的条件独立性来消减计算目标概率值所需的计算量

      • 信念传播(Belief Propagation,BP),也称和积算法(Sum-Product Alglorithm)。针对计算多个边际分布过程中重复使用变量消去法 而产生的大量冗余计算的问题,将变量消去法中和积操作看做是消息并保存,从而节省大量的计算资源。

        信念传播的弊端是只能针对树型结构 进行计算。

      • 结点树算法(Junction Tree Algorithm):可看做是信念传播一般图结构下 的推断方法。

    • 近似推断(Approximate Inference):在计算边际概率分布的过程中,可能出现因潜在空间(可以理解成参数变量的特征空间)维度 K \mathcal K K过高,以至于参数变量进行积分需要消耗大量算力和时间代价。数学符号表示如下:
      P ( X ) = ∫ Z P ( X , Z ) d Z = ∫ Z P ( X ∣ Z ) ⋅ P ( Z ) d Z = ∫ z 1 ⋯ ∫ z K P ( X ∣ Z ) ⋅ P ( Z ) d z 1 , ⋯   , z K P(X)=ZP(X,Z)dZ=ZP(XZ)P(Z)dZ=z1zKP(XZ)P(Z)dz1,,zK

      P(X)=ZP(X,Z)dZ=ZP(XZ)P(Z)dZ=z1zKP(XZ)P(Z)dz1,,zK
      P(X)=ZP(X,Z)dZ=ZP(XZ)P(Z)dZ=z1zKP(XZ)P(Z)dz1,,zK
      从而在使用贝叶斯定理过程中,极难求解出后验概率结果
      P ( θ ∣ X ) = P ( X ∣ θ ) ⋅ P ( θ ) P ( X ) \mathcal P(\theta \mid \mathcal X) = \frac{\mathcal P(\mathcal X \mid \theta) \cdot \mathcal P(\theta)}{\mathcal P(\mathcal X)} P(θX)=P(X)P(Xθ)P(θ)
      因此,为了简化运算,我们并不追求参数的精确分布结果,从而通过一些近似方法求解参数分布 P ( θ ∣ X ) \mathcal P(\theta\mid \mathcal X) P(θX)
      常用方法:

    回顾:隐马尔可夫模型中的推断问题

    隐马尔可夫模型介绍中提到的隐马尔可夫模型解决的三个任务

    • 求值任务(Evaluation):给定模型参数 π , A , B \pi,\mathcal A,\mathcal B π,A,B条件下,求解观测序列 O = { o 1 , o 2 , ⋯   , o T } \mathcal O = \{o_1,o_2,\cdots,o_T\} O={o1,o2,,oT}发生的概率。即:
      P ( O ∣ λ ) → P ( o 1 , ⋯   , o T ∣ π , A , B ) \mathcal P(\mathcal O \mid \lambda) \to \mathcal P(o_1,\cdots,o_T \mid \pi,\mathcal A,\mathcal B) P(Oλ)P(o1,,oTπ,A,B)
    • 学习任务(Learning):如何通过观测序列 O \mathcal O O求解最优模型参数 λ ^ \hat \lambda λ^
      λ ^ = arg ⁡ max ⁡ λ P ( O ∣ λ ) \hat \lambda = \mathop{\arg\max}\limits_{\lambda} \mathcal P(\mathcal O \mid \lambda) λ^=λargmaxP(Oλ)
    • 解码任务(Decoding):总体上是给定观测序列,求解状态变量的后验概率
      I ^ = arg ⁡ max ⁡ I P ( I ∣ O ) \hat {\mathcal I} = \mathop{\arg\max}\limits_{\mathcal I} \mathcal P(\mathcal I \mid \mathcal O) I^=IargmaxP(IO)

    其中,求值任务、解码任务本质上就是推断任务

    • 求值任务方法本身将 状态变量 I \mathcal I I引入概率分布再积分的方式求解迭代关系:
      P ( O ∣ λ ) = ∑ I P ( I , O ∣ λ ) P(Oλ)=IP(I,Oλ)
      P(Oλ)=IP(I,Oλ)
      P(Oλ)=IP(I,Oλ)

      并根据选择的观测序列的差异,延伸出前向算法(Forward Algorithm)和后向算法(Backward Algorithm)。
    • 解码任务方法本身是 选择一组合适的状态序列 I ^ \hat {\mathcal I} I^,使得后验概率 P ( I ^ ∣ O , λ ) \mathcal P(\hat {\mathcal I} \mid \mathcal O,\lambda) P(I^O,λ)最大
      I ^ = arg ⁡ max ⁡ I P ( I ^ ∣ O , λ ) \hat {\mathcal I} = \mathop{\arg\max}\limits_{\mathcal I} \mathcal P(\hat {\mathcal I} \mid \mathcal O,\lambda) I^=IargmaxP(I^O,λ)
      而对应方法是 维特比算法:根据相邻时刻状态变量取值的联合概率分布的关联关系
      这个操作类似于“最大后验概率推断”。
      这里并没有直接使用条件概率进行比较,而是通过 联合概率分布 进行的比较。
      δ t ( k ) = max ⁡ i 1 , ⋯   , i t − 1 P ( o 1 , ⋯   , o t , i 1 , ⋯   , i t − 1 , i t = q k ∣ λ ) δ t + 1 ( j ) = max ⁡ i 1 , ⋯   , i t P ( o 1 , ⋯   , o t + 1 , i 1 , ⋯   , i t + 1 = q j ) δt(k)=maxi1,,it1P(o1,,ot,i1,,it1,it=qkλ)δt+1(j)=maxi1,,itP(o1,,ot+1,i1,,it+1=qj)
      δt(k)δt+1(j)=maxi1,,it1P(o1,,ot,i1,,it1,it=qkλ)=maxi1,,itP(o1,,ot+1,i1,,it+1=qj)
      δt(k)δt+1(j)=i1,,it1maxP(o1,,ot,i1,,it1,it=qkλ)=i1,,itmaxP(o1,,ot+1,i1,,it+1=qj)

      最终找到相邻时刻 δ t ( k ) , δ t + 1 ( j ) \delta_t(k),\delta_{t+1}(j) δt(k),δt+1(j)之间的关联关系:
      δ t + 1 ( j ) = δ t ( k ) ⋅ a i j ⋅ b j ( o t + 1 ) \delta_{t+1}(j) = \delta_t(k) \cdot a_{ij} \cdot b_j(o_{t+1}) δt+1(j)=δt(k)aijbj(ot+1)
      从而得到一组最优状态变量序列

    因而,隐马尔可夫模型也被称为 动态贝叶斯网络(Dynamic Bayessian Network)。

    下一节将介绍变量消去法(Variable Elimination)。
    相关参考:
    概率图模型之精确推断
    机器学习-概率图模型7-推断Inference-介绍

  • 相关阅读:
    React 学习系列: 类组件生命周期方法
    asyncawait和promise的区别
    springboot 去掉netflix 禁用Eureka
    大数据平台搭建2024(一)
    Packet Tracer - 综合技能练习(通过调整 OSPF 计时器来修改 OSPFv2 配置)
    【数学建模】离散动态优化问题(多阶段最优生产计划)
    java常见类的方法和使用
    java ssm德育分活动报名系统springboot+vue
    知识产权维权全流程
    Vue.js入门教程(八)
  • 原文地址:https://blog.csdn.net/qq_34758157/article/details/127459549