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

机器学习笔记之概率图模型——推断的基本介绍

  • 引言
    • 回顾:贝叶斯学派与推断
    • 推断的系统介绍
      • 场景构建
      • 推断的任务
      • 推断方法介绍
    • 回顾:隐马尔可夫模型中的推断问题

引言

前面部分分别介绍了贝叶斯网络(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 θ \begin{aligned} \mathcal P(\hat x \mid \mathcal X) & = \int_{\theta} \mathcal P(\hat x,\theta \mid \mathcal X)d\theta \\ & = \int_{\theta} \mathcal P(\hat x \mid \theta) \cdot \mathcal P(\theta \mid \mathcal X) d\theta \end{aligned} 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 ^ ∣ θ ) ] \begin{aligned} \mathcal P(\hat x \mid \mathcal X) & = \int_{\theta} \mathcal P(\hat x \mid \theta) \cdot \mathcal P(\theta \mid \mathcal X) d\theta \\ & = \mathbb E_{\theta \mid \mathcal X} [\mathcal P(\hat x \mid \theta)] \end{aligned} 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 \begin{aligned} \mathcal P(\mathcal X) & = \int_{\mathcal Z} \mathcal P(\mathcal X,\mathcal Z) d\mathcal Z \\ & = \int_{\mathcal Z} \mathcal P(\mathcal X \mid \mathcal Z) \cdot \mathcal P(\mathcal Z) d\mathcal Z \\ & = \int_{z_1} \cdots \int_{z_{\mathcal K}} \mathcal P(\mathcal X \mid \mathcal Z) \cdot \mathcal P(\mathcal Z) dz_1,\cdots,z_{\mathcal K} \end{aligned} 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)
    常用方法:

    • 针对有环的图结构LBP(Loop Belief Propagation)算法
    • 确定性近似推断方法,其主要代表有变分推断(Variational Inference)
    • 随机性近似推断方法,主要代表有基于蒙特卡洛采样方法的近似推断,如重要性采样(Importance Sampling),马尔可夫链蒙特卡洛方法(Markov Chain Monte Carlo)等。

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

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

  • 求值任务(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 ∣ λ ) \begin{aligned} \mathcal P(\mathcal O \mid \lambda) = \sum_{\mathcal I} \mathcal P(\mathcal I,\mathcal O \mid \lambda) \end{aligned} 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 ) \begin{aligned} \delta_t(k) & = \mathop{\max}\limits_{i_1,\cdots,i_{t-1}} \mathcal P(o_1,\cdots,o_t,i_1,\cdots,i_{t-1},i_t = q_k \mid \lambda) \\ \delta_{t+1}(j) & = \mathop{\max}\limits_{i_1,\cdots,i_{t}} \mathcal P(o_1,\cdots,o_{t+1},i_1,\cdots,i_{t+1} = q_{j}) \end{aligned} δ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-介绍

你可能感兴趣的:(机器学习,机器学习,推断的本质,精确推断,贝叶斯定理,联合概率分布)