采样之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)分布。
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)分布。
相关文章推荐
- MCMC中的Metropolis–Hastings算法与吉布斯采样
- 随机过程--Metropolis-Hastings算法
- 随机过程--Metropolis-Hastings算法
- 初探密码破译:Metropolis-Hastings算法破解密文
- 初探密码破译:Metropolis-Hastings算法破解密文
- 简单易学的机器学习算法——Metropolis-Hastings算法
- 机器学习小组知识点32:马尔科夫蒙特卡罗采样算法1:(Metropolis-Hasting )
- 简单易学的机器学习算法——Metropolis-Hastings算法
- 随机过程–Metropolis-Hastings算法
- Metropolis 采样与蒙特卡洛算法
- Metropolis-Hastings算法
- Metropolis–Hastings算法
- MCMC马尔可夫蒙特卡洛方法总结-Gibss吉布斯采样, Metropolis-Hastings方法
- AD采样注意的事项
- YUV主要的采样格式
- 有限带宽信号的采样和混叠分析
- Oracle 分析及动态采样
- producersdk 中的mediasinkencoder采样声音为什么时间长度只有一半
- MCBSP的采样频率发生器
- 第九章 – 图像局部与分割 – 视频中是直线像素采样(cvInitLineIterator )