zoukankan      html  css  js  c++  java
  • 马尔可夫蒙特卡洛采样法

    • 可以用于比较复杂的分布的采样,并且在高维空间中也能使用
    • 马尔可夫蒙特卡洛法
      • 蒙特卡洛法:基于采样的数值型近似求解方法
      • 马尔可夫链:用于采样
    • 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采样法得到的样本序列中相邻样本不独立(马尔可夫链)
    • 仅仅是采样的话,不需要样本之间相互独立
    • 产生独立同分布的样本:
      • 同时运行多条马尔可夫链
      • 同一条马尔可夫链上每隔若干个样本取一次,近似独立
  • 相关阅读:
    pod 安装
    Mac百度云破解限速-修复选中没有导出下载
    swift -SnapKit一些基本使用
    xcode 显示多个重复模拟器
    xcode选择模拟器显示No Scheme
    Xcode删除指定版本的模拟器
    javaScript基础
    Dao模式多表联查
    SQLServer数据库
    数据库错题分析
  • 原文地址:https://www.cnblogs.com/weilonghu/p/11922682.html
Copyright © 2011-2022 走看看