• 机器学习笔记之变分推断(一)基本介绍


    机器学习笔记之变分推断——基本介绍

    引言

    从本节开始将从推断入手介绍变分推断

    背景介绍

    提示:本节的背景介绍与机器学习笔记之隐马尔可夫模型(一)概率模型背景的阶段性介绍的部分有很多重复部分,对比食用,谢谢

    频率学派角度认识问题

    频率学派的角度观察,其针对的核心问题是优化问题

    • 示例1:线性回归(Linear Regression,LR),是一种针对数据拟合的统计分析方法。

      • 模型表示
        f ( W , b ) = W T X + b f(\mathcal W,b) = \mathcal W^{T}\mathcal X + b f(W,b)=WTX+b
        其中, X \mathcal X X表示样本集合 W , b \mathcal W,b W,b表示模型参数。最终目的是 通过已知数据 X \mathcal X X,将模型参数 W , b \mathcal W,b W,b估计出来

      • 基于上述思想,提出一个损失函数(Loss Function):每个样本点对拟合直线的误差之和
        L ( W , b ) = ∑ i = 1 N ∣ ∣ W T x ( i ) + b − y ( i ) ∣ ∣ 2 ( x ( i ) , y ( i ) ) ∈ D \mathcal L(\mathcal W,b) = \sum_{i=1}^{N} ||\mathcal W^{T}x^{(i)} + b - y^{(i)}||^2 \quad (x^{(i)},y^{(i)}) \in \mathcal D L(W,b)=i=1N∣∣WTx(i)+by(i)2(x(i),y(i))D
        其中, D \mathcal D D表示数据集合 x ( i ) ( i = 1 , 2 , ⋯   , N ) x^{(i)}(i=1,2,\cdots,N) x(i)(i=1,2,,N)表示数据集合中任意一个样本信息 N N N表示样本数量,是一个 p p p维向量; y ( i ) y^{(i)} y(i)表示样本信息 x ( i ) x^{(i)} x(i)对应的标签信息,是一个标量:
        D = { ( x ( i ) , y ( i ) ) } i = 1 N x ( i ) = ( x 1 ( i ) , x 2 ( i ) , ⋯   , x p ( i ) ) T \mathcal D = \{(x^{(i)},y^{(i)})\}_{i=1}^N \\ x^{(i)} = (x_1^{(i)},x_2^{(i)},\cdots,x_p^{(i)})^{T} D={(x(i),y(i))}i=1Nx(i)=(x1(i),x2(i),,xp(i))T

      • 针对最优模型参数 W ^ , b ^ \hat {\mathcal W},\hat b W^,b^的求解问题,求解思想是:最小化样本点拟合直线的误差结果
        W ^ = arg ⁡ max ⁡ W L ( W , b ) b ^ = arg ⁡ max ⁡ b L ( W , b ) \hat {\mathcal W} = \mathop{\arg\max}\limits_{\mathcal W} \mathcal L(\mathcal W,b) \\ \hat b = \mathop{\arg\max}\limits_{b} \mathcal L(\mathcal W,b) W^=WargmaxL(W,b)b^=bargmaxL(W,b)
        关于求解方式,分为解析解数值解两种:
        直接将 L ( W , b ) \mathcal L(\mathcal W,b) L(W,b) W \mathcal W W求偏导,求得 W \mathcal W W解析解如下
        ∂ L ( W , b ) ∂ W ≜ 0 → W ^ = ( X T X ) − 1 X T Y X = ( x ( 1 ) , ⋯   , x ( N ) ) N × p T Y = ( y ( i ) , ⋯   , y ( N ) ) N × 1 T \frac{\partial \mathcal L(\mathcal W,b)}{\partial \mathcal W} \triangleq 0 \to \hat {\mathcal W} = \left(\mathcal X^{T}\mathcal X\right)^{-1}\mathcal X^{T}\mathcal Y \quad \mathcal X = \left(x^{(1)},\cdots,x^{(N)}\right)^{T}_{N \times p}\mathcal Y = \left(y^{(i)},\cdots,y^{(N)}\right)^{T}_{N \times 1} WL(W,b)0W^=(XTX)1XTYX=(x(1),,x(N))N×pTY=(y(i),,y(N))N×1T
        数值解一般使用方法如 梯度下降(Gradient Descent,GD)方法、随机梯度下降(Stochastic Gradient Descent,SGD)方法进行求解。

    • 示例2:支持向量机(Support Vector Machine,SVM),它是一种基于线性分类硬分类代表方法

      • 模型表示
        f ( W , b ) = s i g n ( W T X + b ) f(\mathcal W,b) = sign(\mathcal W^{T}\mathcal X + b) f(W,b)=sign(WTX+b)
      • 支持向量机的损失函数是一个 包含 N N N个约束的优化问题,并且是凸优化问题
        { min ⁡ 1 2 W T W s . t . y ( i ) ( W T x ( i ) + b ) ≥ 1 ( i = 1 , 2 , ⋯   , N ) {min12WTWs.t.y(i)(WTx(i)+b)1(i=1,2,,N)
        {min21WTWs.t.y(i)(WTx(i)+b)1(i=1,2,,N)
      • 上述损失函数求解
        • 由于上述问题是凸二次规划问题,可以直接使用 Q P \mathcal Q\mathcal P QP方法进行求解;
        • 使用拉格朗日乘数法,将上述问题转化为对偶问题,并基于对偶问题进行求解
    • 示例3:EM算法,该算法基于极大似然估计,通过迭代求解的方式对含隐变量的模型参数进行优化:
      θ ^ = arg ⁡ max ⁡ θ log ⁡ P ( X ∣ θ ) \hat \theta = \mathop{\arg\max}\limits_{\theta} \log P(\mathcal X \mid \theta) θ^=θargmaxlogP(Xθ)
      其迭代公式表示如下:
      θ ( t + 1 ) = arg ⁡ max ⁡ θ ∫ Z P ( X , Z ∣ θ ) ⋅ P ( Z ∣ X , θ ( t ) ) d Z \theta^{(t+1)} = \mathop{\arg\max}\limits_{\theta}\int_{\mathcal Z} P(\mathcal X,\mathcal Z \mid \theta)\cdot P(\mathcal Z \mid \mathcal X,\theta^{(t)})d\mathcal Z θ(t+1)=θargmaxZP(X,Zθ)P(ZX,θ(t))dZ

    经过整理,优化问题 的核心是求出概率模型的具体参数结果 θ \theta θ,并通过 θ \theta θ表示概率模型 P ( X ∣ θ ) P(\mathcal X \mid \theta) P(Xθ)
    这个‘优化问题’的重点在于‘求解’过程,而‘策略’可以理解成优化过程的一种载体。

    贝叶斯学派角度认识问题

    贝叶斯的角度观察,其针对的核心问题是积分问题
    已知样本集合 X \mathcal X X,通过贝叶斯定理求解 X \mathcal X X条件下,模型参数 θ \theta θ的后验概率分布 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)
    P ( θ ∣ X ) = P ( X ∣ θ ) ⋅ P ( θ ) P ( X ) P(\theta \mid \mathcal X) = \frac{P(\mathcal X \mid \theta) \cdot P(\theta)}{P(\mathcal X)} P(θX)=P(X)P(Xθ)P(θ)

    • P ( θ ) P(\theta) P(θ)为关于模型参数 θ \theta θ先验概率分布
    • P ( X ∣ θ ) P(\mathcal X \mid \theta) P(Xθ)数据集合 X \mathcal X X似然
    • P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)模型参数 θ \theta θ后验概率分布
    • P ( X ) P(\mathcal X) P(X)证据(Evidence),即数据集合 X \mathcal X X边缘概率分布。可写成如下形式:
      ∫ θ P ( X , θ ) d θ = ∫ θ P ( X ∣ θ ) ⋅ P ( θ ) d θ \int_{\theta}P(\mathcal X,\theta)d\theta = \int_{\theta}P(\mathcal X \mid \theta)\cdot P(\theta)d\theta θP(X,θ)dθ=θP(Xθ)P(θ)dθ

    贝叶斯推断(Inference):特指 在贝叶斯框架内,将 θ \theta θ后验概率分布 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)求解出来。
    贝叶斯决策(Decision):已知数据集合 X \mathcal X X中包含 N N N个样本,现存在一个 集合 X \mathcal X X外的样本 x ^ \hat x x^,求解集合 X \mathcal X X条件下, x ^ \hat x x^的后验概率 P ( x ^ ∣ X ) P(\hat x\mid \mathcal X) P(x^X)

    至此,我们通过模型参数 θ \theta θ,将集合 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θ
    至此,基于贝叶斯框架对 新样本 x ^ \hat x x^ 的预测过程:

    • 通过贝叶斯推断 求解参数 θ \theta θ后验概率分布 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)
    • 基于 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX),通过贝叶斯决策求解 x ^ \hat x x^后验概率分布 P ( x ^ ∣ X ) P(\hat x \mid \mathcal X) P(x^X)

    观察上式,可以直接将 P ( x ^ ∣ X ) P(\hat x \mid \mathcal X) P(x^X)看做 P ( x ^ ∣ θ ) P(\hat x \mid \theta) P(x^θ)关于 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)期望形式
    P ( x ^ ∣ X ) = E θ ∣ X [ P ( x ^ ∣ θ ) ] P(\hat x \mid \mathcal X) = \mathbb E_{\theta \mid \mathcal X} \left[P(\hat x \mid \theta)\right] P(x^X)=EθX[P(x^θ)]
    因此,贝叶斯角度实现新样本 x ^ \hat x x^的预测过程,其核心在于:如何求解参数的后验概率分布 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)
    因此,求解后验概率分布 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)这个行为被称为推断(Inference)
    和频率角度看待问题的核心区别:

    • 频率角度求解的是‘模型参数’ θ \theta θ的‘具体结果’或‘迭代产生的近似结果’;(仅关于参数本身)
    • 贝叶斯角度求解的是‘一个概率分布’,关于参数 θ \theta θ的后验概率分布 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)

    推断主要分为如下几种类型:

    • 精确推断(Exact Inference): P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)可以直接求解。常见的精确推断有:
      • 变量消去法
      • 信念传播(Belief Propagation)
    • 近似推断(Approximate Inference):使用近似推断的核心原因是参数空间维度、隐变量空间维度 K \mathcal K K过高,使得对 P ( X ) P(\mathcal X) P(X)的求解过程中出现 积分难问题
      P ( X ) = ∫ 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(XZ)P(Z)dZ=z1zKP(XZ)P(Z)dz1,,zK
      P(X)=ZP(XZ)P(Z)dZ=z1zKP(XZ)P(Z)dz1,,zK

      从而没有办法直接求解后验 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)。因此,只能通过某些方法近似求解后验概率分布 P ( θ ∣ X ) P(\theta \mid \mathcal X) P(θX)
      近似推断可以细分为如下两类:
      • 确定性近似。代表方法:变分推断
      • 随机近似。代表方法:马尔可夫链蒙特卡洛方法(Markov Chain Monte Carlo,MCMC)

    下一节将介绍变分推断的公式推导。

    相关参考:
    机器学习-变分推断1(背景介绍)

  • 相关阅读:
    [MAUI]模仿微信“按住-说话”的交互实现
    PYTHON第一次
    python使用websocket服务传输数据的例子,可以保持长连接
    性能优化:MySQL使用优化(1)
    javascript输出数据在控制台中console的常用方法(上)
    Java静态变量在静态方法内部无法改变值
    动手学深度学习(Pytorch版)代码实践 -计算机视觉-38实战Kaggle比赛:图像分类 (CIFAR-10)
    JS逆向爬虫---请求参数加密②【某麦数据analysis参数加密】
    凌恩客户文献|《ISME》解析土壤侵蚀对微生物群落结构以及网络功能复杂性影响
    分享一个我看源码时的小技巧。
  • 原文地址:https://blog.csdn.net/qq_34758157/article/details/126853340