机器学习-白板推导系列(十三)- 马尔可夫链&蒙特卡洛方法(MCMC, Markov Chain&Monte Carlo)之Gibbs Sampling和平稳分布

13. 马尔可夫链&蒙特卡洛方法(MCMC)

13.4 Gibbs Sampling

13.4.1 概念

  1. 思想
    假设有一随机向量 X = ( x 1 , x 2 , . . . , x d ) \color{blue}X = (x_1,x_2,...,x_d) X=(x1,x2,...,xd),其中 d \color{blue}d d表示有 d \color{blue}d d维,每一维是一随机变量,且并不是常见的相互独立前提。那么,如果已知这个随机向量的概率分布,如何从这个分布中进行采样呢?我们的思想就是一维一维的来,在对每一维进行采样的时候固定住其他的维度,这就是Gibbs Sampling
  2. 数学表示
    从一个随机的初始化状态 x ( 0 ) = ( x 1 ∣ x 2 ( 0 ) , x 3 ( 0 ) , ⋯   , x d ( 0 ) ) \color{red}x^{(0)}=(x_1|x_2^{(0)},x_3^{(0)},\cdots,x_d^{(0)}) x(0)=(x1x2(0),x3(0),,xd(0))开始,对每个维度单独进行采样,其采样顺序大致如下:
    x 1 ( 1 ) ∼ p ( x 1 ∣ x 2 ( 0 ) , x 3 ( 0 ) , ⋯   , x d ( 0 ) ) x 2 ( 1 ) ∼ p ( x 2 ∣ x 1 ( 0 ) , x 3 ( 0 ) , ⋯   , x d ( 0 ) ) ⋮ x d ( 1 ) ∼ p ( x d ∣ x 1 ( 0 ) , x 2 ( 0 ) , ⋯   , x d − 1 ( 0 ) ) ⋮ x 1 ( t ) ∼ p ( x 1 ∣ x 2 ( t − 1 ) , x 3 ( t − 1 ) , ⋯   , x d ( t − 1 ) ) ⋮ x d ( t ) ∼ p ( x d ∣ x 1 ( t − 1 ) , x 2 ( t − 1 ) , ⋯   , x d − 1 ( t − 1 ) ) (13.4.1) \color{red}x_1^{(1)} \thicksim p(x_1|x_2^{(0)},x_3^{(0)},\cdots,x_d^{(0)}) \\x_2^{(1)} \thicksim p(x_2|x_1^{(0)},x_3^{(0)},\cdots,x_d^{(0)}) \\\vdots \\x_d^{(1)} \thicksim p(x_d|x_1^{(0)},x_2^{(0)},\cdots,x_{d-1}^{(0)}) \\\vdots \\x_1^{(t)} \thicksim p(x_1|x_2^{(t-1)},x_3^{(t-1)},\cdots,x_d^{(t-1)}) \\\vdots\\x_{d}^{(t)} \thicksim p(x_d|x_1^{(t-1)},x_2^{(t-1)},\cdots,x_{d-1}^{(t-1)})\tag{13.4.1} x1(1)p(x1x2(0),x3(0),,xd(0))x2(1)p(x2x1(0),x3(0),,xd(0))xd(1)p(xdx1(0),x2(0),,xd1(0))x1(t)p(x1x2(t1),x3(t1),,xd(t1))xd(t)p(xdx1(t1),x2(t1),,xd1(t1))(13.4.1)
    遵从上面的采样步骤,我们最终能够采样得到所需要的高维分布的样本。Gibbs Sampling的过程更像是一个单步迭代的过程,实际上Gibbs是一种特殊的MH采样,为什么呢?我们来证明一下。

    迭代的最开始采样得到的样本并不是完全满足所需要的分布的样本,因为 采 样 之 初 采 样 的 分 布 是 提 议 分 布 , 一 般 是 均 匀 分 布 \color{red}采样之初采样的分布是提议分布,一般是均匀分布

  3. 迭代过程
    在这里插入图片描述
    上图所示,右图是我们需要的分布,左边是迭代的过程,最开始抽样的点0和1都是均匀分布抽样得到的,而越到后面,抽样的点都越满足我们右边的分布,所以这个过程可以说明Gibbs Sampling抽样的过程是可行的。

13.4.2 Gibbs是特殊的MH采样

  • 我们首先回顾一下,MH采样的方法。假设有一随机向量 X = ( x 1 , x 2 , . . . , x d ) \color{blue}X = (x_1,x_2,...,x_d) X=(x1,x2,...,xd),其中 d \color{blue}d d表示有 d \color{blue}d d维, t \color{blue}t t表示时间序列中的某一时刻。我们的目的是从 Q X ( t ) , X    ( X ( t )   ↦ X ) \boldsymbol Q_{X^{(t)},X}\;(X^{(t)} \ \mapsto X) QX(t),X(X(t) X)中采样获得 X ( n e x t ) X^{(next)} X(next),然后计算接受率
    α ( X ( t ) , X ( n e x t ) ) = m i n ( P ( X ( n e x t ) ) Q n e x t , t P ( X ( t ) ) Q t , n e x t , 1 ) (13.4.2) α(X^{(t)},X^{(next)})=min(\frac{P(X^{(next)})\boldsymbol Q_{next,t}}{P(X^{(t)})\boldsymbol Q_{t,next}},1) \tag{13.4.2} α(X(t),X(next))=min(P(X(t))Qt,nextP(X(next))Qnext,t,1)(13.4.2)
    1. 首先看 P ( n e x t ) ( X ) P_{(next)}(X) P(next)(X),其可以写成:
      P ( X ( n e x t ) ) = P ( X i ( n e x t ) ∣ X − i ( n e x t ) )    P ( X − i ( n e x t ) ) (13.4.3) \color{blue}P(X^{(next)}) = P(X^{(next)}_i|X^{(next)}_{-i})\; P(X^{(next)}_{-i})\tag{13.4.3} P(X(next))=P(Xi(next)Xi(next))P(Xi(next))(13.4.3)
      其中 i \color{blue}i i表示对第 i \color{blue}i i维进行采样, − i \color{blue}-i i表示除了第 − i \color{blue}-i i剩下的维度。
    2. 接着看 Q n e x t , t \color{blue}\boldsymbol Q_{next,t} Qnext,t( X ( n e x t )   ↦ X ( t ) X^{(next)} \ \mapsto X^{(t)} X(next) X(t)):
      Q n e x t , t = P ( X ( t ) ∣ X ( n e x t ) ) (13.4.4) \color{blue} \boldsymbol Q_{next,t}=P(X^{(t)}|X^{(next)})\tag{13.4.4} Qnext,t=P(X(t)X(next))(13.4.4)
      则公式(13.4.2)可以写成:
      α ( X ( t ) , X ( n e x t ) ) = m i n ( P ( X ( n e x t ) ) Q n e x t , t P ( X ( t ) ) Q t , n e x t , 1 ) = m i n ( P ( X i ( n e x t ) ∣ X − i ( n e x t ) )    P ( X − i ( n e x t ) ) P ( X ( t ) ∣ X ( n e x t ) ) P ( X i ( t ) ∣ X − i ( t ) )    P ( X − i ( t ) ) P ( X ( n e x t ) ∣ X ( t ) ) , 1 ) (13.4.5) \color{blue} \begin{array}{ll}α(X^{(t)},X^{(next)})&=min(\frac{P(X^{(next)})\boldsymbol Q_{next,t}}{P(X^{(t)})\boldsymbol Q_{t,next}},1) \\ &=min(\frac{P(X^{(next)}_i|X^{(next)}_{-i})\; P(X^{(next)}_{-i})P(X^{(t)}|X^{(next)})}{P(X^{(t)}_i|X^{(t)}_{-i})\; P(X^{(t)}_{-i})P(X^{(next)}|X^{(t)})},1)\end{array}\tag{13.4.5} α(X(t),X(next))=min(P(X(t))Qt,nextP(X(next))Qnext,t,1)=min(P(Xi(t)Xi(t))P(Xi(t))P(X(next)X(t))P(Xi(next)Xi(next))P(Xi(next))P(X(t)X(next)),1)(13.4.5)
    3. 然后优化 Q n e x t , t \color{blue}\boldsymbol Q_{next,t} Qnext,t
      • 根据Gibbs Sampling的方法,由公式(13.4.1)可知,每次迭代是固定 − i \color{blue}-i i,迭代 i \color{blue}i i,那么对于 Q n e x t , t ( P ( X ( t ) ∣ X ( n e x t ) ) ) \boldsymbol Q_{next,t}(P(X^{(t)}|X^{(next)})) Qnext,t(P(X(t)X(next)))可以写成:
        Q n e x t , t = P ( X ( t ) ∣ X ( n e x t ) ) = P ( X i ( t ) ∣ X − i ( n e x t ) ) Q t , n e x t = P ( X ( n e x t ) ∣ X ( t ) ) = P ( X i ( n e x t ) ∣ X − i ( t ) ) (13.4.6) \color{red}\boldsymbol Q_{next,t}=P(X^{(t)}|X^{(next)})= P(X_i^{(t)} | X_{-i}^{(next)})\\ \boldsymbol Q_{t,next}=P(X^{(next)}|X^{(t)})= P(X_i^{(next)} | X_{-i}^{(t)})\tag{13.4.6} Qnext,t=P(X(t)X(next))=P(Xi(t)Xi(next))Qt,next=P(X(next)X(t))=P(Xi(next)Xi(t))(13.4.6)
      • 每次迭代, X − i ( t ) X_{-i}^{(t)} Xi(t) X − i ( n e x t ) X_{-i}^{(next)} Xi(next)是一样的,即:
        P ( X − i ( n e x t ) ) = P ( X − i ( t ) ) (13.4.7) P(X^{(next)}_{-i}) = P(X^{(t)}_{-i})\tag{13.4.7} P(Xi(next))=P(Xi(t))(13.4.7)
        因此 Q n e x t , t \boldsymbol Q_{next,t} Qnext,t还能写成:
        Q n e x t , t = P ( X ( t ) ∣ X ( n e x t ) ) = P ( X i ( t ) ∣ X − i ( n e x t ) ) = P ( X i ( t ) ∣ X − i ( t ) ) Q t , n e x t = P ( X i ( n e x t ) ∣ X − i ( n e x t ) ) (13.4.8) \color{red}\begin{array}{ll}\boldsymbol Q_{next,t}&=P(X^{(t)}|X^{(next)})\\&= P(X_i^{(t)} | X_{-i}^{(next)})\\ &= P(X_i^{(t)} | X_{-i}^{(t)})\\ \boldsymbol Q_{t,next} &= P(X_i^{(next)} | X_{-i}^{(next)})\end{array}\tag{13.4.8} Qnext,tQt,next=P(X(t)X(next))=P(Xi(t)Xi(next))=P(Xi(t)Xi(t))=P(Xi(next)Xi(next))(13.4.8)
    4. 整理
      因此公式(13.4.5)~(13.4.8)可知:
      α ( X ( t ) , X ( n e x t ) ) = m i n ( P ( X ( n e x t ) ) Q n e x t , t P ( X ( t ) ) Q t , n e x t , 1 ) = m i n ( P ( X i ( n e x t ) ∣ X − i ( n e x t ) )    P ( X − i ( n e x t ) ) P ( X ( t ) ∣ X ( n e x t ) ) P ( X i ( t ) ∣ X − i ( t ) )    P ( X − i ( t ) ) ) P ( X ( n e x t ) ∣ X ( t ) ) , 1 ) = m i n ( P ( X i ( n e x t ) ∣ X − i ( n e x t ) )    P ( X − i ( t ) ) P ( X i ( t ) ∣ X − i ( t ) ) P ( X i ( t ) ∣ X − i ( t ) )    P ( X − i ( t ) ) P ( X i ( n e x t ) ∣ X − i ( n e x t ) ) , 1 ) = 1 (13.4.9) \color{blue} \begin{array}{ll}α(X^{(t)},X^{(next)})&=min(\frac{P(X^{(next)})\boldsymbol Q_{next,t}}{P(X^{(t)})\boldsymbol Q_{t,next}},1) \\ &=min(\frac{P(X^{(next)}_i|X^{(next)}_{-i})\; P(X^{(next)}_{-i})P(X^{(t)}|X^{(next)})}{P(X^{(t)}_i|X^{(t)}_{-i})\; P(X^{(t)}_{-i}))P(X^{(next)}|X^{(t)})},1)\\ & =min(\frac{P(X^{(next)}_i|X^{(next)}_{-i})\; P(X^{(t)}_{-i})P(X_i^{(t)} | X_{-i}^{(t)})}{P(X^{(t)}_i|X^{(t)}_{-i})\; P(X^{(t)}_{-i})P(X_i^{(next)} | X_{-i}^{(next)})},1)\\ & = 1\end{array}\tag{13.4.9} α(X(t),X(next))=min(P(X(t))Qt,nextP(X(next))Qnext,t,1)=min(P(Xi(t)Xi(t))P(Xi(t)))P(X(next)X(t))P(Xi(next)Xi(next))P(Xi(next))P(X(t)X(next)),1)=min(P(Xi(t)Xi(t))P(Xi(t))P(Xi(next)Xi(next))P(Xi(next)Xi(next))P(Xi(t))P(Xi(t)Xi(t)),1)=1(13.4.9)
      因此Gibbs Samplings是 α = 1 \alpha = 1 α=1的MH Sampling的意义了。Gibbs Sampling就是把目标分布 P P P对应的条件概率当作状态转移分布 Q Q Q
  • 使用Gibbs Sampling是有使用前提的,即:固定其他维度后的一维分布时方便进行采样的,如果固定其他维度的时候得到的一维分布仍然是非常难进行采样的,就很难使用Gibbs Sampling。

13.5 回顾

这一小节将主要来介绍:什么是采样?为什么而采样?什么样的样本是好的样本?以及采样中主要遇到的困难?

  1. 采样的动机
    1. 完成任务
      我们机器学习中经常需要进行采样来完成各种各样的任务。如:从一个 P ( X ) P(X) P(X)中采出一堆样本。
    2. 求和求积分
      包括大名鼎鼎的Monte Carlo算法。求 P ( X ) P(X) P(X)主要是为了求在 P ( X ) P(X) P(X)概率分布下的一个相关函数的期望,也就是:
      ∫ P ( x ) f ( x ) d x = E P ( X ) [ f ( X ) ] ≈ 1 N ∑ i = 1 N f ( x ( i ) ) (13.5.1) \int P(x)f(x)dx = \mathbb{E}_{P(X)}[f(X)] \approx \frac{1}{N} \sum_{i=1}^N f(x^{(i)})\tag{13.5.1} P(x)f(x)dx=EP(X)[f(X)]N1i=1Nf(x(i))(13.5.1)
      通过采样来得到 P ( X ) ∼ { x ( 1 ) , x ( 2 ) , ⋯   , x ( N ) } P(X) \sim \{ x^{(1)},x^{(2)},\cdots, x^{(N)} \} P(X){x(1),x(2),,x(N)}样本点。
  2. 什么样的是好样本
    什么样的样本就是好样本呢?或者说是采样的效率更高一些。
    1. 样本的分布要趋向于原始的目标分布
      也就是说样本要趋向于高概率选择区域。或者是说,采出来的样本出现的概率和实际的目标分布的概率保持一致。
    2. 样本和样本之间是相互独立的
      如果采出来的一堆样本之间都差不多,那么就算采出来了趋向于高概率选择区域的样本,那采样效率太低了,样本中反映的信息量太有限了。
  3. 实际采样中的困难
    1. Partation   function   is   intractable. \textbf{Partation function is intractable.} Partation function is intractable.
      后验分布往往被写成 P ( X ) = 1 Z P ^ ( X ) P(X) = \frac{1}{Z} \hat{P}(X) P(X)=Z1P^(X),上面这个 P ^ ( X ) \hat{P}(X) P^(X)都比较好求,就是等于 Likelihood × \times × Prior。而 Z Z Z是归一化常数,它非常的难以计算, Z = ∫ P ^ ( X ) d X Z = \int \hat{P}(X) dX Z=P^(X)dX,这几乎就是不可计算的。所以,有很多采样方法就是想要跳过求 P ( X ) P(X) P(X)的过程,来从一个近似的分布中进行采样,当然这个近似的分布采样要比原分布简单。比如:Rejection Sampling和Importance Sampling。
    2. The   curse   of   high   dimension . \textbf{The curse of high dimension}. The curse of high dimension.
      如果样本空间 X ∈ R p \mathcal{X} \in \mathbb{R}^p XRp,每个维度都有 K K K维。那么总的样本空间就有 K p K^p Kp的状态。要知道那个状态的概率高,就必须要遍历整个样本空间,不然就不知道哪个样本的概率高,如果状态的数量是这样指数型增长的话,全看一遍之后进行采样时不可能的。所以,直接采样的方法是不可行的。
  4. 采样方法
    • 借助 Q ( x ) Q(x) Q(x)逼近目标分布 P ( x ) P(x) P(x)
      Rejection Sampling和Importance Sampling,都是借助 Q ( x ) Q(x) Q(x)逼近目标分布 P ( x ) P(x) P(x),通过从 Q ( x ) Q(x) Q(x)中进行采样来达到在 P ( x ) P(x) P(x)中采样的目的,而且在 Q ( x ) Q(x) Q(x)中采样比较简单。如果 Q ( x ) Q(x) Q(x) P ( x ) P(x) P(x)直接的差距太大的话,采样效率会变得很低。
    • 利用马氏链
      MCMC方法,我们主要介绍了MH Sampling和Gibbs Sampling,主要通过构建一个马氏链去逼近目标分布。

13.6 平稳分布

MCMC采样借助马氏链,经过若干步以后会收敛到一个平稳分布。马尔可夫链的组成可以大致分成两个部分:

  1. 状态空间: { 1 , 2 , 3 , ⋯   , k } \{ 1,2,3,\cdots,k \} {1,2,3,,k}
  2. 状态转移空间 Q = [ Q i j ] k × k Q=[Q_{ij}]_{k\times k} Q=[Qij]k×k

13.6.1 基本概念

马尔可夫链的模型可以被我们表达为:
在这里插入图片描述

  • 每一个时间点有一个状态分布, q ( t ) ( x ) \color{red}q^{(t)}(x) q(t)(x)表示当前时间点位于某个状态的概率分布情况。假设在 t = 1 t=1 t=1的时间节点有 K \color{blue}K K个状态,状态的概率分布为 q ( 1 ) ( x ) \color{blue}q^{(1)}(x) q(1)(x)表示为:
    x x x 1 1 1 2 2 2 K K K
    q ( 1 ) ( x ) q^{(1)}(x) q(1)(x) q ( 1 ) ( 1 ) q^{(1)}(1) q(1)(1) q ( 1 ) ( 2 ) q^{(1)}(2) q(1)(2) q ( 1 ) ( K ) q^{(1)}(K) q(1)(K)
  • 相邻时间节点之间的状态转移矩阵为:
    Q = [ Q 11 Q 12 ⋯ Q 1 k Q 21 Q 22 ⋯ Q 2 k ⋮ ⋮ ⋱ ⋮ Q k 1 Q k 2 ⋯ Q k k ] k × k (13.6.1) \begin{array}{c} Q = \begin{bmatrix} Q_{11} & Q_{12} & \cdots & Q_{1k} \\ Q_{21} & Q_{22} & \cdots & Q_{2k} \\ \vdots & \vdots & \ddots & \vdots \\ Q_{k1} & Q_{k2} & \cdots & Q_{kk} \\ \end{bmatrix}_{k\times k} \end{array}\tag{13.6.1} Q=Q11Q21Qk1Q12Q22Qk2Q1kQ2kQkkk×k(13.6.1)
    • 状态转移矩阵描述的是: Q i j = Q ( X ( t + 1 ) = j ∣ X ( t ) = i ) Q_{ij} = Q(X^{(t+1)}=j|X^{(t)}=i) Qij=Q(X(t+1)=jX(t)=i)。描述的是从一个状态 i \color{red}i i转移到另外一个状态 j \color{red}j j的概率。
    • 状态转移矩阵的每一行 i i i表示为目前状态是 i \color{red}i i时,到其他状态的概率,那么必然有 ∑ k = 1 k Q i k = 1 \color{red}\sum_{k=1}^k Q_{ik} = 1 k=1kQik=1
  • 假设在 t = m t=m t=m时刻之后到达了平稳分布状态,那么就可以得到:
    q ( m ) ( X ) = q ( m + 1 ) ( X ) = q ( m + 2 ) ( X ) (13.6.2) q^{(m)}(X) = q^{(m+1)}(X) = q^{(m+2)}(X)\tag{13.6.2} q(m)(X)=q(m+1)(X)=q(m+2)(X)(13.6.2)

13.6.2 Markov Chain收敛性

  1. Markov Chain状态转移表示
    假设在 t + 1 \color{red}t+1 t+1时刻,状态是 x = j \color{red}x=j x=j。那么 q ( t + 1 ) ( x = j ) q^{(t+1)}(x=j) q(t+1)(x=j)的分布为: 所 有 可 能 转 移 到 这 个 状 态 的 概 率 i \color{blue}所有可能转移到这个状态的概率i i 乘以 这 个 状 态 的 分 布 q ( t ) ( x = i ) \color{blue}这个状态的分布q^{(t)}(x=i) q(t)(x=i),我们用公式表达就是:
    q ( t + 1 ) ( x = j ) = ∑ i = 1 k q ( t ) ( x = i ) Q i j (13.6.3) q^{(t+1)}(x=j) = \sum_{i=1}^k q^{(t)}(x=i) Q_{ij}\tag{13.6.3} q(t+1)(x=j)=i=1kq(t)(x=i)Qij(13.6.3)
    • x = j \color{red}x=j x=j时概率,即:在 t + 1 \color{red}t+1 t+1时刻,可能出现的状态有 K \color{red}K K个。那么 q t + 1 ( X ) q^{t+1}(X) qt+1(X)的分布可以表示为:
      q ( t + 1 ) ( X ) = [ q ( t + 1 ) ( x = 1 ) q ( t + 1 ) ( x = 2 ) q ( t + 1 ) ( x = 3 ) ⋯ q ( t + 1 ) ( x = k ) ] 1 × k (13.6.4) \color{red}\begin{array}{ll} q^{(t+1)} (X)= \begin{bmatrix} q^{(t+1)}(x=1) & q^{(t+1)}(x=2) & q^{(t+1)}(x=3) & \cdots & q^{(t+1)}(x=k) \end{bmatrix}_{1\times k}\end{array}\tag{13.6.4} q(t+1)(X)=[q(t+1)(x=1)q(t+1)(x=2)q(t+1)(x=3)q(t+1)(x=k)]1×k(13.6.4)
      而,
      q ( t + 1 ) ( x = j ) = ∑ i = 1 K q ( t ) ( x = i ) Q i j (13.6.5) \color{red}q^{(t+1)}(x=j) = \sum_{i=1}^K q^{(t)}(x=i) Q_{ij}\tag{13.6.5} q(t+1)(x=j)=i=1Kq(t)(x=i)Qij(13.6.5)
    1. q ( t + 1 ) q^{(t+1)} q(t+1)可以被我们表示为:
      q ( t + 1 ) ( X ) = [ ∑ i = 1 k q ( t ) ( x = i ) Q i 1 ∑ i = 1 k q ( t ) ( x = i ) Q i 2 ⋯ ∑ i = 1 k q ( t ) ( x = i ) Q i k ] 1 × k = q ( t ) ( X ) ⋅ Q (13.6.6) \color{red}\begin{array}{ll}q^{(t+1)}(X) & = \begin{bmatrix} \sum_{i=1}^k q^{(t)}(x=i) Q_{i1} & \sum_{i=1}^k q^{(t)}(x=i) Q_{i2} & \cdots & \sum_{i=1}^k q^{(t)}(x=i) Q_{ik} \end{bmatrix}_{1 \times k} \\ & = q^{(t)}(X)\cdot Q\end{array}\tag{13.6.6} q(t+1)(X)=[i=1kq(t)(x=i)Qi1i=1kq(t)(x=i)Qi2i=1kq(t)(x=i)Qik]1×k=q(t)(X)Q(13.6.6)
      其中, q ( t ) ( X ) = [ q ( t ) ( x = 1 ) q ( t ) ( x = 2 ) q ( t ) ( x = 3 ) ⋯ q ( t ) ( x = k ) ] 1 × k q^{(t)}(X) = \begin{bmatrix} q^{(t)}(x=1) & q^{(t)}(x=2) & q^{(t)}(x=3) & \cdots & q^{(t)}(x=k) \end{bmatrix}_{1\times k} q(t)(X)=[q(t)(x=1)q(t)(x=2)q(t)(x=3)q(t)(x=k)]1×k
    2. 通过这个递推公式,我们可以得到:
      q ( t + 1 ) ( X ) = q ( t ) ( X ) Q = q ( t − 1 ) ( X ) Q 2 = ⋯ = q ( 1 ) ( X ) Q t (13.6.7) \color{red}q^{(t+1)}(X) = q^{(t)}(X)Q = q^{(t-1)}(X)Q^2 = \cdots = q^{(1)}(X)Q^t\tag{13.6.7} q(t+1)(X)=q(t)(X)Q=q(t1)(X)Q2==q(1)(X)Qt(13.6.7)
      通过上述的描述,已知:在Markov Chain中,每个时刻点的状态的分布 q ( t ) ( X ) q^{(t)}(X) q(t)(X)的计算方法。
  2. Markov Chain 收敛性
    由于 Q Q Q是一个随机概率矩阵,那么我们可以得到, Q 每 个 值 都 是 小 于 或 等 于 1 \color{blue}Q每个值都是小于或等于1 Q1,所以也必然有特征值的绝对值 ≤ 1 \leq 1 1。所以,我们可以对概率转移矩阵做特征值分解,分解成对角矩阵:
    Q = A Λ A − 1 Λ = [ λ 1 λ 2 ⋱ λ k ] , ∣ λ i ∣ ≤ 1    ( i = 1 , 2 , ⋯   , k ) (13.6.8) \begin{array}{ll} Q = A\Lambda A^{-1} \qquad \Lambda = \begin{bmatrix} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_k \\ \end{bmatrix} ,\qquad |\lambda_i| \leq 1\; (i = 1, 2, \cdots, k)\end{array}\tag{13.6.8} Q=AΛA1Λ=λ1λ2λk,λi1(i=1,2,,k)(13.6.8)

    为什么特征值的绝对值 ≤ 1 \leq 1 1?我们可以从特征值的几何意义上看,特征值代表变换中方向不变的向量的变化尺度。随机矩阵的变化尺度必然是小于1的。

    1. 假设只有一个 λ i = 1 \lambda_i= 1 λi=1,则:
      q ( t + 1 ) ( X ) = q ( 1 ) ( X ) ( A Λ A − 1 ) t = q ( 1 ) ( X ) A Λ t A − 1 (13.6.9) q^{(t+1)}(X) = q^{(1)}(X)(A\Lambda A^{-1})^t = q^{(1)}(X)A\Lambda^t A^{-1}\tag{13.6.9} q(t+1)(X)=q(1)(X)(AΛA1)t=q(1)(X)AΛtA1(13.6.9)
      t → ∞ t\rightarrow \infty t时,必然有:
      Λ t = [ 0 1 ⋱ 0 ] (13.6.10) \begin{array}{ll} \Lambda^t = \begin{bmatrix} 0 & & & \\ & 1 & & \\ & & \ddots & \\ & & & 0 \\ \end{bmatrix}\end{array}\tag{13.6.10} Λt=010(13.6.10)
      M M M足够大,依然有:
      Λ M = [ 0 1 ⋱ 0 ] (13.6.11) \begin{array}{ll} \quad \Lambda^M = \begin{bmatrix} 0 & & & \\ & 1 & & \\ & & \ddots & \\ & & & 0 \\ \end{bmatrix}\end{array}\tag{13.6.11} ΛM=010(13.6.11)
      所以,
      q ( m + 1 ) = q ( 1 ) A Λ m A − 1 q ( m + 2 ) ( X ) = q ( m + 1 ) ( X ) A Λ A − 1 = q ( 1 ) ( X ) A Λ m A − 1 A Λ A − 1 = q ( 1 ) ( X ) A Λ ( m + 1 ) A − 1 = q ( m + 1 ) ( X ) (13.6.12) \begin{array}{ll}q^{(m+1)} &= q^{(1)} A\Lambda^mA^{-1} \\ q^{(m+2)}(X) & = q^{(m+1)}(X) A\Lambda A^{-1} \\ &= q^{(1)}(X) A\Lambda^mA^{-1} A\Lambda A^{-1} \\ &= q^{(1)}(X) A\Lambda^{(m+1)}A^{-1} \\ &= q^{(m+1)}(X)\end{array}\tag{13.6.12} q(m+1)q(m+2)(X)=q(1)AΛmA1=q(m+1)(X)AΛA1=q(1)(X)AΛmA1AΛA1=q(1)(X)AΛ(m+1)A1=q(m+1)(X)(13.6.12)
    2. 当特征值小于1时,依然可证明:综上所述:
      当 t > m , q ( m + 1 ) ( X ) = q ( m + 2 ) ( X ) = ⋯ = q ( ∞ ) ( X ) (13.6.13) 当t > m,q^{(m+1)}(X) = q^{(m+2)}(X) = \cdots = q^{(\infty)}(X)\tag{13.6.13} t>mq(m+1)(X)=q(m+2)(X)==q()(X)(13.6.13)
      这就是平稳分布,当Markov Chain经过足够大的步数 m m m之后,一定会收敛到一个平稳分布。
  3. 采样
    通过平稳分布的性质,启发我们设计一个Markov Chain,收敛到我们想要采样的分布 p ( x ) p(x) p(x)。那么。怎么才能让它收敛呢?实际上就是由状态转移矩阵 Q Q Q所决定的。我们的核心问题就是设计一个合适的状态转移矩阵 Q Q Q
    即我们要做的就是:
    设 计 一 个 M C M C , 利 用 M a r k o v C h a i n 收 敛 到 一 个 平 稳 分 布 q ( x ) , 使 得 平 稳 分 布 ≈ 目 标 分 布 p ( x ) \color{red}设计一个MCMC,利用Markov Chain收敛到一个平稳分布q(x),使得平稳分布\approx目标分布p(x) MCMCMarkovChainq(x)使p(x)。当 m m m足够大时,
    q ( m ) ( X ) = q ( m + 1 ) ( X ) = q ( m + 2 ) ( X ) = ⋯ = q ( X ) q^{(m)}(X) = q^{(m+1)}(X) = q^{(m+2)}(X) =\cdots= q(X) q(m)(X)=q(m+1)(X)=q(m+2)(X)==q(X)
    • 当Markov Chain解决了当维度很高的时候, q ( x ) ≈ p ( x ) q(x) \approx p(x) q(x)p(x)找不到的情况,在MCMC中不要显示的去找,而是构建一个Markov Chain去近似,跳过了直接去寻找的过程。
    • 定义 从 开 始 到 收 敛 的 这 段 时 期 称 为 b u m − i n \color{blue}从开始到收敛的这段时期称为bum-in bumin,也称这个时间 t t t M i x − t i m e \color{blue}Mix-time Mixtime

13.7 MCMC采样时遇到的困难

  1. bum-in不确定
    虽然可以证明出MCMC最终可以收敛到一个平稳分布。但是并没有理论来判断Markov Chain是否进入了平稳分布,也就是不知道Markov Chain什么时候会收敛。

  2. Mix-Time过长
    这就是有高维所造成的,维度和维度之间的相关性太强了, p ( x ) p(x) p(x)太过于复杂了。理论上MCMC是可以收敛的,但是如果 m m m如果实在是太大的话,基本就是认为它是不收敛的。实际上,现在有各种各样的MCMC算法的变种都是在想办法解决这个Mix-Time过长的问题。

  3. 独立性不确定
    我们希望采到的样本之间的样本相互独立,即:采到的样本之间的相关性越小越好。

    实际在高维分布中我们采用MCMC来进行采样很有可能造成样本单一,相关性太强的问题。举一个Mixture Gaussian Distribution的例子。下图所示是一个Mixture Gaussian Distribution的例子:
    在这里插入图片描述
    用MCMC采样,样本都趋向于一个峰值附近,很有可能会过不了低谷,导致样本都聚集在一个峰值附近。

    这个问题出现的原因我们可以从能量的角度来解释这个问题。在无向图中,我们常用下列公式来进行表示:
    P ( X ) = 1 Z P ^ ( X ) = 1 Z e x p − E ( X ) (13.7.1) P(X) = \frac{1}{Z} \hat{P}(X) = \frac{1}{Z}exp^{-\mathbb{E}(X)}\tag{13.7.1} P(X)=Z1P^(X)=Z1expE(X)(13.7.1)

    1. 实际上这里的 E ( X ) \mathbb{E}(X) E(X)指的就是 能 量 函 数 \color{red}能量函数 能量和概率是成反比的,概率越大意味着能量越低,能量越低,越难发生跳跃的现象。所以,采样很容易陷入到一个峰值附近。
    2. 并且,多峰还可以分为均匀和陡峭,陡峭的情况中,能量差实在是太大了,就很难发生跳跃。就像孙悟空翻出如来佛祖的五指山一样,佛祖的维度很好,孙悟空在翻跟头的时候,一直在一个低维里面不同的打转,根本就跳不出来,就是来自佛祖的降维打击。

    所以,在高维情况下,很容易发生在一个峰值附近不停的采样,根本就跳不出来,导致采到的样本的多样性低,样本之间的关联性大,独立性低。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值