打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
马尔可夫链蒙特卡罗方法和变分推理

变分自动编码器,是一种基于变分推理的深度学习方法!

贝叶斯推断是统计学中的一个主要问题,在许多机器学习方法中也遇到过这种问题。例如,用于分类的高斯混合模型,用于主题建模的潜在Dirichlet分布都是需要在拟合数据时解决这样的问题的图形模型。

同时,可以注意到贝叶斯推理问题有时可能很难解决,具体取决于模型设置(假设,维数......)。在大问题中,确切的解决方案确实需要经常变得棘手的繁重计算,并且必须使用一些近似技术来克服该问题并构建快速且可扩展的系统。

在这篇文章中,我们将讨论可用于解决贝叶斯推理问题的两种主要方法:马尔可夫链蒙特卡罗(MCMC),即基于采样的方法,以及变分推理(VI),这是一种基于近似的方法。

贝叶斯推理问题

在本节中,我们给出了贝叶斯推理问题,并在给出Latent Dirichlet Allocation的例子之前讨论了一些计算困难,Latent Dirichlet Allocation是一个主题建模的具体机器学习技术。

什么是推论?

统计推断包括根据我们观察到的内容来了解​​我们未观察到的内容。换句话说,它是根据一些观察到的变量(通常是影响)在这个人群或一个样本中得出结论,如准时估计,置信区间或关于某些潜在变量(通常是原因)的分布估计的过程。

特别是,贝叶斯推断是以贝叶斯观点产生统计推断的过程。简而言之,贝叶斯范式是一种统计/概率范式,其中每次记录由不同概率分布建模的新观察时,更新由概率分布建模的先验知识。

规范贝叶斯范式的整个思想观念嵌入了所谓的贝叶斯定理中,该定理表达了更新后的知识('后验'),先验知识('先验')与来自观察的知识之间的关系( '似然性')。

一个经典的例子是参数贝叶斯推断。让我们假设一个模型,其中数据x是根据未知参数θ从概率分布生成的。我们还假设我们具有关于参数θ的先验知识,其可以表示为概率分布p(θ)。然后,当观察数据x时,我们可以使用贝叶斯定理更新关于该参数的先验知识,如下所述

贝叶斯定理的图示应用于给定观测数据的参数的推断

计算困难

贝叶斯定理告诉我们,后验的计算需要三个术语:先验,可能性和证据。前两个可以很容易地表达,因为它们是假定模型的一部分(在许多情况下,先验和可能性是明确已知的)。然而,第三项,即归一化因子,需要进行计算

虽然在低维度上可以在没有太多困难的情况下计算该积分,但是在更高维度上它可能变得难以处理。在最后一种情况下,后验分布的精确计算实际上是不可行的,并且必须使用一些近似技术来获得需要知道该后验的问题的解决方案(例如,平均计算)。

注意到贝叶斯推理问题可能会产生一些其他的计算困难,例如,当某些变量是离散的时候,组合学问题。在最常用于克服这些困难的方法中,我们发现马尔可夫链蒙特卡罗变分推理方法。本文后面,我们将描述这两种方法,特别是关注'归一化因子问题',但是应该记住,当面对与贝叶斯推理相关的其他计算困难时,这些方法也可以是宝贵的。

为了使后续部分的内容更加通用,我们可以观察到,由于x应该被赋予并且因此可以作为参数,我们面临的情况是我们在θ上有概率分布定义为归一化因子

在接下来的两节中描述MCMC和VI之前,让我们用Latent Dirichlet Allocation给出机器学习中贝叶斯推理问题的一个具体例子。

贝叶斯推理例子

贝叶斯推理问题自然地出现在例如假定概率图形模型的机器学习方法中,并且在给定一些观察的情况下,我们想要恢复模型的潜在变量。在主题建模中,Latent Dirichlet Allocation(LDA)方法为语料库中的文本描述定义了这样的模型。因此,给定大小为V的完整语料库词汇和给定数量的主题T,该模型假定:

  • 对于每个主题,存在词汇表上的'主题词'概率分布(假设Dirichlet先前)
  • 对于每个文档,存在关于主题的'文档主题'概率分布(事先假设另一个Dirichlet)
  • 对文档中的每个单词进行了采样,首先,我们从文档的'文档 - 主题'分布中对主题进行了采样,其次,我们从附加到采样的'主题 - 单词'分布中采样了一个单词。

该方法的目的,其名称来自模型中假设的Dirichlet先验,然后推断观察到的语料库中的潜在主题以及每个文档的主题分解。即使我们不会深入研究LDA的细节,我们也可以非常粗略地说出语料库中的单词向量和z与这些单词相关的主题向量,我们想要根据观察到的w来推断z贝叶斯方式:

在这里,除了归一化因子由于巨大的维数而绝对难以处理的事实之外,我们面临组合挑战(因为问题的一些变量是离散的),需要使用MCMC或VI来获得近似解。对主题建模感兴趣的读者及其特定的底层贝叶斯推理问题可以看一下。

潜在Dirichlet分布方法的例证

马尔可夫链蒙特卡罗(MCMC)

正如我们之前提到的,处理贝叶斯推理问题时面临的主要困难之一来自归一化因子。在本节中,我们描述了MCMC采样方法,这些方法构成了克服该问题的可能解决方案以及与贝叶斯推理相关的其他一些计算困难。

抽样方法

采样方法的想法如下。让我们首先假设我们有一种方法(MCMC)从定义到因子的概率分布中抽取样本。然后,我们不是试图处理涉及后验的难以处理的计算,而是从这个分布中获取样本(仅使用未归一化的部分定义)并使用这些样本来计算各种准时统计数据,例如均值和方差,甚至可以近似分布核密度估计。

与下一节中描述的VI方法相反,MCMC方法假定所研究的概率分布没有模型(贝叶斯推断案例中的后验)。因此,这些方法具有较低的偏差但是方差较大,这意味着结果在大多数情况下获得的成本更高,但也比我们从VI获得的结果更准确。

为了结束这一小节,我们再次概述了这样一个事实,即我们刚才描述的这个抽样过程并不局限于后验分布的贝叶斯推断,并且更一般地说,也可以用于概率分布定义到其归一化因子的任何情况。

采样方法(MCMC)

MCMC的想法

在统计学中,马尔可夫链蒙特卡罗算法旨在从给定的概率分布生成样本。方法名称中的'蒙特卡罗'部分是由于采样目的,而'马尔可夫链'部分来自我们获取这些样本的方式。

为了生成样本,我们的想法是建立一个马尔可夫链,其静态分布是我们想要的样本。然后,我们可以模拟马尔可夫链的一个随机序列状态,该状态足够长(几乎)达到稳定状态,然后将一些生成的状态保留为我们的样本。

在随机变量生成技术中,MCMC是一种非常先进的方法,这使得从非常困难的概率分布中获取样本的可能性可能仅限于乘法常数。我们可以通过MCMC获得来自未完全标准化的分布的样本的反直觉事实来自我们定义对这些归一化因子不敏感的马尔可夫链的特定方式。

马尔可夫链蒙特卡罗方法旨在从难以概率分布生成样本,该概率分布可以定义为一个因子。

马尔可夫链的定义

整个MCMC方法基于建立马尔可夫链的能力,马尔可夫链的静态分布是我们想要从中采样的。为了做到这一点,Metropolis-Hasting和Gibbs Sampling算法都使用马尔可夫链的特殊属性:可逆性。

状态空间E上的马尔可夫链,具有由...表示的转移概率

如果存在概率分布γ,则认为是可逆的

对于这样的马尔可夫链,我们可以很容易地验证我们有

然后,γ是一个静态分布(如果马尔可夫链是不可约的,则唯一的分布)。

现在让我们假设我们想要采样的概率分布π仅定义为一个因子

(其中C是未知的乘法常数)。我们可以注意到以下等价性

然后,具有转移概率k的马尔可夫链被定义为验证最后的等式将如预期的那样具有π作为静止分布。因此,我们可以定义具有静止分布的马尔可夫链,该概率分布π不能被明确地计算。

吉布斯采样转换(∞)

让我们假设我们想要定义的马尔可夫链是D维的,这样

Gibbs抽样方法基于的是,即使联合概率是难处理的,给其他的单个维度的条件分布,可以计算的假设。基于该想法,定义转变,使得在迭代n + 1,下一个要访问的状态由以下过程给出。

首先,我们在X_n的D维中随机选择一个整数d。然后,在给定所有其他维度保持固定的情况下,我们根据相应的条件概率为该维度采样新值:

给出所有其他维度的d维的条件分布。

Metropolis-Hasting过渡(∞)

有时甚至涉及Gibbs方法的条件分布太复杂而无法获得。在这种情况下,可以使用Metropolis-Hasting。为此,我们首先定义一个侧转换概率h,它将用于建议转换。然后,在迭代n + 1,马尔可夫链要访问的下一个状态由以下过程定义。我们首先从h绘制一个'建议的过渡'x并计算一个相关的概率r来接受它:

抽样过程

一旦定义了马尔可夫链,我们就可以模拟随机的状态序列(随机初始化)并保留其中的一些状态,以便获得两者都遵循目标分布且独立的样本。

首先,为了得到(几乎)遵循目标分布的样本,我们需要考虑从生成序列的开头足够远的状态,几乎达到马尔可夫链的稳定状态(稳定状态,理论上) ,只是渐近地达到了)。因此,第一模拟状态不可用作样本,并且我们将达到平稳所需的该阶段称为老化时间。请注意,实际上很难知道这个老化时间有多长。

其次,为了获得(几乎)独立的样本,我们不能在老化时间之后保持序列的所有连续状态。实际上,马尔可夫链定义意味着两个连续状态之间的强相关性,然后我们需要保持仅作为样本的状态彼此足够远以被认为是几乎独立的。实际上,可以通过分析自相关函数来估计两个状态之间所需的滞后几乎是独立的(仅适用于数值)。

因此,为了获得遵循目标分布的独立样本,我们保持生成的序列中的状态彼此分开滞后L并且在老化时间B之后。因此,如果表示马尔可夫链的连续状态

我们只保留状态作为样本

MCMC采样需要考虑时间和滞后。

变分推断(VI)

克服与推理问题相关的计算困难的另一种可能方式是使用变分推理方法,其包括在参数化族中找到分布的最佳近似。为了找到这种最佳近似值,我们遵循一个优化过程(在系列参数上),只需要将目标分布定义为一个因子。

近似方法

VI方法在于搜索给定族中某些复杂目标概率分布的最佳近似。更具体地,该想法是定义参数化的分布族并且优化参数以相对于明确定义的误差测量获得与目标最接近的元素

我们仍然认为我们的概率分布π定义为归一化因子C:

然后,在更多的数学术语中,如果我们表示参数化的分布族

并且我们考虑两个分布p和q之间的误差测量E(p,q),我们搜索最佳参数

如果我们可以在不必明确归一化π的情况下解决这个最小化问题,我们可以使用f_ω*作为近似来估计各种数量,而不是处理难以处理的计算。实际上,变量推理方法所暗示的优化问题应该比直接计算(标准化,组合,......)的问题更容易处理。

与采样方法相反,假设模型(参数化族),暗示偏差但也有较低的方差。一般来说,VI方法不如MCMC方法准确,但产生的结果要快得多:这些方法更适合于大规模,非常统计的问题。

变分推断

分布系列

我们需要设置的第一件事是参数化的分布族,它定义了我们搜索最佳近似的空间。

该族的选择定义了一种控制方法偏差和复杂性的模型。如果我们假设一个非常严格的模型(简单族),那么我们就有很高的偏差,但优化过程很简单。相反,如果我们假设一个相当自由的模型(复杂族),偏差要低得多,但优化更难(如果不是难以处理的话)。因此,我们必须在一个复杂到足以确保最终近似质量的家庭和一个足够简单的家庭之间找到适当的平衡,以使优化过程易于处理。我们应该记住,如果家庭中的分布不接近目标分布,那么即使最佳近似也会产生不良结果。

平均场变族是概率分布,其中考虑随机向量的所有组件都是独立的家庭。该系列的分布具有产品密度,使得每个独立组分受产品的不同因素控制。因此,属于平均场变分族的分布具有可以写入的密度

我们假设一个m维随机变量z。请注意,即使在符号中省略了它,也会对所有密度f_j进行参数化。因此,例如,如果每个密度f_j是具有均值和方差参数的高斯,则全局密度f然后由来自所有独立因子的一组参数定义,并且优化在整个参数集上完成。

变分推理中的族的选择既设置了优化过程的难度,也设定了最终近似的质量。

Kullback-Leibler散度

一旦定义了这个家族,一个主要问题仍然存在:如何在这个家族中找到给定概率分布的最佳近似值(明确定义为其归一化因子)?即使最佳近似显然取决于我们考虑的误差测量的性质,似乎很自然地假设最小化问题不应该对归一化因子敏感,因为我们想比较质量分布而不是质量本身(必须是概率分布的单一性)。

所以,让我们现在定义Kullback-Leibler(KL)散度,看看这个度量使问题对归一化因子不敏感。如果p和q是两个分布,则KL散度定义如下

根据这个定义,我们可以很容易地看到我们拥有的

这意味着我们的最小化问题具有以下相等性

因此,当选择KL散度作为我们的误差测量时,优化过程对乘法系数不敏感,我们可以在我们的参数化分布族中搜索最佳近似,而不必计算目标分布的痛苦归一化因子,因为它是预期。

KL散度是交叉熵减去熵。

优化过程和直觉

一旦定义了参数化族和误差测量,我们就可以初始化参数(随机或根据明确定义的策略)并继续进行优化。可以使用几种经典的优化技术,例如梯度下降或坐标下降,这将在实践中导致局部最优。

为了更好地理解这个优化过程,让我们举一个例子,回到贝叶斯推理问题的具体情况,我们假设后验是这样的,

在这种情况下,如果我们想要使用变分推理得到这个后验的近似值,我们必须解决以下优化过程(假设参数化族已定义且KL散度为误差测量)

最后的平等有助于我们更好地理解如何鼓励近似分布其质量。第一项是预期的对数似然,它倾向于调整参数,以便将近似的质量放在潜在变量z的值上,以解释观察到的最佳数据。第二项是近似值和先验值之间的负KL偏差,其倾向于调整参数以使近似值接近先验分布。因此,该目标函数很好地表达了通常的先验/似然平衡。

变分推理方法的优化过程

总结

· 贝叶斯推理在统计学和机器学习中是一个非常经典的问题,它依赖于众所周知的贝叶斯定理,其主要缺点在于,大多数时候,在一些非常繁重的计算中。

· 马尔可夫链蒙特卡罗(MCMC)方法旨在模拟密度样本,这些样本可能非常复杂和/或定义为一个因子

· MCMC可用于贝叶斯推理,以便直接从后验的'未归一化部分'生成样本,而不是处理难以处理的计算

· 变分推理(VI)是一种近似分布的方法,该分布使用参数优化过程来找到给定族中的最佳近似

· VI优化过程对目标分布中的乘法常数不敏感,因此,该方法可用于近似后验仅定义到归一化因子

如前所述,MCMC和VI方法具有不同的属性,这意味着不同的典型用例。一方面,MCMC方法的采样过程非常繁重但没有偏差,因此,当预期得到准确的结果时,这些方法是首选,而不考虑所需的时间。另一方面,尽管VI方法中的族的选择可以明确地引入偏差,但它伴随着合理的优化过程,使得这些方法特别适合于需要快速计算的非常大规模的推理问题。

最后,变分自动编码器,是一种基于变分推理的深度学习方法!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
这两种可用于解决贝叶斯推理问题的主要方法,你知道吗?
不用数学也能讲清贝叶斯理论的马尔可夫链蒙特卡洛方法?这篇文章做到了
简洁清晰解释马尔可夫链蒙特卡洛方法
无需数学知识:快速了解马尔可夫链蒙特卡洛方法
告别数学公式,图文讲解马尔可夫链蒙特卡罗法
MATLAB随机波动率SV、GARCH用MCMC马尔可夫链蒙特卡罗方法分析汇率时间序列
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服