蒙特卡罗方法的关键是得到 x 的概率分布。如果求出了 x 的概率分布,我们可以基于概率分布去采样基于这个概率分布的 n 个 x 的样本集,带入蒙特卡罗求和的式子即可求解。但是还有一个关键的问题需要解决,即如何基于概率分布去采样基于这个概率分布的 n 个 x 的样本集。
1、概率分布采用
常见的均匀分布 uniform(0,1) 是非常容易采样样本的,一般通过线性同余发生器可以很方便的生成 (0,1) 之间的伪随机数样本。而其他常见的概率分布,无论是离散的分布还是连续的分布,它们的样本都可以通过 uniform(0,1) 的样本转换而得。
2、接受-拒绝采用
对于概率分布不是常见的分布,一个可行的办法是采用接受-拒绝采样来得到该分布的样本。既然 p(x) 太复杂在程序中没法直接采样,那么我设定一个程序可采样的分布 q(x) 比如高斯分布,然后按照一定的方法拒绝某些样本,以达到接近 p(x) 分布的目的,其中q(x)叫做 proposal distribution。
image.png
3、基于马尔科夫链采样
马尔科夫链模型的状态转移矩阵收敛到的稳定概率分布与我们的初始状态概率分布无关
4、二维Gibbs采样
image.png参考链接
http://www.cnblogs.com/pinard/p/6625739.html
http://www.cnblogs.com/pinard/p/6645766.html
网友评论