马尔可夫蒙特卡洛采样法

  • 可以用于比较复杂的分布的采样,并且在高维空间中也能使用
  • 马尔可夫蒙特卡洛法
    • 蒙特卡洛法:基于采样的数值型近似求解方法
    • 马尔可夫链:用于采样
  • MCMC基本思想
    • 针对目标分布,构造一个马尔可夫链,使得该马尔可夫链的平稳分布就是目标分布
    • 从任何一个初始状态出发,沿着马尔可夫链进行转移
    • 最终的状态转移序列会收敛到目标分布,得到一系列样本
  • 核心点:构造马尔可夫链、确定状态转移序列

Metropolis-Hastings采样法

对于目标分布(p(x)),选择一个易采样的参考条件分布(q(x^*|x)),并令

[A(x, x^*) = mathop{min} {1, frac{p(x^*)q(x|x^*)}{p(x)q(x^*|x)} } ]

然后根据如下过程进行采样

  • 随机选一个初始样本(x^{(0)})
  • For t = 1, 2, 3,,,,,,
    • 根据参考条件分布(q(x^{*}|x^{(t-1)}))抽取一个样本(x^{*})
    • 根据均匀分布(U(0,1))产生随机数(u)
    • (u < A(x^{(t-1)}, x^*)),则令(x^{(t)} = x^*),否则令(x^{(t)} = x^{(t-1)})
  • 样本序列({ dots, x^{(t-1)}, x^{(t)} })最终会收敛到目标分布(p(x))
  • (A)就是转移概率,(x)之间构成马尔可夫链

吉布斯采样法

  • Metropolis-Hastings算法的特例
  • 核心思想:每次只对样本的一个维度进行采样和更新
  • 对于目标分布(p(x)),其中(x=(x_1, cdots, x_d))是多维向量,按如下过程采样:
    • 随机选择初始状态(x^{(0)}=(x_1^{(0)}, cdots, x_d^{(0)}))
    • (For t = 1, 2, 3, cdots):
      • 对于前一步产生的样本(x^{(t-1)} = (x_1^{(t-1)},cdots, x_d^{(t-1)})),依次采样和更新每个维度的值,即依次随机抽取分量(x_1^{(t)} sim p(x_1|x_2^{(t-1)}, x_3^{(t-1)},dots,x_d^{(t-1)}),dots,p(x_d|x_1^{(t)}, x_2^{(t)},dots,x_{d-1}^{(t)}))
    • 形成新的样本(x^{(t)} = (x_1^{(t)}, cdots, x_d^{(t)}))
  • 每个维度的采样都是从以其他维度为条件的条件概率中采样的。该条件分布包含本轮已经采样的维度或者上轮采样的维度
  • 每个维度的抽样和更新,可以是随机顺序

特点

  • 与拒绝采样不同,MCMC采样法每一步都会产生一个新的样本,只是有时候这个样本与之前的样本一样而已
  • “burn-in"处理:截除掉序列中最开始的一部分样本

得到相互独立样本

  • MCMC采样法得到的样本序列中相邻样本不独立(马尔可夫链)
  • 仅仅是采样的话,不需要样本之间相互独立
  • 产生独立同分布的样本:
    • 同时运行多条马尔可夫链
    • 同一条马尔可夫链上每隔若干个样本取一次,近似独立
原文地址:https://www.cnblogs.com/weilonghu/p/11922682.html