贝叶斯统计与变分推断

Bayesian Statistics and Variational Inference

Abstract

贝叶斯统计学中,变分推断方法有着不可或缺的地位,在近些年,它也开始变得越来越流行,各种方法纷纷涌现。当我们在推断某些复杂的难以直接计算的后验分布时,变分推断方法是一个极好的选择,它可以用一个更简单的分布去近似目标后验分布。想对于同为近似推断方法的 MCMC 方法而言,变分推断方法在低维的问题上要比 MCMC 方法更快,并且在一些大型数据集上,使用 MCMC 方法的求解速度较慢,也不能很好地并行计算,因此,我们可以选择先使用变分推断方法快速得到一个局部最优解,然后以该局部最优解为初始点使用 MCMC 方法去计算目标后验分布的近似解。

Introduction

近些年来,越来越多的人开始关注如何使用贝叶斯分析解决实际问题,作为贝叶斯这个大家族中非常重要的一部分,贝叶斯统计推断的各式各样的方法也越来越多。贝叶斯统计推断主要有两大类方法,一类是精确推断方法,另一类是近似推断方法。精确推断方法通常需要很大的计算开销,因此在现实应用中近似推断方法更为常用。

近似推断方法大致可分为两类:第一类是马尔科夫方法,即我们所熟知的采样方法,这种方法通过使用随机化方法完成近似;第二类是非马尔科夫方法,它使用确定性近似完成近似推断,典型代表为变分推断方法。

现代的贝叶斯统计学大多都采用以 MCMC 方法为代表的马尔科夫方法,不过该方法对某些问题求解很慢而且不能很好地并行计算。一种简单的做法是同时运行多个马尔科夫链,然后将结果合并,不过对大多数问题而言这并不是一个合适的解决方案,如何找到有效的并行计算方式是当前的一个研究热点。因此,目前对于较大的数据集或是某些计算量很大的似然而言,越来越流行的变分方法是一个更好的选择,虽然这类方法只能提供真实后验的粗略近似,不过,它们能快速得到局部最优解,可以为马尔科夫方法提供一个不错的初始点。

变分推断方法的基本思想是通过使用已知简单分布来逼近需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布。

Methods

在该部分我们将来了解变分推断方法的具体过程,首先,考虑样本 X 的分布密度 f ( x ∣ z ) f(x|z) f(xz) 以及参数 Z 的先验分布 π ( z ) \pi(z) π(z),我们可以通过贝叶斯公式计算出参数 Z 的后验分布 π ( z ∣ x ) \pi(z|x) π(zx)
π ( z ∣ x ) = f ( x ∣ z ) π ( z ) m ( x ) \pi(z|x) = \frac {f(x|z)\pi(z)} {m(x)} π(zx)=m(x)f(xz)π(z)
其中, m ( x ) m(x) m(x) 表示边缘分布密度,为了方便表示以及后面公式的推导,我们用分布 p ( ⋅ ) p(\cdot) p() 的形式表示它们,并且假定它们均服从连续分布:
p ( z ∣ x ) = p ( x ∣ z ) p ( z ) p ( x ) = p ( x , z ) p ( x ) p(z|x) = \frac {p(x|z)p(z)} {p(x)} = \frac {p(x,z)} {p(x)} p(zx)=p(x)p(xz)p(z)=p(x)p(x,z)
我们需要求的是分布 p ( z ∣ x ) p(z|x) p(zx),为此我们需要求出 p ( x , z ) p(x,z) p(x,z) p ( x ) p(x) p(x),其中, p ( x , z ) p(x,z) p(x,z) 可以由已知的 p ( x ∣ z ) p(x|z) p(xz) p ( z ) p(z) p(z) 求出,边缘分布 p ( x ) p(x) p(x) 是未知的客观事物,为了得到它我们一般需要对 p ( x , z ) p(x,z) p(x,z) 求积分:
p ( x ) = ∫ p ( x , z )   d z p(x) = \int p(x,z)\, {\rm d}z p(x)=p(x,z)dz
然而在实际生活中,这个积分通常是不好求的甚至不可求的,这就导致我们无法得到 p ( x ) p(x) p(x),也就无法计算出 p ( z ∣ x ) p(z|x) p(zx)

为了解决这个问题,我们可以使用一种名为变分推断的方法,该方法引入一个近似分布 q ( z ) q(z) q(z),当选取的 q ( z ) q(z) q(z) 和我们的目标分布 p ( z ∣ x ) p(z|x) p(zx) 非常接近时,我们可以近似认为 q ( z ) q(z) q(z) 即为我们的目标分布。

为了达到该目的,首先我们需要一个能刻画两个分布之间逼近程度的度量,然后还能够通过优化隐含参数的方式来使得这个度量越来越小,使近似分布 q ( z ) q(z) q(z) 不断逼近目标分布 p ( z ∣ x ) p(z|x) p(zx),因此,我们就需要引入 KL 散度的概念。

KL 散度

KL 散度也被称为相对熵,它可以描述近似分布与真实分布的逼近程度,即可以度量两个概率分布之间的差异的大小,KL 散度的公式为:
K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) = ∫ q ( z ) ln ⁡ ( q ( z ) p ( z ∣ x ) )   d z KL(q(z)||p(z|x)) = {\int q(z) \ln\left(\frac{q(z)}{p(z|x)}\right)\, {\rm d}z} KL(q(z)p(zx))=q(z)ln(p(zx)q(z))dz
这里的 q ( z ) q(z) q(z) p ( z ∣ x ) p(z|x) p(zx) 分别代表我们前文所说的近似分布和目标后验分布,因此 D K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) D_{KL}(q(z)||p(z|x)) DKL(q(z)p(zx)) 刻画了近似分布与目标分布的逼近程度。

我们将 KL 散度公式展开,可得:
K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) = ∫ q ( z ) ln ⁡ ( q ( z ) )   d z − ∫ q ( z ) ln ⁡ ( p ( z ∣ x ) )   d z = − H ( q ( z ) ) + H ( q ( z ) , p ( z ∣ x ) ) KL(q(z)||p(z|x)) = {\int q(z) \ln\left(q(z)\right)\, {\rm d}z} - {\int q(z) \ln\left(p(z|x)\right)\, {\rm d}z} \\ = -H(q(z)) + H(q(z), p(z|x)) KL(q(z)p(zx))=q(z)ln(q(z))dzq(z)ln(p(zx))dz=H(q(z))+H(q(z),p(zx))
其中, H ( q ( z ) ) H(q(z)) H(q(z)) 代表分布 q ( z ) q(z) q(z) 的信息熵, H ( q ( z ) , p ( z ∣ x ) ) H(q(z), p(z|x)) H(q(z),p(zx)) 代表分布 q ( z ) q(z) q(z) p ( z ∣ x ) p(z|x) p(zx) 的交叉熵。

变分推断

我们已经知道近似分布与真实目标分布的逼近程度可以用 KL 散度来描述,那我们只要通过优化隐含参数来不断减小 KL 散度,就可以达到不断逼近目标分布的目的,但是 KL 散度的计算公式当中存在着不可解的后验概率 p ( z ∣ x ) p(z|x) p(zx),因此我们无法通过求解出 KL 散度的最小值来达到我们的目的。

虽然我们无法直接最小化 KL 散度,但是我们可以间接达到这样的目的,为了了解如何间接达到我们的目的,接下来进行 一系列公式推导:

  1. 为了内容的完整性,再次给出我们刚才的贝叶斯公式,并对其进行一定的变换:
    p ( z ∣ x ) = p ( x , z ) p ( x ) ⇒ p ( x ) = p ( x , z ) p ( z ∣ x ) p(z|x) = \frac {p(x,z)} {p(x)} \\ \Rightarrow p(x) = \frac{p(x, z)}{p(z|x)} p(zx)=p(x)p(x,z)p(x)=p(zx)p(x,z)

  2. 对变换后的公式两边取对数:
    ln ⁡ ( p ( x ) ) = ln ⁡ ( p ( x , z ) ) − ln ⁡ ( p ( z ∣ x ) ) \ln(p(x)) = \ln(p(x,z)) - \ln(p(z|x)) ln(p(x))=ln(p(x,z))ln(p(zx))

  3. 在等式右边引入 q ( z ) q(z) q(z) q ( z ) q(z) q(z) 即为我们用来逼近真实后验分布的近似分布:
    ln ⁡ ( p ( x ) ) = ln ⁡ ( p ( x , z ) q ( z ) ) − ln ⁡ ( p ( z ∣ x ) q ( z ) ) \ln(p(x)) = \ln\left(\frac{p(x,z)}{q(z)}\right) - \ln\left(\frac{p(z|x)}{q(z)}\right) ln(p(x))=ln(q(z)p(x,z))ln(q(z)p(zx))

  4. 公式两边同时对 z 取期望:
    ∫ q ( z ) ln ⁡ ( p ( x ) )   d z = ∫ q ( z ) ln ⁡ ( p ( x , z ) q ( z ) )   d z − ∫ q ( z ) ln ⁡ ( p ( z ∣ x ) q ( z ) )   d z \int q(z)\ln(p(x))\, {\rm d}z = {\int q(z) \ln\left(\frac{p(x,z)}{q(z)}\right)\, {\rm d}z} - {\int q(z) \ln\left(\frac{p(z|x)}{q(z)}\right)\, {\rm d}z} q(z)ln(p(x))dz=q(z)ln(q(z)p(x,z))dzq(z)ln(q(z)p(zx))dz

  5. 对等式两边分别进行变换:
    左 边 = ln ⁡ ( p ( x ) ) ∫ q ( z )   d z = ln ⁡ ( p ( x ) ) 右 边 = ∫ q ( z ) ln ⁡ ( p ( x , z ) )   d z − ∫ q ( z ) ln ⁡ ( q ( z ) )   d z − ∫ q ( z ) ln ⁡ ( p ( z ∣ x ) q ( z ) )   d z \begin{aligned} &{左边 = \ln(p(x)) \int q(z)\, {\rm d}z = \ln(p(x))} \\ &{右边 = {\int q(z) \ln\left(p(x,z)\right)\, {\rm d}z} - {\int q(z) \ln\left(q(z)\right)\, {\rm d}z} - {\int q(z) \ln\left(\frac{p(z|x)}{q(z)}\right)\, {\rm d}z}} \end{aligned} =ln(p(x))q(z)dz=ln(p(x))=q(z)ln(p(x,z))dzq(z)ln(q(z))dzq(z)ln(q(z)p(zx))dz

  6. 对变换后的新等式再次进行变换:
    ln ⁡ ( p ( x ) ) = ∫ q ( z ) ln ⁡ ( p ( x , z ) )   d z − ∫ q ( z ) ln ⁡ ( q ( z ) )   d z − ∫ q ( z ) ln ⁡ ( p ( z ∣ x ) q ( z ) )   d z = ∫ q ( z ) ln ⁡ ( p ( x , z ) )   d z − ∫ q ( z ) ln ⁡ ( q ( z ) )   d z ⏟ E L B O + ∫ q ( z ) ln ⁡ ( q ( z ) p ( z ∣ x ) )   d z ⏟ K L ( q ( z ) ∣ ∣ p ( z ∣ x ) ) \ln(p(x)) = {\int q(z) \ln\left(p(x,z)\right)\, {\rm d}z} - {\int q(z) \ln\left(q(z)\right)\, {\rm d}z} - {\int q(z) \ln\left(\frac{p(z|x)}{q(z)}\right)\, {\rm d}z}\\ = \begin{matrix} \underbrace{{\int q(z) \ln\left(p(x,z)\right)\, {\rm d}z} - {\int q(z) \ln\left(q(z)\right)\, {\rm d}z}} \\ELBO \end{matrix} + \begin{matrix} \underbrace{{\int q(z) \ln\left(\frac{q(z)}{p(z|x)}\right)\, {\rm d}z}} \\KL(q(z)||p(z|x)) \end{matrix} ln(p(x))=q(z)ln(p(x,z))dzq(z)ln(q(z))dzq(z)ln(q(z)p(zx))dz= q(z)ln(p(x,z))dzq(z)ln(q(z))dzELBO+ q(z)ln(p(zx)q(z))dzKL(q(z)p(zx))

可以看到,等式右边的第二项即为我们刚才所说的 KL 散度,我们的目标就是通过优化隐含参数来使 KL 散度越来越小,虽然我们刚才也提到了,我们无法直接最小化 KL 散度,但是我们可以通过最大化 ELBO 的方式来间接达到最小化 KL 散度的目的。

为什么可以这样做呢?因为等式左边中的 p ( x ) p(x) p(x) 是未知的客观真理,换句话说,虽然 p ( x ) p(x) p(x) 是未知的,但是它是一个客观存在的常量,所以,等式左边 ln ⁡ ( p ( x ) ) \ln(p(x)) ln(p(x)) 也是一个常量。

等式的右边被我们处理成了 ELBO 与 KL 散度的和,而等式的左边则是未知的常量,因此,我们就可以通过增大 ELBO 的方式来减小 KL 散度,从而达到逼近真实后验分布的目的。

总结一下,通过前面这些过程,我们将最开始的求后验分布的推断问题,转换成了最小化 KL 散度的优化问题,但 KL 散度无法直接最小化,因此我们继续将问题转换成了最大化 ELBO 的优化问题:
max ⁡ q E L B O ⇒ max ⁡ q ( ∫ q ( z ) ln ⁡ ( p ( x , z ) )   d z − ∫ q ( z ) ln ⁡ ( q ( z ) )   d z ) \max_q ELBO \\ \Rightarrow \max_q \left({\int q(z) \ln\left(p(x,z)\right)\, {\rm d}z} - {\int q(z) \ln\left(q(z)\right)\, {\rm d}z}\right) qmaxELBOqmax(q(z)ln(p(x,z))dzq(z)ln(q(z))dz)

黑盒变分推断

现在我们的目的变成了最大化 ELBO,那我们怎么实现它呢?接下来,我们将使用黑盒变分推断这个方法解决该问题。

我们前面提到过,我们需要通过优化隐含参数的方式来使得近似分布逼近真实分布,这里的隐含参数就是近似分布 q ( z ) q(z) q(z) 的参数,我们假设它为 θ \theta θ,将该参数引入式子,即令 q ( z ) = q ( z ; θ ) q(z) = q(z; \theta) q(z)=q(z;θ),则:
E L B O = ∫ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ELBO = {\int q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z} ELBO=q(z;θ)ln(q(z;θ)p(x,z))dz
θ \theta θ 求导并进行一系列变换:
∇ E L B O = ∇ ( ∫ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ) = ( ∫ ∇ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ) + ( ∫ q ( z ; θ ) ∇ ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ) = ( ∫ ∇ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ) + ( ∫ q ( z ; θ ) ∇ ln ⁡ ( p ( x , z ) ) − q ( z ; θ ) ∇ ln ⁡ ( q ( z ; θ ) )   d z ) = ( ∫ ∇ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ) + ( ∫ 0 − q ( z ; θ ) ( ∇ q ( z ; θ ) q ( z ; θ ) )   d z ) = ( ∫ ∇ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ) + ( − ∫ ∇ q ( z ; θ )   d z ) = ( ∫ ∇ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ) + ( − ∇ ∫ q ( z ; θ )   d z ) = ( ∫ ∇ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ) + ( − ∇ 1 ) = ( ∫ ∇ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z ) + 0 = ∫ ∇ q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z = ∫ q ( z ; θ ) ∇ q ( z ; θ ) q ( z ; θ ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z = ∫ q ( z ; θ ) ∇ ( ln ⁡ q ( z ; θ ) ) ln ⁡ ( p ( x , z ) q ( z ; θ ) )   d z \begin{aligned} &{\nabla ELBO = \nabla \left({\int q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}\right)} \\ &{= \left({\int \nabla q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}\right) + \left({\int q(z;\theta) \nabla\ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}\right)} \\ &{= \left({\int \nabla q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}\right) + \left({\int q(z;\theta) \nabla\ln\left(p(x,z)\right) - q(z;\theta) \nabla\ln\left(q(z;\theta)\right)\, {\rm d}z}\right)} \\ &{= \left({\int \nabla q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}\right) + \left({\int 0 - q(z;\theta) \left(\frac{\nabla q(z;\theta)}{q(z;\theta)} \right)\, {\rm d}z}\right)} \\ &{= \left({\int \nabla q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}\right) + \left(-{\int \nabla q(z;\theta) \, {\rm d}z}\right)} \\ &{= \left({\int \nabla q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}\right) + \left(-{\nabla \int q(z;\theta) \, {\rm d}z}\right)} \\ &{= \left({\int \nabla q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}\right) + \left(-{\nabla 1}\right)} \\ &{= \left({\int \nabla q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}\right) + 0} \\ &{= {\int \nabla q(z;\theta) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}} \\ &{= {\int q(z;\theta) \frac{\nabla q(z;\theta)}{q(z;\theta)} \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}} \\ &{= {\int q(z;\theta) \nabla(\ln{q(z;\theta)}) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right)\, {\rm d}z}} \\ \end{aligned} \\ ELBO=(q(z;θ)ln(q(z;θ)p(x,z))dz)=(q(z;θ)ln(q(z;θ)p(x,z))dz)+(q(z;θ)ln(q(z;θ)p(x,z))dz)=(q(z;θ)ln(q(z;θ)p(x,z))dz)+(q(z;θ)ln(p(x,z))q(z;θ)ln(q(z;θ))dz)=(q(z;θ)ln(q(z;θ)p(x,z))dz)+(0q(z;θ)(q(z;θ)q(z;θ))dz)=(q(z;θ)ln(q(z;θ)p(x,z))dz)+(q(z;θ)dz)=(q(z;θ)ln(q(z;θ)p(x,z))dz)+(q(z;θ)dz)=(q(z;θ)ln(q(z;θ)p(x,z))dz)+(1)=(q(z;θ)ln(q(z;θ)p(x,z))dz)+0=q(z;θ)ln(q(z;θ)p(x,z))dz=q(z;θ)q(z;θ)q(z;θ)ln(q(z;θ)p(x,z))dz=q(z;θ)(lnq(z;θ))ln(q(z;θ)p(x,z))dz
对于变换的结果,我们可以把它看作一个期望的公式,一般的期望公式如同下面的格式:
E = ∫ P ( x ) F ( x )   d x E = \int P(x) F(x)\, {\rm d}x E=P(x)F(x)dx
因此,我们可以把变换结果中的 q ( z ; θ ) q(z;\theta) q(z;θ) 看作 P ( z ) P(z) P(z),把 ∇ ( ln ⁡ q ( z ; θ ) ) ln ⁡ ( p ( x , z ) q ( z ; θ ) ) \nabla(\ln{q(z;\theta)}) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right) (lnq(z;θ))ln(q(z;θ)p(x,z)) 看作 F ( z ) F(z) F(z),这样子求 ∇ E L B O \nabla ELBO ELBO 的过程就变成了求期望的过程。

对于如何求取 ∇ ( ln ⁡ q ( z ; θ ) ) ln ⁡ ( p ( x , z ) q ( z ; θ ) ) \nabla(\ln{q(z;\theta)}) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right) (lnq(z;θ))ln(q(z;θ)p(x,z)) 期望,我们可以把期望看作一个加权平均, q ( z ; θ ) q(z;\theta) q(z;θ) 是权重, ∇ ( ln ⁡ q ( z ; θ ) ) ln ⁡ ( p ( x , z ) q ( z ; θ ) ) \nabla(\ln{q(z;\theta)}) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right) (lnq(z;θ))ln(q(z;θ)p(x,z)) 是值,因此我们可以使用蒙特卡洛采样方法来近似得到 ∇ E L B O \nabla ELBO ELBO,根据分布 q ( z ; θ ) q(z;\theta) q(z;θ) 进行采样,取出 N 个 ∇ ( ln ⁡ q ( z ; θ ) ) ln ⁡ ( p ( x , z ) q ( z ; θ ) ) \nabla(\ln{q(z;\theta)}) \ln\left(\frac{p(x,z)}{q(z;\theta)}\right) (lnq(z;θ))ln(q(z;θ)p(x,z)) 求平均:
∇ E L B O = 1 N ∑ i N F ( z i ) = 1 N ∑ i N ( ∇ ( ln ⁡ q ( z i ; θ ) ) ln ⁡ ( p ( x , z i ) q ( z i ; θ ) ) ) \nabla ELBO = \frac1N \sum_i^N F(z_i) = \frac1N \sum_i^N \left({\nabla(\ln{q(z_i;\theta)}) \ln\left(\frac{p(x,z_i)}{q(z_i;\theta)}\right)}\right) ELBO=N1iNF(zi)=N1iN((lnq(zi;θ))ln(q(zi;θ)p(x,zi)))

然后我们可以使用如下的梯度下降方法,通过调整参数 θ \theta θ 使 ∇ E L B O \nabla ELBO ELBO 不断增大,直到出现最优解 θ q \theta^q θq
θ t + 1 = θ t + △ θ = θ t + η ∇ E L B O \theta^{t+1} = \theta^t + \triangle \theta = \theta^t + \eta \nabla ELBO θt+1=θt+θ=θt+ηELBO
其中, η \eta η 是梯度下降方法中的学习率,它是一个超参数,我们可以对其进行调整,来改变优化过程中参数的更新步长,注意,这个值不能太大也不能太小,太大会容易出现振荡,无法收敛,太小收敛速度则会过慢。

在得到最优解 θ q \theta^q θq 后,我们将其代入到近似分布 q ( z ; θ ) q(z; \theta) q(z;θ),得到我们的最终结果 q ( z ; θ q ) q(z; \theta^q) q(z;θq),这个分布和真实的目标后验分布非常接近,因此我们就可以把 q ( z ; θ q ) q(z; \theta^q) q(z;θq) 看作我们最终的目标分布。

Discussion

在很多任务中,我们关心某些概率分布并非因为对这些概率分布本身感兴趣,而是要基于它们计算某些期望,并且还可能进一步基于这些期望做出决策。若直接计算或逼近这个期望比推断概率分布更容易,则直接操作无疑将使推断问题的求解更为高效。但是,实际生活中,直接计算往往不可行,因此我们就需要借助 MCMC 方法或变分推断方法帮助我们求出目标分布的近似解。

变分推断方法的可以快速计算出目标后验分布的近似,在较大的数据集上或是当我们需要计算某些计算量很大的似然时,我们通常使用变分推断方法。但是,变分推断方法存在一个较大的缺点,就是我们必须对每个模型设计一个特定的算法,因而变分方法并不是一个通用的推断引擎,而是与模型相关的。当然,许多人都在尝试将变分方法自动化,近些年提出的一个方法是自动差分变分推断 ADVI。

Reference

徐亦达机器学习系列课程

《机器学习》周志华著

好了本文到此就快结束了,该博文为统计课的考核论文,在完成该考核论文时我学了不少东西,但也有很多东西令我非常困惑,我查阅了一些资料,大概明白一些,但是由于时间和水平有限,无法将它们和本文融汇在一起,因此可能给大家的阅读造成一些困扰,在此给大家道个歉,当然,文章中还有很多不足和不正确的地方,欢迎大家指正(也请大家体谅,这个考核论文写下来真的挺累的,所有公式我都是一个一个敲下来的),我会尽快修改,之后我也会尽量完善本文,尽量写得通俗易懂。

博文创作不易,转载请注明本文地址:https://blog.csdn.net/qq_44009891/article/details/106859748

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值