为什么马尔可夫链monte carlo(MCMC)在贝叶斯机器学习中很有用?

时间:2015-10-01 23:52:08

标签: machine-learning bayesian hidden-markov-models

我们有一些数据和带有潜在变量的概率模型,我们想要在看到数据后估计后验分布。通常这个p(x | z)很难计算,因此我们使用变分推理或MCMC。

我不明白为什么MCMC起着至关重要的作用。 MCMC只能抽取样本。但我们可能想要拟合模型参数,而不仅仅是绘制样本。例如,对于$ p(x,\ theta | z)$,我们可能希望拟合参数$ \ theta $,只有抽取样本不能满足我们的需要。

我的问题是,既然MCMC只能绘制后验样本,为什么它很重要?

2 个答案:

答案 0 :(得分:2)

蒙特卡罗是有道理的,因为它遵守统计法 - 大数定律click here,其中指出样本的均值和方差基本上收敛于人口本身的均值和方差。样本量足够大。

接下来的问题是样本量应该有多大?

这由以下公式给出,

N ≥ 0.25 * (Zα/2/ϵ)^2
N - denotes the sample size,
α - the width which has the maximum probability,
ϵ - the error allowed which comes from chebyshev's inequality.

我建议不要抽取大量样本,而是通过拟合参数来计算出所需的样本量。

答案 1 :(得分:0)

你的中心假设不正确。我们使用mcmc,因为 p(z)(即归一化常数)通常很难计算 - 不是因为p(x | z)很难计算。

在这些情况下,标准化常数难以计算,后验分布不是 true 分布,因为它不会求和,这使得整合成为不可能。

mcmc在这些情况下非常有用:mcmc允许您在没有标准化常数的情况下集成(或近似)后验分布。