龙空技术网

一文读懂蒙特卡罗方法和应用贝叶斯推理

闻数起舞 1876

前言:

今天咱们对“蒙特卡洛算法求定积分”大概比较关切,你们都需要剖析一些“蒙特卡洛算法求定积分”的相关文章。那么小编同时在网摘上搜集了一些关于“蒙特卡洛算法求定积分””的相关文章,希望同学们能喜欢,我们一起来学习一下吧!

贝叶斯方法与推论,本文应作为我的教程的背景,该教程使用(Py)Stan进行轻松的的应用贝叶斯推理,以及使用r-INLA进行(近似)贝叶斯回归的介绍。

在本文中,我将提供有关贝叶斯推理和蒙特卡洛方法的非常简短,自成体系的介绍,希望可以激发您通过我所包括的一些参考文献进行更深入的研究。

Image by imarksm from Pixabay


您可能听说过贝叶斯推理/回归/建模/分析……您可能听说过,或者您可能只是在通过之前才遇到过它,而没有真正怀疑它的用途,或没有任何良好的入门资源。

现实情况是,贝叶斯推论[1]比其频频论推论要复杂得多,并且大多数人在学术界或非常专业的工业应用中真正使用过它。 但是,它提供了一个非常丰富的框架,可以在推理过程中欣赏,并最终利用更多信息。 此外,它以一种可笑的方式提升了概率与应用统计之间的联系-真正的贝叶斯模型是一个生成模型。

对于本系列文章,我将采用(传统)基于似然的建模方法。

5分钟贝叶斯推断

贝叶斯推理使我们可以将一些先入为主的信念(即先验的信念)纳入我们的建模中。 进行实验后,我们可以从后验概率分布中采样,以更好地了解目标参数的行为,而不必寻找允许我们最大化似然性的参数值(最大似然估计) 。

The primordial Bayesian identity in the context of model fitting and inference.

简单来说,我声明模型参数()的先验分布,并将其乘以观察到的数据的可能性(D)。 为了使该数量充当概率密度函数,我必须将其除以归一化常数。 然后获得后验分布函数。

请注意,上面的归一化常数是很棘手的,当我们使用蒙特卡洛从后验分布中进行这种推断时,我们可以消除这一数量而不会失眠。

您可能会问:为什么这样做?

更好的科学,更严格的推论,正则化,数值稳定性,昂贵的数据获取,这并不能完全考虑MLE,还有许多其他原因。

您可能会问:什么是好的先验?

· 可牵引性? 共轭! 例如,正常先验x正常似然会产生正常后验!

· 科学相关性

· 正则化。 在标准线性回归的情况下,您的回归/ beta服务器上的N(0,1)可以用作L2正则化。

理想情况下,先验条件应该永远不要看数据。

您可能会问:那里有什么样的先验条件?

· 没有信息的(固定的)先验。 在大多数情况下,更具体地说,在下面的抛硬币问题中,原始的无先验先验将是均匀的分布。

· 先验信息薄弱。 我在下面的抛硬币问题中声明的beta优先级信息不足,因为我不抛弃theta参数空间中的间隔或点,而我赞成"公平"。

· 信息先验(通常基于专家意见或扎实的科学知识。

例如,假设我在地板上找到一枚硬币,并且想知道它是否公平。 我声明p = 是在给定的抛硬币中硬币将产生"正面"(y = 1)的概率。 那么q = 1-是硬币产生"尾巴"(y = 0)的概率。 请注意,可以使用以下函数形式将硬币的这种行为建模为bernoulli随机变量:

假设我抛硬币四次,并观察到它总是给我"反面"。如果我采用"最大似然"框架,则我将得到以下ML估计值(样本比例):

在我们的情况下,以上结果为0。 但这有点太极端了……具有相等表面积的两个面意味着硬币应该有一个非零的概率落在"正面"上(尽管很小)。 我们会立即注意到,如果一侧比另一侧小得多。

现在,正如贝叶斯主义者所说,我们遇到了同样的问题。 在自己扔硬币之前,我们需要对硬币建立先验的信念。 根据我的经验,硬币通常是公平的,因此我认为这种硬币很可能是公平的,并且很有可能不是。 然后,我将进行实验,以了解这枚硬币是否符合我的信念。 哦,我得到了相同的结果{0,0,0,0}。

为了获得有效(信息量有限)的先验知识,我将使用带有a,b个非负整数的beta(a,b)分布。 该先验是有道理的,因为伽马分布的域是[0,1],并且to在这里对应于概率,并且不能小于0或大于1。设置a = b = u其中u是一个正整数,得出a 分布对称约0.5。 此外,β分布与伯努利分布共轭(也与二项分布共轭,因为二项式随机变量由伯努利随机变量之和组成)。

Simulation of a beta(5,5) distribution

然后,我考虑以下模型:

这导致:

在此,C≥0表示归一化常数,出于本申请的目的,不必对其进行估计。

如果我们在上面的先验中设置a = b = 5,则Stan [2]-有关如何执行此操作的信息,请参见教程-收益率和mean的近似后均值0.36 <0.5。 因此,我们的估算表明存在偏差的硬币,没有立即变为0。

5分钟蒙特卡洛方法

出于本教程的目的,蒙特卡洛方法[3]将允许我们从模型参数的后验分布中进行采样。

用于估计实值可积函数f(x)的积分(I)(例如0≤x≤1)的最简单的蒙特卡洛方法表明,我们在[0,1 ],为每个x_ {i}计算f(x}),然后求和并求平均值。 我们要求I <∞。 然后,我们引用大数定律[4],我们可以体会以下几点:

As K goes to infinity, this vanilla Monte Carlo estimate should converge to the value of the integra


上面的内容很容易,但是通过观察以下内容,我们实际上可以使用更多的统计知识:

We can think of the integral I as the expected value of f(x) and the below quantity as its unbiased

我们的估计量只是一个近似值,因此我们应该量化其准确性:

Here we simply change the notation a bit and show the formula for the standard error

那么,现在我们有了均值的无偏估计和标准误差的估计,该怎么办? 让我们调用中心极限定理,这对于足够大的K是合理的。

使用上述方法,我们可以为积分的估计量建立95%的置信区间:

上面的方法非常幼稚且不准确,尤其是随着目标(概率)在维数,多峰等方面的增长。然而,这为您提供了MC方法的要点:从分布中采样以近似于另一个分布或感兴趣的数量。

请注意,蒙特卡洛方法是一个非常活跃的研究领域,具有非常丰富的理论和应用程序,我鼓励您阅读有关它们的更多信息。 蒙特卡洛计算引擎(PyMC3,Stan,BUGS等)上也有几个包,可以轻松地集成到Python,R和其他现代统计/机器学习软件中。

以下是一些非常基本的入门方法:

· 重要抽样

· 拒绝采样

· Metropolis-Hastings算法(马尔可夫链蒙特卡洛)

· 奖励:模拟退火(优化)

LaTeX和数学交流

最后一件事。 如果您对开发简洁,准确地传达数学/统计思想的能力很认真,那么我鼓励您开始使用LaTeX [5]。 LaTeX是功能强大的排版系统,可让您编写漂亮的方程式并将其无缝呈现在文档中。 我在本文档和所有工作中的所有数学表达式中都使用LaTeX。

结论

贝叶斯推理和计算最近凭借出色的计算硬件和软件获得了辉煌的复兴。 此外,贝叶斯方法跨越了活跃的研究领域,涉及统计学,数学,计算机科学,人口统计学,经济学以及许多其他领域。

以下是现代ML和统计学研究中的一些最热门主题,这些主题依赖或大量使用贝叶斯推理框架:

· 因果推论

· 可解释性(DL和RL)

· 贝叶斯超参数优化(AlphaGo)

· 多任务学习

· RL中的探索与开发

· 高效,计算稳定的MCMC(HMC)

参考文献

[1] R. Neal,关于ML的贝叶斯推理教程(2004),2004 NeurIPS。

[2] B. Carpenter等人,《斯坦:一种概率编程语言》(2017年),《统计软件》。

[3] C. Robert和G. Casella,《蒙特卡洛统计方法》(2005年),《 Springer Texts in Statistics》。

[4] D. Wackerley等人,《数学统计及其应用》(2014年),参与学习

[5] LaTeX3项目,LaTeX-文件准备系统(1985年),LaTeX项目公共许可证(

(本文翻译自Sergio E. Betancourt的文章《15-Minute Conceptual and Painless Introduction to Monte Carlo Methods and Applied Bayesian Inference》,参考:)

标签: #蒙特卡洛算法求定积分