您的位置:首页 > 运维架构

采样之Metropolis Hastings算法

2016-11-07 16:47 369 查看
注:本文中所有公式和思路来自于邹博先生的机器学习升级版》,我只是为了加深记忆和理解写的本文。

Metropolis Hastings算法:



假定t时刻Xt = xt,采取如下策略采样Xt +1

在给定xt的条件分布g(x | xt)中采样一个值x*

计算M-H率:



则t+1时刻X的值Xt +1:



最终得到的序列收敛于f(x)。

说明:其中g(x)是我们已知的一个分布(高斯分布等),所以R是一个可以计算的数,如果R>=1,则Xt +1=Xt ,如果R<1则Xt +1=X*,并且从这个时刻以后的所有采样均满足。

这个结论乍一看真的是很神奇,为什么一次满足条件之后的所有样本采样都会满足呢?



分析M-H率:

假定有两个样本x1、x2,不妨假设:



1:如果第一个时刻为x1,第二个时刻x2,其中f(x1)是上一个时刻已存在的,那么R必定>=1,就当做1来处理。则有:



2:如果第一个时刻为x2,第二个时刻x1,其中f(x2)是上一个时刻已存在的,那么R必定<1,则把R代入进去,则有:



由上边的推导可以看得出,若在某一个时刻满足了f(x)的分布,那么后边的所有采样值均服从f(x)分布。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息