做茶叶网站的目的和规划,小米口碑营销案例,wordpress模板带小程序源码,抖音代运营培训在众多经典的贝叶斯方法中#xff0c;马尔可夫链蒙特卡洛#xff08;MCMC#xff09;由于包含大量数学知识#xff0c;且计算量很大#xff0c;而显得格外特别。本文反其道而行之#xff0c;试图通过通俗易懂且不包含数学语言的方法#xff0c;帮助读者对 MCMC 有一个直… 在众多经典的贝叶斯方法中马尔可夫链蒙特卡洛MCMC由于包含大量数学知识且计算量很大而显得格外特别。本文反其道而行之试图通过通俗易懂且不包含数学语言的方法帮助读者对 MCMC 有一个直观的理解使得毫无数学基础的人搞明白 MCMC。在我们中的很多人看来贝叶斯统计学家不是巫术师就是完全主观的胡说八道者。在贝叶斯经典方法中马尔可夫链蒙特卡洛Markov chain Monte Carlo/MCMC尤其神秘其中数学很多计算量很大但其背后原理与数据科学有诸多相似之处并可阐释清楚使得毫无数学基础的人搞明白 MCMC。这正是本文的目标。那么到底什么是 MCMC 方法一言以蔽之MCMC 通过在概率空间中随机采样以近似兴趣参数parameter of interest的后验分布。我将在本文中做出简短明了的解释并且不借助任何数学知识。首先解释重要的术语。「兴趣参数」parameter of interest可以总结我们感兴趣现象的一些数字。我们通常使用统计学评估参数比如如果想要了解成年人的身高我们的兴趣参数可以是精确到英寸的平均身高。「分布」是参数的每个可能值、以及我们有多大可能观察每个参数的数学表征其最著名的实例是钟形曲线在贝叶斯统计学中分布还有另外一种解释。贝叶斯不是仅仅表征一个参数值以及每个参数有多大可能是真值而是把分布看作是我们对参数的「信念」。因此钟形曲线表明我们非常确定参数值相当接近于零但是我们认为在一定程度上真值高于或低于该值的可能性是相等的。事实上人的身高确实遵从一个正态曲线因此我们假定平均身高的真值符合钟形曲线如下所示很明显上图表征是巨人的身高分布因为据图可知最有可能的平均身高是 62但他们也并非超级自信。让我们假设其中某个人后来收集到一些数据并且观察了身高在 5和 6之间的一些人。我们可以用另一条正态曲线表征下面的数据该曲线表明了哪些平均身高值能最好地解释这些数据在贝叶斯统计中表征我们对参数信念的分布被称为「先验分布」因为它在我们看到任何数据之前捕捉到了我们的信念。「可能性分布」likelihood distribution通过表征一系列参数值以及伴随的每个参数值解释观察数据的可能性以总结数据之中的信息。评估最大化可能性分布的参数值只是回答这一问题什么参数值会使我们更可能观察到已经观察过的数据如果没有先验信念我们可能无法对此作出评估。但是贝叶斯分析的关键是结合先验与可能性分布以确定后验分布。它可以告诉我们哪个参数值最大化了观察到已观察过的特定数据的概率并把先验信念考虑在内。在我们的实例中后验分布如下所示如上所示红线表征后验分布。你可以将其看作先验和可能性分布的一种平均值。由于先验分布较小且更加分散它表征了一组关于平均身高真值的「不太确定」的信念。同时可能性分布在相对较窄的范围内总结数据因此它表征了对真参数值的「更确定」的猜测。当先验与可能性分布结合在一起数据由可能性分布表征主导了假定存在于这些巨人之中的个体的先验弱信念。尽管该个体依然认为平均身高比数据告诉他的稍高一些但是他非常可能被数据说服。在两条钟形曲线的情况下求解后验分布非常容易。有一个结合了两者的简单等式。但是如果我们的先验和可能性分布表现很差呢有时使用非简化的形状建模数据或先验信念时是最精确的。如果可能性分布需要带有两个峰值的分布才能得到最好地表征呢并且出于某些原因我们想要解释一些非常奇怪的先验分布通过手动绘制一个丑陋的先验分布我已可视化了该情景如下所示可视化由 Matplotlib 渲染并使用 MS Paint 做了改善如前所述存在一些后验分布它给出了每个参数值的可能性分布。但是很难得到完整的分布也无法解析地求解。这就是使用 MCMC 方法的时候了。MCMC 允许我们在无法直接计算的情况下评估后验分布的形状。为了理解其工作原理我将首先介绍蒙特卡洛模拟Monte Carlo simulation接着讨论马尔可夫链。蒙特卡洛模拟只是一种通过不断地生成随机数来评估固定参数的方法。通过生成随机数并对其做一些计算蒙特卡洛模拟给出了一个参数的近似值其中直接计算是不可能的或者计算量过大。假设我们想评估下图中的圆圈面积由于圆在边长为 10 英寸的正方形之内所以通过简单计算可知其面积为 78.5 平方英寸。但是如果我们随机地在正方形之内放置 20 个点接着我们计算点落在圆内的比例并乘以正方形的面积所得结果非常近似于圆圈面积。由于 15 个点落在了圆内那么圆的面积可以近似地为 75 平方英寸对于只有 20 个随机点的蒙特卡洛模拟来说结果并不差。现在假设我们想要计算下图中由蝙蝠侠方程Batman Equation绘制的图形的面积我们从来没有学过一个方程可以求这样的面积。不管怎样通过随机地放入随机点蒙特卡洛模拟可以相当容易地为该面积提供一个近似值。蒙特卡洛模拟不只用于估算复杂形状的面积。通过生成大量随机数字它还可用于建模非常复杂的过程。实际上蒙特卡洛模拟还可以预测天气或者评估选举获胜的概率。理解 MCMC 方法的第二个要素是马尔科夫链Markov chains。马尔科夫链由存在概率相关性的事件的序列构成。每个事件源于一个结果集合根据一个固定的概率集合每个结果决定了下一个将出现的结果。马尔科夫链的一个重要特征是「无记忆性」可能需要用于预测下一个时间的一切都已经包含在当前的状态中从事件的历史中得不到任何新信息。例如 Chutes and Ladders 这个游戏就展示了这种无记忆性或者说马尔科夫性但在现实世界中很少事物是这种性质的。尽管如此马尔科夫链也是理解现实世界的强大工具。在十九世纪人们观察到钟形曲线在自然中是一种很常见的模式。我们注意到例如人类的身高服从钟形曲线分布。Galton Boards 曾通过将弹珠坠落并通过布满木钉的板模拟了重复随机事件的平均值在弹珠的最终数量分布中重现了钟形曲线俄罗斯数学家和神学家 Pavel Nekrasov 认为钟形曲线或者更一般的说大数规律只不过是小孩子的游戏和普通的谜题中的伪假象其中每个事件之间都是完全独立的。他认为现实世界中的互相依赖的事件例如人类行为并不遵循漂亮的数学模式或分布。Andrey Markov马尔科夫链正是以他的名字命名试图证明非独立的事件可能也遵循特定的模式。他的其中一个最著名的例子是从一份俄罗斯诗歌作品中数出几千个两字符对two-character pairs。他使用这些两字符对计算了每个字符的条件概率。即给定一个确定的上述字母或空白关于下一个字母将是 A、T 或者空白等存在一个确定的概率。通过这些概率Markov 可以模拟一个任意的长字符序列。这就是马尔科夫链。虽然早先的几个字符很大程度上依赖于初始字符的选择Markov 表明在长字符序列中字符的分布会出现特定的模式。因此即使是互相依赖的事件如果服从固定的概率分布将遵循平均水平的模式。举一个更有意义的例子假设你住在一个有 5 个房间的房子里里面有一个卧室、浴室、客厅、厨房、饭厅。然后我们收集一些数据假定只需要当前你所处的房间和相应的时间就可以预测下一个你所处的房间的概率。例如如果你在厨房你有 30% 的概率会留在厨房有 30% 的概率会走到饭厅有 20% 的概率会走到客厅有 10% 的概率会走到浴室以及有 10% 的概率会走到卧室。使用每个房间的概率集合我们可以构建一个关于你接下来要去的房间的预测链。如果想预测一个人处于厨房之后所在的房间基于几个状态而做出预测可能有效。但由于我们的预测仅仅基于一个人在房子中的单次观察可以合理地认为预测结果是不够好的。例如如果一个人从卧室走到浴室相比从厨房走到浴室的情况他更可能会返回原来的房间。因此马尔科夫链并不真正适用于现实世界。然而通过迭代运行马尔科夫链数千次确实能给出关于你接下来可能所处的房间的长期预测。更重要的是这个预测并不受这个人起始所处的房间的影响。对此可以直观地理解为在模拟和描述长期过程或普遍情况一个人所处房间的概率时时间因素是不重要的。因此如果我们理解了控制行为的概率就可以使用马尔科夫链计算变化的长期趋势。希望通过介绍一些蒙特卡洛模拟和马尔科夫链可以使你对 MCMC 方法的零数学解释有更直观的理解。回到原来的问题即评估平均身高的后验分布这个平均身高的后验分布的实例没有基于真实数据。我们知道后验分布在某种程度上处于先验分布和可能性分布的范围内但无论如何都无法直接计算。使用 MCMC 方法我们可以有效地从后验分布中提取样本然后计算统计特征例如提取样本的平均值。首先MCMC 方法选择一个随机参数值。模拟过程中会持续生成随机的值即蒙特卡洛部分但服从某些能生成更好参数值的规则。即对于一对参数值可以通过给定先验信度计算每个值解释数据的有效性从而确定哪个值更好。我们会将更好的参数值以及由这个值的解释数据有效性决定的特定概率添加到参数值的链中即马尔科夫链部分。为了可视化地解释上述过程首先强调一下一个分布的特定值的高度代表的是观察到该值的概率。因此参数值x 轴对应的概率y 轴可能或高或低。对于单个参数MCMC 方法会从随机在 x 轴上采样开始。红点表征随机参数采样。由于随机采样服从固定的概率它们倾向于经过一段时间后收敛于参数的高概率区域蓝点表示当采样收敛之后经过任意时间的随机采样。注意垂直堆叠这些点仅仅是为了说明目的。收敛出现之后MCMC 采样会得到作为后验分布样本的一系列点。用这些点画直方图然后你可以计算任何感兴趣的统计特征通过 MCMC 模拟生成的样本集合计算的任何统计特征都是对真实后验分布的统计特征的最佳近似。MCMC 方法也可以用于评估多于一个参数的后验分布例如人类身高和体重。对于 n 个参数在 n 维空间中存在高概率的区域其中特定的参数值集合可以更有效地解释数据。因此我认为 MCMC 方法的本质就是在一个概率空间中进行随机采样以近似后验分布。原文链接https://towardsdatascience.com/a-zero-math-introduction-to-markov-chain-monte-carlo-methods-dcba889e0c50转自Medium作者Ben Shaver机器之心编译参与黄小天、刘晓坤