• 机器学习笔记之马尔可夫链蒙特卡洛方法(四)吉布斯采样


    引言

    上一节介绍了将马尔可夫链与蒙特卡洛方法相结合的算法——MH采样算法(Metropolis Hastings),本节将介绍吉布斯采样算法(Gibbs Sampling)。

    回顾:MH采样算法

    基于马尔可夫链的采样方式

    首先,MH算法是基于马尔可夫链的采样方式:

    • 通过构建合适的状态转移矩阵 A ∗ \mathcal A^* A,使得连续状态下的随机变量 X t , X t + 1 \mathcal X_t,\mathcal X_{t+1} Xt,Xt+1对应的概率分布满足细致平衡原则(Detail Balance):
      π ( X t = x i ) ⋅ P ( X t + 1 = x j ∣ X t = x i ) = π ( X t = x j ) ⋅ P ( X t + 1 = x i ∣ X t = x j ) \pi(\mathcal X_{t} =x_i) \cdot P(\mathcal X_{t+1} =x_j \mid \mathcal X_t = x_i) = \pi(\mathcal X_{t} = x_j) \cdot P(\mathcal X_{t+1} =x_i \mid \mathcal X_t =x_j) π(Xt=xi)P(Xt+1=xjXt=xi)=π(Xt=xj)P(Xt+1=xiXt=xj)
      其中, π ( X t ) , π ( X t + 1 ) \pi(\mathcal X_t),\pi(\mathcal X_{t+1}) π(Xt),π(Xt+1)表示不同时刻对应随机变量 X t , X t + 1 \mathcal X_t,\mathcal X_{t+1} Xt,Xt+1的概率分布; P ( X t + 1 ∣ X t ) P(\mathcal X_{t+1} \mid \mathcal X_t) P(Xt+1Xt)表示 t t t时刻到 t + 1 t+1 t+1时刻的状态转移概率
    • 这种状态转移矩阵 A ∗ \mathcal A^* A的构建方式,使得马尔可夫链 { X T } \{\mathcal X_{T}\} { XT}共用同一个概率分布,即平稳分布
    • 已知上一状态随机变量 X k − 1 \mathcal X_{k-1} Xk1选择具体离散结果 x k − 1 x_{k-1} xk1的条件下,当前状态随机变量 X k \mathcal X_{k} Xk的采样结果可表示如下:
      x k ∼ P ( X k ∣ X k − 1 = x k − 1 ) x_k \sim P(\mathcal X_{k} \mid \mathcal X_{k-1} = x_{k-1}) xkP(XkXk1=xk1)
    • 由于平稳分布的原因,使得 各时间状态产生的样本点 { x 0 , x 1 , ⋯   , x k − 1 , x k , ⋯   } \{x_0,x_1,\cdots,x_{k-1},x_{k},\cdots \} { x0,x1,,xk1,xk,}均属于平稳分布的样本点,从而使用蒙特卡洛方法来求解该平稳分布的期望信息
      N N N表示采集样本点数量。
      E X [ f ( X ) ] = 1 N ∑ i = 1 N f ( x i ) \mathbb E_{\mathcal X} [f(\mathcal X)] = \frac{1}{N} \sum_{i=1}^N f(x_i) EX[f(X)]=N1i=1Nf(xi)

    细致平衡原则与接收率

    马尔可夫链与平稳分布中介绍过,由于马尔可夫链自身的 齐次马尔可夫假设 的性质,使得状态转移矩阵 A \mathcal A A必然是一个双随机矩阵
    由于双随机矩阵的自身性质,使得只要状态转移过程足够多,各状态随机变量的概率分布必然逼近于平稳分布
    m m m表示执行了足够多次状态转移过程后达到平稳分布的状态结果; X e n d \mathcal X_{end} Xend表示转移过程的终结状态。
    π ( X m + 1 ) = π ( X m + 2 ) = ⋯ = π ( X e n d ) \pi(\mathcal X_{m+1}) = \pi(\mathcal X_{m+2}) = \cdots = \pi(\mathcal X_{end}) π(Xm+1)=π(Xm+2)==π(Xend)

    但是,我们并不清楚:到底状态转移至什么状态,就可以得到平稳分布了
    或者可理解为:虽然平稳分布在马尔可夫链中必然存在,但是要一直等下去,等到转移次数足够多了,就大致认为其是平稳分布

    这种做法明显是不精确的。我们需要有一种方式,来判断当前时刻随机变量的概率分布是否为平稳分布
    细致平衡原则很好地满足了这样的条件,准确来说:细致平衡原则是判断当前状态随机变量 X t \mathcal X_t Xt是平稳分布的充分不必要条件
    π ( X t = x i ) ⋅ P ( X t + 1 = x j ∣ X t = x i ) = ? π ( X t = x j ) ⋅ P ( X t + 1 = x i ∣ X t = x j ) \pi(\mathcal X_{t} =x_i) \cdot P(\mathcal X_{t+1} =x_j \mid \mathcal X_t = x_i) \overset{\text{?}}{=} \pi(\mathcal X_{t} = x_j) \cdot P(\mathcal X_{t+1} =x_i \mid \mathcal X_t =x_j) π(Xt=xi)P(Xt+1=xjXt=xi)=?π

  • 相关阅读:
    SpringBoot快速初始化
    【MATLAB】数学建模没有基础怎么办,看过来一篇文章带你入门 matlab
    docker之dockerFile
    洛谷刷题C语言:远古档案馆(Ancient Archive)、VOLIM、SAHOVNICA、Tuna、KRIŽALJKA
    java计算机毕业设计宿舍管理系统源程序+mysql+系统+lw文档+远程调试
    顺丰接口对接-订单创建与取消(java单元测试)
    密码学 aes rsa 分段加密 填充 rsakey 生成
    用html写一个爱心
    K8S 滚动升级&持久化实战案例
    ASP.NET Core的全局拦截器(在页面回发时,如果判断当前请求不合法,不执行OnPost处理器)
  • 原文地址:https://blog.csdn.net/qq_34758157/article/details/127101602