PRML笔记(十)

10. Approximate Inference

在probabilistic models中的一个核心任务是,在给定observed(visible)data variables X \mathbf{X} X 的时候去计算关于latent variables Z \mathbf{Z} Z的posterior distribution p ( Z ∣ X ) p(\mathbf{Z|X}) p(ZX)。并且去在该概率分布下计算一些expectations。这个model可能会包含一些deterministic parameters,我们此时将设这些parameters为implicit,或是说,它会是一个fully Bayesian model,其中任何的unknown parameters都会有相应的prior distribution,并且这些parameters将会容纳到由vector Z \mathbf{Z} Z所标记的latent variables中去。例如,在EM算法中,我们需要计算在latent variables的posterior distribution下的complete-data log likelihood的expectation。对于许多具有实际应用的models,我们无法计算得到相应的posterior distribution,或者去计算关于这些distribution的expectations。这可能是由于latent space的dimensionality过于高,导致我们无法直接处理它,或者是由于posterior distribution具有一种非常复杂的形式,从而使得这里的expectations无法求得解析解。在continuous variables的情况中,相应的integrations可能不具有closed-form analytical solutions,同时space的维数以及被积函数的复杂度可能会抑制numerical integration。对于discrete variables来说,marginalizations涉及到对关于hidden variables的所有可能取值的求和,从原则上来说,尽管它总是可能的,但是我们在实际中经常会发现,这里的hidden states是指数级别的,从而使得exact calculation的代价十分大。

在这样一种情况下,我们需要将目光转向一种approximation schemes,这样的schemes主要分为两类(根据具体的方法是依赖于stochastic或是deterministic approximations)。第11章中所叙述的stochastic 方法(例如Markov chain Monte Carlo)是一种在许多领域中都广泛使用的Bayesian methods。它们普遍具有一个性质,即在给定无限的计算资源的时候,该类方法可以得到exact results,而当我们使用a finite amount of processor time的时候,我们将得到一个approximation。在实际中,sampling methods非常消耗时间,从而使得该类方法通常被局限于small-scale problems中。同样的,我们难以知道,一个sampling scheme是否能够从required distribution中生成independent samples。

在本章中,我们引入一系列的deterministic approximation schemes,其中一些能够较好地扩展到大规模的应用中。这些方法是基于对posterior distribution的analytical approximations,例如通过假设它可能以一种特定的方式进行分解,或者它具有一种特定的形式(例如Gaussian)。同样的,它们不能生成exact results,因此它们的strengths和weaknesses与sampling methods是互补的。

在4.4节中,我们讨论了Laplace approximation,其中它是利用local Gaussian approximation来逼近一个distribution的mode而实现的。在这里,我们转而考虑另外一类近似方法,被称为是variational inference(或是variational Bayes),其中我们使用更为global的criteria,并且这类方法已经得到了广泛的使用。最后我们将介绍另外一种variational framework,被称为是expectation propagation。

10.1 Variational Inference

Variational methods源自18世纪Euler,Lagrange和其他人关于变分法的研究。标准的微积分关注于寻找functions的derivatives。我们可以视一个function为一个mapping,它将一个variable的value当作input,然后返回该function的value,作为output。因此function的derivative描述了当我们对input value进行了无限小的改变之后,output value是如何变化的。类似的,我们定义一个functional为,一个mapping,它以一个function为input,然后返回该functional的value作为output。一个关于functional的例子为entropy H [ p ] H[p] H[p], 其中它以一个probability distribution p ( x ) p(x) p(x) 为input,然后它返回如下的这个量:
H [ p ] = ∫ p ( x ) ln  p ( x ) d x      ( 10.1 ) H[p]=\int p(x)\text{ln}\ p(x)\text{d}x\ \ \ \ (10.1) H[p]=p(x)ln p(x)dx    (10.1)
作为output。然后我们可以引入functional derivative的概念,其中它表达的是,当input function发生微小的改变的时候,functional的值是如何改变的。变分法的规则与标准微积分规则的表述在附录D中有所介绍。许多问题可以被表示成一个optimization problem,其中我们所要去优化的quantity为一个functional。我们可以通过探索所有可能的input function,并且寻找一个可能最大化或最小化functional的solution。Variational methods具有较为广泛的应用,并且在有限元方法和最大熵中都有所应用。

尽管变分法本质上没有什么近似的特性,但是该方法天然适合寻找近似解。这可以通过约束我们所需要优化的函数范围的方式来实现。例如,我们仅仅考虑二次函数,或是只考虑具有固定基函数的线性组合形式的函数,其中线性组合系数是可以变化的。在probabilistic inference的应用中,restriction可能需要具有factorization assumption的假设。

现在我们来从细节方面考虑variational optimization的概念可以以何种方式应用在inference problem中。假设我们具有一个fully Bayesian model,其中所有的parameters都具有相应的prior distributions。这个model可能具有latent variables以及parameters,并且我们将所有的observed variables的set表示为 X \mathbf{X} X。例如,我们可能具有一个含有 N N N个独立同分布data points的data set,其中有 X = { x 1 , . . . , x N } \mathbf{X}=\{\mathbf{x}_1,...,\mathbf{x}_N\} X={x1,...,xN}, 并且有 Z = { z 1 , . . . , z N } \mathbf{Z}=\{\mathbf{z}_1,...,\mathbf{z}_N\} Z={z1,...,zN}。我们的probabilistic model对joint distribution p ( X , Z ) p(\mathbf{X,Z}) p(X,Z)进行了明确,并且我们的目标在于寻找到一个关于posterior distribution p ( Z ∣ X ) p(\mathbf{Z|X}) p(ZX)的approximation,以及model evidence p ( X ) p(\mathbf{X}) p(X)。正如我们在EM算法中的讨论一样,我们可以使用如下的方式对log likelihood probability进行分解:
ln  p ( X ) = L ( q ) + KL ( q ∣ ∣ p )      ( 10.2 ) \text{ln}\ p(\mathbf{X})=\mathcal{L}(q)+\text{KL}(q||p)\ \ \ \ (10.2) ln p(X)=L(q)+KL(qp)    (10.2)
其中我们有定义:
L ( q ) = ∫ q ( Z ) ln { p ( X , Z ) q ( Z ) } d Z      ( 10.3 ) \mathcal{L}(q)=\int q(\mathbf{Z})\text{ln}\left\{ \frac{p(\mathbf{X,Z})}{q(\mathbf{Z})} \right\}\text{d}\mathbf{Z}\ \ \ \ (10.3) L(q)=q(Z)ln{q(Z)p(X,Z)}dZ    (10.3)
KL ( q ∣ ∣ p ) = − ∫ q ( Z ) ln { p ( Z ∣ X ) q ( Z ) } d Z      ( 10.4 ) \text{KL}(q||p)=-\int q(\mathbf{Z})\text{ln}\left\{ \frac{p(\mathbf{Z}|\mathbf{X})}{q(\mathbf{Z})} \right\}\text{d}\mathbf{Z}\ \ \ \ (10.4) KL(qp)=q(Z)ln{q(Z)p(ZX)}dZ    (10.4)
这与我们对EM算法的讨论的不同之处在于,parameter vector θ \bm{\theta} θ不再出现了,因为此时parameters都是stochastic variables,因而被包含在 Z \mathbf{Z} Z中。因为在本章中,我们将主要考虑continuous variables,所以我们使用integrations而不是summations来进行这里的分解。然后,如果这里的一些或所有的variables都是discrete,那么我们可以将integrations代替为summations的方式来使得这里的分析不发生改变。与之前相同的是,我们可以通过优化distribution q ( Z ) q(\mathbf{Z}) q(Z)的方式,来对lower bound L ( q ) \mathcal{L}(q) L(q)进行maximize,其中它等价于最小化KL divergence。如果我们允许任何可能的关于 q ( Z ) q(\mathbf{Z}) q(Z)的选择,那么对lower bound的最大化将在KL divergence消失的时候发生,该情况在 q ( Z ) q(\mathbf{Z}) q(Z)与posterior distribution p ( Z ∣ X ) p(\mathbf{Z|X}) p(ZX)相等时发生。然而,我们假设,直接计算真实的posterior distribution是intractable的。

因此,我们考虑一类受限的distributions q ( Z ) q(\mathbf{Z}) q(Z), 然后寻找到这类distributions中那个能使得KL divergence最小的distribution。我们的目标在于对概率分布族进行约束,使得该族中仅包含tractable distributions,同时允许该概率分布族能够充分多样化,并且足够灵活,从而能够为真实的posterior distribution提供一个较好的approximation。我们需要强调的是,restriction的作用仅仅是为了能使distribution具有tractability,在受到这样的约束的前提下,我们应该尽可能使用一族含有概率分布形式数量丰富的approximating distributions。特别的,在这里,较高灵活度的distributions并不与‘over-fitting’产生关系。使用更为灵活的approximations仅仅使得我们可以更为接近真实的posterior distribution。

一种限制approximating distributions的方法是使用parametric distribution q ( Z ∣ w ) q(\mathbf{Z}|\mathcal{\bm{w}}) q(Zw), 它受到着一系列parameters w \mathcal{\bm{w}} w的控制。此时lower bound L ( q ) \mathcal{L}(q) L(q)将会成为是一个关于 w \mathcal{\bm{w}} w的function,并且我们可以利用标准的非线性优化方法来确定parameters的最优值。一个关于该方法的例子(其中variational distribution是Gaussian)如下图所示,其中我们对概率分布的的mean和variance进行了优化:
PRML笔记(十)_第1张图片

10.1.1 Factorized distributions

在这里,我们考虑另外一种方法去对概率分布族 q ( Z ) q(\mathbf{Z}) q(Z) 进行限制。假设我们将 Z \mathbf{Z} Z中的elements划分成disjointed groups,并被标记为 Z i , i = 1 , . . . , M \mathbf{Z}_i,i=1,...,M Zi,i=1,...,M。此时我们假设distribution q q q可以依照这些groups而进行划分,从而有:
q ( Z ) = ∏ i = 1 M q i ( Z i )      ( 10.5 ) q(\mathbf{Z})=\prod_{i=1}^Mq_i(\mathbf{Z}_i)\ \ \ \ (10.5) q(Z)=i=1Mqi(Zi)    (10.5)
我们需要强调的是,我们并没有对distributions进行进一步的假设。特别的,我们并没有对每一个factor q i ( Z i ) q_i(\mathbf{Z}_i) qi(Zi)进行限制。这里的factorized form of variational inference对应于一种approximation framework,被称为是mean field theory。

在所有的具有(10.5)形式的 q ( Z ) q(\mathbf{Z}) q(Z) distributions中,我们现在需要寻找的是一个能够使得lower bound L ( q ) \mathcal{L}(q) L(q)最大的distribution (注意到,这里我们并没有对KL divergence直接进行最小化,因为我们无法求得该项的表达式,所以就没法使用变分法来求得 q ( Z ) q(\mathbf{Z}) q(Z)的值)。因此,我们希望能够构造一个关于所有distributions q i ( Z i ) q_i(\mathbf{Z}_i) qi(Zi) 的free form (variational) 的 L ( q ) \mathcal{L}(q) L(q)的optimization,其中我们轮流对每一个factor进行优化。为了实现这件事,我们首先将(10.5)代入(10.3),然后分析出关于factor q j ( Z j ) q_j(\mathbf{Z}_j) qj(Zj)的依赖。我们将 q j ( Z j ) q_j(\mathbf{Z}_j) qj(Zj)简单标记为 q j q_j qj, 从而简化符号,因而我们可以得到:
L ( q ) = ∫ ∏ i q i { ln  p ( X , Z ) − ∑ i ln  q i } d Z = ∫ q i { ∫ ln  p ( X , Z ) ∏ i ≠ j q i d Z i } d Z j − ∫ q j ln  q j d Z j + const = ∫ q j ln p ~ ( X , Z j ) d Z j − ∫ q j ln  q j d Z j + const     ( 10.6 ) \mathcal{L}(q)=\int\prod_iq_i\left\{ \text{ln}\ p(\mathbf{X,Z})-\sum_i\text{ln}\ q_i \right\}\text{d}\mathbf{Z}\\ =\int q_i\left\{ \int\text{ln}\ p(\mathbf{X,Z})\prod_{i\neq j}q_i\text{d}\mathbf{Z}_i \right\}\text{d}\mathbf{Z}_j-\int q_j\text{ln}\ q_j\text{d}\mathbf{Z}_j+\text{const}\\ =\int q_j\text{ln}\widetilde{p}(\mathbf{X,Z}_j)\text{d}\mathbf{Z}_j-\int q_j\text{ln}\ q_j\text{d}\mathbf{Z}_j+\text{const}\ \ \ \ (10.6) L(q)=iqi{ln p(X,Z)iln qi}dZ=qiln p(X,Z)i=jqidZidZjqjln qjdZj+const=qjlnp (X,Zj)dZjqjln qjdZj+const    (10.6)

其中我们通过如下的关系定义了一个新的distribution p ~ ( X , Z j ) \widetilde{p}(\mathbf{X},\mathbf{Z}_j) p (X,Zj)
ln  p ~ ( X , Z j ) = E i ≠ j [ ln  p ( X , Z ) ] + const     ( 10.7 ) \text{ln}\ \widetilde{p}(\mathbf{X},\mathbf{Z}_j)=\mathbb{E}_{i\neq j}[\text{ln}\ p(\mathbf{X,Z})]+\text{const}\ \ \ \ (10.7) ln p (X,Zj)=Ei=j[ln p(X,Z)]+const    (10.7)
在这里,符号 E i ≠ j [ …   ] \mathbb{E}_{i\neq j}[\dots] Ei=j[]表示q distributions在所有variables z i , i ≠ j \mathbf{z}_i,i\neq j zi,i=j上的expectation,从而有:
E i ≠ j [ ln  p ( X , Z ) ] = ∫ ln  p ( X , Z ) ∏ i ≠ j q i d Z i      ( 10.8 ) \mathbb{E}_{i\neq j}[\text{ln}\ p(\mathbf{X,Z})]=\int\text{ln}\ p(\mathbf{X,Z})\prod_{i\neq j}q_i\text{d}\mathbf{Z}_i\ \ \ \ (10.8) Ei=j[ln p(X,Z)]=ln p(X,Z)i=jqidZi    (10.8)
现在,假设我们保持 { q i ≠ j } \{q_{i\neq j}\} {qi=j}是固定的,并且关于所有可能的distribution q j ( Z j ) q_j(\mathbf{Z}_j) qj(Zj)的形式,最大化(10.6)中的 L ( q ) \mathcal{L}(q) L(q)。这一件事情其实是很容易的,因为我们发现,(10.6)其实是在 q j ( Z j ) q_j(\mathbf{Z}_j) qj(Zj) p ~ ( X , Z j ) \widetilde{p}(\mathbf{X},\mathbf{Z}_j) p (X,Zj)之间的negative KL divergence。因此,对(10.6)的最大化等价于对KL divergence的最小化,因此,最小值出现在当 q j ( Z j ) = p ~ ( X , Z j ) q_j(\mathbf{Z}_j)=\widetilde{p}(\mathbf{X,Z}_j) qj(Zj)=p (X,Zj)满足时。因此,我们得到了一个 q j ∗ ( Z j ) q_j^*(\mathbf{Z}_j) qj(Zj)最优解的一般性表达:
ln  q j ∗ ( Z j ) = E i ≠ j [ ln  p ( X , Z ) ] + const     ( 10.9 ) \text{ln}\ q_j^*(\mathbf{Z}_j)=\mathbb{E}_{i\neq j}[\text{ln}\ p(\mathbf{X,Z})]+\text{const}\ \ \ \ (10.9) ln qj(Zj)=Ei=j[ln p(X,Z)]+const    (10.9)
我们花费一些时间来研究这个表达式是十分值得的,因为它提供了variational method的一种应用。所以说,对于factor q j q_j qj来说,它的最优解的log形式可以简单地通过考虑在所有的hidden以及visible variables的joint distribution的log的形式,然后对其关于所有的其他factors { q i } , i ≠ j \{q_i\},i\neq j {qi},i=j求期望的方式得到。

在(10.9)中的addictive constant是通过对distribution q j ∗ ( Z j ) q_j^*(\mathbf{Z}_j) qj(Zj)进行normalizing而得到的。因此,如果我们对上式两边同时取指数,然后进行归一化,则有:
q j ∗ ( Z j ) = exp ( E i ≠ j [ ln  p ( X , Z ) ] ) ∫ exp ( E i ≠ j [ ln  p ( X , Z ) ] ) d Z j q_j^*(\mathbf{Z}_j)=\frac{\text{exp}(\mathbb{E}_{i\neq j}[\text{ln}\ p(\mathbf{X,Z})])}{\int\text{exp}(\mathbb{E}_{i\neq j}[\text{ln}\ p(\mathbf{X,Z})])\text{d}\mathbf{Z}_j} qj(Zj)=exp(Ei=j[ln p(X,Z)])dZjexp(Ei=j[ln p(X,Z)])

在实际中,我们将考虑一种更为简单的方式,来处理(10.9), 然后(在需要的时候)通过观察的方式得到normalization constant。在接下来的例子中,这件事将变得更为清楚。

由(10.9)所给出的一系列的equations( j = 1 , . . . , M j=1,...,M j=1,...,M)表达着一系列的在受到着factorization constraint的时候的maximum of the lower bound的一致性条件。然后,它们并没有表达成一种显式解的形式,因为(10.9)右式关于 q j ∗ ( Z j ) q_j^*(\mathbf{Z}_j) qj(Zj)的最优解依赖于在其他factors q i ( Z i ) , i ≠ j q_i(\mathbf{Z}_i),i\neq j qi(Zi),i=j上的期望。因此我们将探究一种consistent solution,其中我们首先对所有的factors q i ( Z i ) q_i(\mathbf{Z}_i) qi(Zi)进行适当的初始化,然后在这些factors上进行循环,并利用由(10.9)右式中关于所有其他的factors相应的current estimates所计算出来的revised estimate,来替换原来的estimate。由于与每一个factor q i ( Z i ) q_i(\mathbf{Z}_i) qi(Zi)相关的bound是convex的,所以convergence是可以得到保证的。

10.1.2 Properties of factorized approximations

我们关于variational inference的方法是基于对true posterior distribution的factorized approximation。我们首先考虑用一个factorized distribution来逼近一个general distribution的问题。首先,我们讨论使用一个factorized Gaussian来逼近一个Gaussian distribution的问题,其中我们将深入理解在使用factorized approximation时会带来的inaccuracy的类型。考虑一个关于两个correlated variables z = ( z 1 , z 2 ) \mathbf{z}=(z_1,z_2) z=(z1,z2)的Gaussian distribution p ( z ) = N ( z ∣ μ , Λ − 1 ) p(\mathbf{z})=\mathcal{N}(\mathbf{z}|\bm{\mu},\mathbf{\Lambda}^{-1}) p(z)=N(zμ,Λ1),其中mean和precision为:
μ = ( μ 1 μ 2 ) ,      Λ = ( Λ 11 Λ 12 Λ 21 Λ 22 )      ( 10.10 ) \bm{\mu}=\left( \begin{matrix} \mu_1\\ \mu_2 \end{matrix} \right),\ \ \ \ \mathbf{\Lambda}=\left( \begin{matrix} \Lambda_{11} & \Lambda_{12}\\ \Lambda_{21} & \Lambda_{22} \end{matrix} \right)\ \ \ \ (10.10) μ=(μ1μ2),    Λ=(Λ11Λ21Λ12Λ22)    (10.10)
其中由于precision matrix具有对称性,所以有 Λ 21 = Λ 12 \Lambda_{21}=\Lambda_{12} Λ21=Λ12。现在,假设我们希望去利用一个具有 q ( z ) = q 1 ( z 1 ) q 2 ( z 2 ) q(\mathbf{z})=q_1(z_1)q_2(z_2) q(z)=q1(z1)q2(z2)形式的factorized Gaussian去近似这个概率分布。我们首先利用(10.9)所述的general result,从而找到一个关于optimal factor q 1 ∗ ( z 1 ) q_1^*(z_1) q1(z1)的expression。为了实现这件事,我们注意到,在该等式的右侧,我们仅仅需要保留那些依赖于 z 1 z_1 z1的项,因为所有其他的项将被容纳在normalization constant中。因此,我们有:
ln  q 1 ∗ ( z 1 ) = E z 2 [ ln  p ( z ) ] + const = E z 2 [ − 1 2 ( z 1 − μ 1 ) 2 Λ 11 − ( z 1 − μ 1 ) Λ 12 ( z 2 − μ 2 ) ] + const = − 1 2 z 1 2 Λ 11 + z 1 μ 1 Λ 11 − z 1 Λ 12 ( E [ z 2 ] − μ 2 ) + const     ( 10.11 ) \text{ln}\ q_1^*(z_1)=\mathbb{E}_{z_2}[\text{ln}\ p(\mathbf{z})]+\text{const}\\ =\mathbb{E}_{z_2}\left[ -\frac{1}{2}(z_1-\mu_1)^2\Lambda_{11}-(z_1-\mu_1)\Lambda_{12}(z_2-\mu_2) \right]+\text{const}\\ =-\frac{1}{2}z_1^2\Lambda_{11}+z_1\mu_1\Lambda_{11}-z_1\Lambda_{12}(\mathbb{E}[z_2]-\mu_2)+\text{const}\ \ \ \ (10.11) ln q1(z1)=Ez2[ln p(z)]+const=Ez2[21(z1μ1)2Λ11(z1μ1)Λ12(z2μ2)]+const=21z12Λ11+z1μ1Λ11z1Λ12(E[z2]μ2)+const    (10.11)
然后,我们观察到,这个表达式的右侧是一个关于 z 1 z_1 z1的二次函数,因此我们可以将 q ∗ ( z i ) q^*(z_i) q(zi)视为一个Gaussian。我们需要强调的是,我们并没有假设 q ( z i ) q(z_i) q(zi)是Gaussian的,而是说我们通过对KL divergence关于所有可能的distribution q ( z i ) q(z_i) q(zi)进行variational optimization而得到了这个结果。我们同样注意到,我们其实并不需要显式考虑(10.9)中的addictive constant,因为它表示着我们可以在操作的末尾通过观察而得到的normalization constant。使用配方法的技巧,我们可以识别出这个Gaussian的mean和precision,从而有:
q ∗ ( z 1 ) = N ( z 1 ∣ m 1 , Λ 11 − 1 )      ( 10.12 ) q^*(z_1)=\mathcal{N}(z_1|m_1,\Lambda_{11}^{-1})\ \ \ \ (10.12) q(z1)=N(z1m1,Λ111)    (10.12)
其中有:
m 1 = μ 1 − Λ 11 − 1 Λ 12 ( E [ z 2 ] − μ 2 )      ( 10.13 ) m_1=\mu_1-\Lambda_{11}^{-1}\Lambda_{12}(\mathbb{E}[z_2]-\mu_2)\ \ \ \ (10.13) m1=μ1Λ111Λ12(E[z2]μ2)    (10.13)
由对称性, q 2 ∗ ( z 2 ) q_2^*(z_2) q2(z2)同样是一个Gaussian,并且它可以写成是:
q 2 ∗ ( z 2 ) = N ( z 2 ∣ m 2 , Λ 22 − 1 )      ( 10.14 ) q_2^*(z_2)=\mathcal{N}(z_2|m_2,\Lambda_{22}^{-1})\ \ \ \ (10.14) q2(z2)=N(z2m2,Λ221)    (10.14)
其中有:
m 2 = μ 2 − Λ 22 − 1 Λ 21 ( E [ z 1 ] − μ 1 )      ( 10.15 ) m_2=\mu_2-\Lambda_{22}^{-1}\Lambda_{21}(\mathbb{E}[z_1]-\mu_1)\ \ \ \ (10.15) m2=μ2Λ221Λ21(E[z1]μ1)    (10.15)
我们注意到这里的解都是相互耦合的,从而使得 q ∗ ( z 1 ) q^*(z_1) q(z1)依赖于由 q ∗ ( z 2 ) q^*(z_2) q(z2)所计算出来的期望值,并且反之亦然。通常来说我们通过将variational solutions看作re-estimation equations,然后循环这些variables并对它们进行更新,直到某些收敛准则得到满足。我们将在之后看到一个相关的例子。然后,在这里,我们注意到这个问题其实是十分简单的,因为相应的closed form solution可以找到。特别的,因为 E [ z 1 ] = m 1 , E [ z 2 ] = m 2 \mathbb{E}[z_1]=m_1, \mathbb{E}[z_2]=m_2 E[z1]=m1,E[z2]=m2, 我们可以知道的是,如果我们设 E [ z 1 ] = μ 1 , E [ z 2 ] = μ 2 \mathbb{E}[z_1]=\mu_1, \mathbb{E}[z_2]=\mu_2 E[z1]=μ1,E[z2]=μ2的话,这两个equations可以得到满足,并且在假定该distribution为nonsingular的时候,这其实就是唯一的solution。这样的结果如下图(a)所示:
PRML笔记(十)_第2张图片

我们知道的是,这里的mean可以被正确找出,但是 q ( z ) q(\mathbf{z}) q(z)的variance是由 p ( z ) p(\mathbf{z}) p(z)的最小的variance的direction所控制的,并且在与之正交的方向上,variance被极大地低估了。这其实是一个一般性的结果,即factorized variational approximation倾向于给posterior distribution提供一个过于compact的approximation。

为了进行比较,假设我们已经对reverse KL divergence KL ( p ∣ ∣ q ) \text{KL}(p||q) KL(pq)进行了最小化。我们将会看到的是,这种形式的KL divergence在另外一种被称为是expectation propagation的approximate inference framework中会被使用出来。因此我们考虑一个一般性的问题,即当 q ( Z ) q(\mathbf{Z}) q(Z)是通过(10.5)的形式来作为一个factorized approximation的时候,我们对 KL ( p ∣ ∣ q ) \text{KL}(p||q) KL(pq)进行最小化。此时KL divergence可以被写成是如下的形式:
KL ( p ∣ ∣ q ) = − ∫ p ( Z ) [ ∑ i = 1 M ln  q i ( Z i ) ] d Z + const     ( 10.16 ) \text{KL}(p||q)=-\int p(\mathbf{Z})\left[ \sum_{i=1}^M\text{ln}\ q_i(\mathbf{Z}_i) \right]\text{d}\mathbf{Z}+\text{const}\ \ \ \ (10.16) KL(pq)=p(Z)[i=1Mln qi(Zi)]dZ+const    (10.16)
其中constant term仅仅是 p ( Z ) p(\mathbf{Z}) p(Z)的entropy,因为它并不依赖于 q ( Z ) q(\mathbf{Z}) q(Z)。此时我们可以关于每一个factors q j ( Z j ) q_j(\mathbf{Z}_j) qj(Zj)来进行优化,其中它可以利用Lagrange multiplier而轻易地得到:
q j ∗ ( Z j ) = ∫ p ( Z ) ∏ i ≠ j d Z i = p ( Z j )      ( 10.17 ) q_j^*(\mathbf{Z}_j)=\int p(\mathbf{Z})\prod_{i\neq j}\text{d}\mathbf{Z}_i=p(\mathbf{Z}_j)\ \ \ \ (10.17) qj(Zj)=p(Z)i=jdZi=p(Zj)    (10.17)
在这种情况中,我们可以知道的是,关于 q j ( Z j ) q_j(\mathbf{Z}_j) qj(Zj)的最优结果可以通过相应的关于 p ( Z ) p(\mathbf{Z}) p(Z)的marginal distribution而给出。注意到这其实是一个closed-form solution,因此它并不需要任何的iteration。

为了对将这个结果应用在关于vector z \mathbf{z} z的Gaussian distribution p ( z ) p(\mathbf{z}) p(z)上的情况进行说明,我们可以利用(2.98), 其中这个结果在图10.2(b)中体现了出来。我们再一次发现了关于这个approximation的mean是正确的,但是它将大量的probability mass放置在了具有非常低概率值的variable space region中。这两个结果之间的区别为:我们注意到KL divergence中,就算是region of Z \mathbf{Z} Z space中 p ( z ) p(\mathbf{z}) p(z)接近于0,但是如果 q ( Z ) q(\mathbf{Z}) q(Z)并不接近于0的话,那么相应的KL divergence中就会有一个large positive contribution:
KL ( q ∣ ∣ p ) = − ∫ q ( Z ) ln { p ( Z ) q ( Z ) } d Z      ( 10.18 ) \text{KL}(q||p)=-\int q(\mathbf{Z})\text{ln}\left\{ \frac{p(\mathbf{Z})}{q(\mathbf{Z})} \right\}\text{d}\mathbf{Z}\ \ \ \ (10.18) KL(qp)=q(Z)ln{q(Z)p(Z)}dZ    (10.18)
因此,对这样一种形式的KL divergence的最小化会导致 q ( Z ) q(\mathbf{Z}) q(Z)忽略掉那些 p ( Z ) p(\mathbf{Z}) p(Z)比较小的regions。反过来说,KL divergence KL ( p ∣ ∣ q ) \text{KL}(p||q) KL(pq)关于 q ( Z ) q(\mathbf{Z}) q(Z)的最小化在 q ( Z ) q(\mathbf{Z}) q(Z)非0且 p ( Z ) p(\mathbf{Z}) p(Z)非零的区域内。

如果我们考虑利用一个unimodal distribution来拟合一个multimodal distribution的话,我们就可以对这两个KL divergence之间的区别有一个深入的理解,如下图所示:
PRML笔记(十)_第3张图片

在实际的应用中,真实的posterior distribution往往是multimodal的,其中大部分的posterior mass集中在一些相对较小的regions of parameter space。这些multiple modes可能来源于latent space的不可识别性,或是来源于parameters的非线性依赖。这两种形式的multimodality都在第9章关于Gaussian mixture的部分遇到了,其中它们以likelihood function中的multiple maxima的形式展现了出来,并且基于minimizing KL ( q ∣ ∣ p ) \text{KL}(q||p) KL(qp)的一种variational treatment倾向于寻找出这其中的一个mode。反过来说,如果我们要minimize KL ( p ∣ ∣ q ) \text{KL}(p||q) KL(pq), 最终结果的approximation将会对所有的modes取平均,并且,在mixture model的情况下,将会导致poor predictive distributions(因为两个较好的参数值的平均一般来说并非是一种较好的参数值)。利用 KL ( p ∣ ∣ q ) \text{KL}(p||q) KL(pq)来定义一种有用的inference procedure是可能的,但是这样的方法与我们在这里所讨论的方法是相当不同的,我们将在讨论expectation propagation的时候详细说明这个问题。

我们所讨论的这两种形式的KL divergence是alpha family of divergences的两个成员,该family定义如下:
D α ( p ∣ ∣ q ) = 4 1 − α 2 ( 1 − ∫ p ( x ) ( 1 + α ) / 2 q ( x ) ( 1 − α ) / 2 d x )      ( 10.19 ) \text{D}_{\alpha}(p||q)=\frac{4}{1-\alpha^2}\left( 1-\int p(x)^{(1+\alpha)/2}q(x)^{(1-\alpha)/2}\text{d}x \right)\ \ \ \ (10.19) Dα(pq)=1α24(1p(x)(1+α)/2q(x)(1α)/2dx)    (10.19)
其中 − ∞ < α < ∞ -\infty<\alpha<\infty <α<是一个continuous parameter。KL divergence KL ( p ∣ ∣ q ) \text{KL}(p||q) KL(pq)对应于极限 α → 1 \alpha\to 1 α1, 然而 KL ( q ∣ ∣ p ) \text{KL}(q||p) KL(qp)对应于极限 α → − 1 \alpha\to -1 α1。对于 α \alpha α的所有值,我们有 D α ( p ∣ ∣ q ) ≥ 0 \text{D}_{\alpha}(p||q)\geq 0 Dα(pq)0, 其中等号成立当且仅当 p ( x ) = q ( x ) p(x)=q(x) p(x)=q(x)。假设 p ( x ) p(x) p(x)是一个fixed distribution,并且我们通过在一个set of distributions q ( x ) q(x) q(x)中寻找一个distribution,来最小化 D α ( p ∣ ∣ q ) \text{D}_{\alpha}(p||q) Dα(pq)。那么,对于 α ≤ − 1 \alpha\leq -1 α1来说,divergence是zero forcing的,即任何能够使得 p ( x ) = 0 p(x)=0 p(x)=0成立的 x x x的值,都会使得 q ( x ) = 0 q(x)=0 q(x)=0成立,此时有 q ( x ) q(x) q(x)会underestimate p ( x ) p(x) p(x)的support,并且会倾向于去寻找那个具有largest mass的mode。反过来说,对于 α ≥ 1 \alpha\geq 1 α1来说,这里的divergence是zero-avoiding的,即满足 p ( x ) > 0 p(x)>0 p(x)>0的value也同样会使得 q ( x ) > 0 q(x)>0 q(x)>0,此时 q ( x ) q(x) q(x)将会覆盖 p ( x ) p(x) p(x)的所有区域,从而致使对support of p ( x ) p(x) p(x)的高估。当 α = 0 \alpha=0 α=0的时候,我们可以得到一个symmetric divergence,它与Hellinger distance之间是线性相关的:
D H ( p ∣ ∣ q ) = ∫ ( p ( x ) 1 / 2 − q ( x ) 1 / 2 ) d x      ( 10.20 ) \text{D}_{\text{H}}(p||q)=\int\left( p(x)^{1/2}-q(x)^{1/2} \right)\text{d}x\ \ \ \ (10.20) DH(pq)=(p(x)1/2q(x)1/2)dx    (10.20)
Hellinger distance的平方根是一个valid distance metric。

10.1.3 Example: The univariate Gaussian

此时我们利用一个在single variable x x x上的Gaussian distribution来对factorized Variational approximation进行说明。我们的目标在于,在给定一个关于observed values x x x的data set D = { x 1 , . . . , x N } \mathcal{D}=\{x_1,...,x_N\} D={x1,...,xN}(我们假设这些data points都是从一个Gaussian distribution中独立同分布地采样出来的)的情况下,对mean μ \mu μ和precision τ \tau τ的posterior distribution进行推断。此时likelihood function为:
p ( D ∣ μ , τ ) = ( τ 2 π ) N / 2 exp { − τ 2 ∑ n = 1 N ( x n − μ ) 2 }      ( 10.21 ) p(\mathcal{D}|\mu,\tau)=\left( \frac{\tau}{2\pi} \right)^{N/2} \text{exp}\left\{ -\frac{\tau}{2}\sum_{n=1}^N(x_n-\mu)^2 \right\}\ \ \ \ (10.21) p(Dμ,τ)=(2πτ)N/2exp{2τn=1N(xnμ)2}    (10.21)
此时我们引入关于 μ \mu μ τ \tau τ的conjugate prior为:
p ( μ ∣ τ ) = N ( μ ∣ μ 0 , ( λ 0 τ ) − 1 )      ( 10.22 ) p(\mu|\tau)=\mathcal{N}(\mu|\mu_0,(\lambda_0\tau)^{-1})\ \ \ \ (10.22) p(μτ)=N(μμ0,(λ0τ)1)    (10.22)
p ( τ ) = Gam ( τ ∣ a 0 , b 0 )      ( 10.23 ) p(\tau)=\text{Gam}(\tau|a_0,b_0)\ \ \ \ (10.23) p(τ)=Gam(τa0,b0)    (10.23)
其中 Gam ( τ ∣ a 0 , b 0 ) \text{Gam}(\tau|a_0,b_0) Gam(τa0,b0)是gamma distribution(由(2.146)定义)。这些distributions组成了一个Gaussian-Gamma conjugate prior distribution。

对于这个简单的问题来说,posterior distribution可以被精确地找出,同样的,它们也是Gaussian-gamma distribution。然而,为了教学的目的,我们将考虑一个关于该posterior distribution的factorized variational approximation:
q ( μ , τ ) = q μ ( μ ) q τ ( τ )      ( 10.24 ) q(\mu,\tau)=q_{\mu}(\mu)q_{\tau}(\tau)\ \ \ \ (10.24) q(μ,τ)=qμ(μ)qτ(τ)    (10.24)
我们注意到,真实的posterior distribution不是以这种方式进行分解的。而factors的最优解 q μ ( μ ) q_{\mu}(\mu) qμ(μ) q τ ( τ ) q_{\tau}(\tau) qτ(τ)可以从一般性的结果(10.9)中,以如下的方式得到。对于 q μ ( μ ) q_{\mu}(\mu) qμ(μ), 我们有:
ln  q μ ∗ ( μ ) = E τ [ ln  p ( D ∣ μ , τ ) + ln  p ( μ ∣ τ ) ] + const = − E [ τ ] 2 { λ 0 ( μ − μ 0 ) 2 + ∑ n = 1 N ( x n − μ ) 2 } + const     ( 10.25 ) \text{ln}\ q_{\mu}^*(\mu)=\mathbb{E}_{\tau}[\text{ln}\ p(\mathcal{D}|\mu,\tau)+\text{ln}\ p(\mu|\tau)]+\text{const}\\ =-\frac{\mathbb{E}[\tau]}{2}\left\{ \lambda_0(\mu-\mu_0)^2+\sum_{n=1}^N(x_n-\mu)^2 \right\}+\text{const}\ \ \ \ (10.25) ln qμ(μ)=Eτ[ln p(Dμ,τ)+ln p(μτ)]+const=2E[τ]{λ0(μμ0)2+n=1N(xnμ)2}+const    (10.25)
对关于 μ \mu μ的项进行配方,我们有 q μ ( μ ) q_{\mu}(\mu) qμ(μ)是一个Gaussian N ( μ ∣ μ N , λ N − 1 ) \mathcal{N}(\mu|\mu_N,\lambda_N^{-1}) N(μμN,λN1),其中mean和precision为:
μ N = λ 0 μ 0 + N x ˉ λ 0 + N      ( 10.26 ) \mu_N=\frac{\lambda_0\mu_0+N\bar{x}}{\lambda_0+N}\ \ \ \ (10.26) μN=λ0+Nλ0μ0+Nxˉ    (10.26)
λ N = ( λ 0 + N ) E [ τ ]      ( 10.27 ) \lambda_N=(\lambda_0+N)\mathbb{E}[\tau]\ \ \ \ (10.27) λN=(λ0+N)E[τ]    (10.27)
注意到对于 N → ∞ N\to\infty N,这提供了一个maximum likelihood result,其中 μ N = x ˉ \mu_N=\bar{x} μN=xˉ, 并且此时precision是infinite的。

类似的,对于factor q τ ( τ ) q_{\tau}(\tau) qτ(τ)来说,optimal solution为:
ln  q τ ∗ ( τ ) = E μ [ ln  p ( D ∣ μ , τ ) + ln  p ( μ ∣ τ ) ] + ln  p ( τ ) + const = ( a 0 − 1 ) ln  τ − b 0 τ + N 2 ln  τ − τ 2 E μ [ ∑ n = 1 N ( x n − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] + const     ( 10.28 ) \text{ln}\ q_{\tau}^*(\tau)=\mathbb{E}_{\mu}[\text{ln}\ p(\mathcal{D}|\mu,\tau)+\text{ln}\ p(\mu|\tau)]+\text{ln}\ p(\tau)+\text{const}\\ =(a_0-1)\text{ln}\ \tau-b_0\tau+\frac{N}{2}\text{ln}\ \tau\\ -\frac{\tau}{2}\mathbb{E}_{\mu}\left[ \sum_{n=1}^N(x_n-\mu)^2+\lambda_0(\mu-\mu_0)^2 \right]+\text{const}\ \ \ \ (10.28) ln qτ(τ)=Eμ[ln p(Dμ,τ)+ln p(μτ)]+ln p(τ)+const=(a01)ln τb0τ+2Nln τ2τEμ[n=1N(xnμ)2+λ0(μμ0)2]+const    (10.28)
因此, q τ ( τ ) q_{\tau}(\tau) qτ(τ)是一个gamma distribution Gam ( τ ∣ a N , b N ) \text{Gam}(\tau|a_N,b_N) Gam(τaN,bN), 其中有参数:
a N = a 0 + N 2      ( 10.29 ) a_N=a_0+\frac{N}{2}\ \ \ \ (10.29) aN=a0+2N    (10.29)
b N = b 0 + 1 2 E μ [ ∑ n = 1 N ( x n − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ]      ( 10.30 ) b_N=b_0+\frac{1}{2}\mathbb{E}_{\mu}\left[ \sum_{n=1}^N(x_n-\mu)^2+\lambda_0(\mu-\mu_0)^2 \right]\ \ \ \ (10.30) bN=b0+21Eμ[n=1N(xnμ)2+λ0(μμ0)2]    (10.30)
同样的,当 N → ∞ N\to\infty N的时候,这也表现出期望的性质。

我们需要强调的是,我们并没有为这里的optimal distributions q μ ( μ ) q_{\mu}(\mu) qμ(μ) q τ ( τ ) q_{\tau}(\tau) qτ(τ)来假设特定的functional form。它们的形式是从structure of the likelihood function以及相应的conjugate priors中自然而然地产生出来的。

因此,我们就已经拥有了关于optimal distributions q μ ( μ ) q_{\mu}(\mu) qμ(μ) q τ ( τ ) q_{\tau}(\tau) qτ(τ)的optimal distributions,其中它们每一个都依赖于另外一个distribution的矩的值。因此,一种寻找solution的方法是首先先进行猜测,例如对 E [ τ ] \mathbb{E}[\tau] E[τ]的值进行猜测,然后使用它来对distribution q μ ( μ ) q_{\mu}(\mu) qμ(μ)来进行re-compute。在给定这个revised distribution之后,我们此时可以计算得到相应的moments E [ μ ] , E [ μ 2 ] \mathbb{E}[\mu], \mathbb{E}[\mu^2] E[μ],E[μ2],并利用这些结果来对distribution q τ ( τ ) q_{\tau}(\tau) qτ(τ)进行重新计算,以此类推。因为这个例子中的hidden variables的space是2维的,所以我们可以通过画出这里的true posterior以及factorized approximation的contours的方式来对该variational approximation与相应的posterior distribution的逼近进行说明,如下图所示:
PRML笔记(十)_第4张图片

一般来说,我们将需要一种例如上述所示的迭代方式来求解optimal factorized posterior distribution。然而,对于非常简单的例子(如我们在这里讨论的例子)来说,我们可以通过同时求解关于optimal factors q μ ( μ ) q_{\mu}(\mu) qμ(μ) q τ ( τ ) q_{\tau}(\tau) qτ(τ)的方程,从而得到其显式解。在做这件事之前,我们可以通过考虑较为broad,noninformative priors,其中有 μ 0 = a 0 = b 0 = λ 0 = 0 \mu_0=a_0=b_0=\lambda_0=0 μ0=a0=b0=λ0=0。尽管这些parameter settings对应于improper priors,我们可以知道的是,此时posterior distribution仍然是welldefined。对一个gamma distribution的mean使用标准的结果 E [ τ ] = a N / b N \mathbb{E}[\tau]=a_N/b_N E[τ]=aN/bN,以及使用(10.29)和(10.30), 我们有:
1 E [ τ ] = E [ 1 N ∑ n = 1 N ( x n − μ ) 2 ] = x 2 ˉ − 2 x ˉ E [ μ ] + E [ μ 2 ]      ( 10.31 ) \frac{1}{\mathbb{E}[\tau]}=\mathbb{E}\left[ \frac{1}{N}\sum_{n=1}^N(x_n-\mu)^2 \right]=\bar{x^2}-2\bar{x}\mathbb{E}[\mu]+\mathbb{E}[\mu^2]\ \ \ \ (10.31) E[τ]1=E[N1n=1N(xnμ)2]=x2ˉ2xˉE[μ]+E[μ2]    (10.31)
然后,使用(10.26)以及(10.27), 我们可以得到 q μ [ μ ] q_{\mu}[\mu] qμ[μ]的一阶矩和二阶矩,如下所示:
E [ μ ] = x ˉ ,      E [ μ 2 ] = x ˉ 2 + 1 N E [ τ ]      ( 10.32 ) \mathbb{E}[\mu]=\bar{x},\ \ \ \ \mathbb{E}[\mu^2]=\bar{x}^2+\frac{1}{N\mathbb{E}[\tau]}\ \ \ \ (10.32) E[μ]=xˉ,    E[μ2]=xˉ2+NE[τ]1    (10.32)
此时我们可以将这些矩代入(10.31)中,然后求解出 E [ τ ] \mathbb{E}[\tau] E[τ]:
1 E [ τ ] = 1 N − 1 ∑ n = 1 N ( x n − x ˉ ) 2      ( 10.33 ) \frac{1}{\mathbb{E}[\tau]}=\frac{1}{N-1}\sum_{n=1}^N(x_n-\bar{x})^2\ \ \ \ (10.33) E[τ]1=N11n=1N(xnxˉ)2    (10.33)
我们可以看出来的是,该式的右侧与一个univariate Gaussian distribution的variance的unbiased estimator是相似的,因此我们可以发现的是,使用一个Bayesian approach可以避免maximum likelihood solution中的bias。

10.1.4 Model comparison

除了在hidden variables Z \mathbf{Z} Z上进行inference之外,我们同样也希望去对一系列candidate models进行比较,它们被标记为index m m m,并且具有prior probabilities p ( m ) p(m) p(m)。此时我们的目的在于对posterior probabilities p ( m ∣ X ) p(m|\mathbf{X}) p(mX)进行近似,其中 X \mathbf{X} X是observed data。这比我们之前讨论的情况要稍微复杂一些,因为不同的models可能具有不同的structure,以及不同的关于hidden variables Z \mathbf{Z} Z 的dimensionality。因此我们不能仅仅考虑分解 q ( Z ) q ( m ) q(\mathbf{Z})q(m) q(Z)q(m), 而需要明确的是,关于 Z \mathbf{Z} Z的posterior需要conditioned on m m m。因此我们必须要考虑 q ( Z , m ) = q ( Z ∣ m ) q ( m ) q(\mathbf{Z},m)=q(\mathbf{Z}|m)q(m) q(Z,m)=q(Zm)q(m)。此时我们就已经准备好验证如下的基于该variational distribution的decomposition:
ln  p ( X ) = L − ∑ m ∑ Z q ( Z ∣ m ) q ( m ) ln { p ( Z , m ∣ X ) q ( Z ∣ m ) q ( m ) }      ( 10.34 ) \text{ln}\ p(\mathbf{X})=\mathcal{L}-\sum_m\sum_{\mathbf{Z}}q(\mathbf{Z}|m)q(m)\text{ln}\left\{ \frac{p(\mathbf{Z},m|\mathbf{X})}{q(\mathbf{Z}|m)q(m)} \right\}\ \ \ \ (10.34) ln p(X)=LmZq(Zm)q(m)ln{q(Zm)q(m)p(Z,mX)}    (10.34)
其中 L \mathcal{L} L ln  p ( X ) \text{ln}\ p(\mathbf{X}) ln p(X)的一个lower bound:
L = ∑ m ∑ Z q ( Z ∣ m ) q ( m ) ln { p ( Z , X , m ) q ( Z ∣ m ) q ( m ) }      ( 10.35 ) \mathcal{L}=\sum_m\sum_{\mathbf{Z}}q(\mathbf{Z}|m)q(m)\text{ln}\left\{ \frac{p(\mathbf{Z,X},m)}{q(\mathbf{Z|}m)q(m)} \right\}\ \ \ \ (10.35) L=mZq(Zm)q(m)ln{q(Zm)q(m)p(Z,X,m)}    (10.35)
其中我们假设 Z \mathbf{Z} Z是discrete的,但是同样的分析应用在continuous latent variables之后会需要我们将summations代替为integrations。此时我们可以对 L m \mathcal{L}_m Lm关于distribution q ( m ) q(m) q(m)进行最大化(利用Lagrange multiplier)。
为了实现这个目的,我们首先对lower bound L \mathcal{L} L的表达式进行变换:
L = ∑ m ∑ Z q ( Z ∣ m ) q ( m ) ln { p ( Z , X , m ) q ( Z ∣ m ) q ( m ) } = ∑ m ∑ Z q ( Z ∣ m ) q ( m ) { ln  p ( Z , X ∣ m ) + ln  p ( m ) − ln  q ( Z ∣ m ) − ln  q ( m ) } = ∑ m q ( m ) ( ln  p ( m ) − ln  q ( m ) + ∑ Z q ( Z ∣ m ) { ln  p ( Z , X ∣ m ) − ln  q ( Z ∣ m ) } ) = ∑ m q ( m ) { ln ( p ( m ) exp { L m } ) − ln  q ( m ) }      ( 264 ) \mathcal{L}=\sum_m\sum_{\mathbf{Z}}q(\mathbf{Z}|m)q(m)\text{ln}\left\{ \frac{p(\mathbf{Z,X},m)}{q(\mathbf{Z}|m)q(m)} \right\}\\ =\sum_m\sum_{\mathbf{Z}}q(\mathbf{Z}|m)q(m)\{\text{ln}\ p(\mathbf{Z,X}|m)+\text{ln}\ p(m)-\text{ln}\ q(\mathbf{Z}|m)-\text{ln}\ q(m)\}\\ =\sum_m q(m)\left( \text{ln}\ p(m)-\text{ln}\ q(m) \right.\\ \left. +\sum_{\mathbf{Z}}q(\mathbf{Z}|m)\{\text{ln}\ p(\mathbf{Z,X}|m)-\text{ln}\ q(\mathbf{Z}|m)\} \right)\\ =\sum_mq(m)\{\text{ln}(p(m)\text{exp}\{\mathcal{L}_m\})-\text{ln}\ q(m)\}\ \ \ \ (264) L=mZq(Zm)q(m)ln{q(Zm)q(m)p(Z,X,m)}=mZq(Zm)q(m){ln p(Z,Xm)+ln p(m)ln q(Zm)ln q(m)}=mq(m)(ln p(m)ln q(m)+Zq(Zm){ln p(Z,Xm)ln q(Zm)})=mq(m){ln(p(m)exp{Lm})ln q(m)}    (264)
其中有:
L m = ∑ Z q ( Z ∣ m ) ln { p ( Z , X ∣ m ) q ( Z ∣ m ) } \mathcal{L}_m=\sum_{\mathbf{Z}}q(\mathbf{Z}|m)\text{ln}\left\{ \frac{p(\mathbf{Z,X}|m)}{q(\mathbf{Z}|m)} \right\} Lm=Zq(Zm)ln{q(Zm)p(Z,Xm)}
其中我们注意到,(264)式其实是在 q ( m ) q(m) q(m)与(不保证归一化的) p ( m ) exp { L m } p(m)\text{exp}\{\mathcal{L}_m\} p(m)exp{Lm}之间的negative KL divergence。该值的最大化意味着相应KL divergence的最小化,因而为了使得我们所取得的那个 q ( m ) q(m) q(m)能够让这个式子最大化,需要满足:
q ( m ) ∝ p ( m ) exp { L m }      ( 10.36 ) q(m)\propto p(m)\text{exp}\{\mathcal{L}_m\}\ \ \ \ (10.36) q(m)p(m)exp{Lm}    (10.36)
然而,如果我们对 L \mathcal{L} L关于 q ( Z ∣ m ) q(\mathbf{Z}|m) q(Zm)进行最大化, 我们将会看到的是,关于不同的 m m m的solutions将会耦合在一起,这正如我们所预料的,因为它们都conditioned on m m m。因此,我们转而首先通过优化(10.35)的方式来对每一个 q ( Z ∣ m ) q(\mathbf{Z}|m) q(Zm)单独进行优化,然后接下来使用(10.36)来确定 q ( m ) q(m) q(m)的值。在normalization之后,关于 q ( m ) q(m) q(m)的resulting values可以用在model selection或是model average中。

10.2 Illustration: Variational Mixture of Gaussians

我们现在回到我们关于Gaussian mixture model的讨论中,并且将我们在之前章节中得到的variational inference machinery应用进来。这将会为Variational methods的应用提供一个较好的解说,并且同样也会阐明Bayesian treatment是如何优雅地解决maximum likelihood approach中的一些困难点的。本书作者建议读者细致地研究这个例子,因为它提供了关于Variational methods的许多practical application。许多Bayesian models(对应于许多更为复杂的distributions)可以通过这里所叙述的分析的extension以及generalization而得到解决。

我们首先从Gaussian mixture model的likelihood function开始,如图9.6所示。对于每一个observation x n \mathbf{x}_n xn, 我们具有一个对应的latent variable z n \mathbf{z}_n zn,它包含着一个1-of-K binary vector, 其中有elements z n k , k = 1 , . . . , K z_{nk}, k=1,...,K znk,k=1,...,K。同之前一样,我们将observed data set标记为 X = { x 1 , . . . , x N } \mathbf{X}=\{\mathbf{x}_1,...,\mathbf{x}_N\} X={x1,...,xN}, 类似的,我们将latent variables标记为 Z = z 1 , . . . , z N \mathbf{Z}={\mathbf{z}_1,...,\mathbf{z}_N} Z=z1,...,zN。由(9.10), 我们可以在给定mixing coefficients π \bm{\pi} π的时候写出关于 Z \mathbf{Z} Z的conditional distribution:
p ( Z ∣ π ) = ∏ n = 1 N ∏ k = 1 K π k z n k      ( 10.37 ) p(\mathbf{Z}|\bm{\pi})=\prod_{n=1}^N\prod_{k=1}^K\pi_{k}^{z_{nk}}\ \ \ \ (10.37) p(Zπ)=n=1Nk=1Kπkznk    (10.37)
类似的,由(9.11), 我们可以写出关于在给定latent variables以及component parameters时的observed data vectors的conditional distribution为:
p ( X ∣ Z , μ , Λ ) = ∏ n = 1 N ∏ k = 1 K N ( x n ∣ μ k , Λ k − 1 ) z n k      ( 10.38 ) p(\mathbf{X}|\mathbf{Z},\bm{\mu},\mathbf{\Lambda})=\prod_{n=1}^N\prod_{k=1}^K\mathcal{N}(\mathbf{x}_n|\bm{\mu}_k,\mathbf{\Lambda}_k^{-1})^{z_{nk}}\ \ \ \ (10.38) p(XZ,μ,Λ)=n=1Nk=1KN(xnμk,Λk1)znk    (10.38)
其中 μ = { μ k } , Λ = { Λ k } \bm{\mu}=\{\bm{\mu}_k\}, \mathbf{\Lambda}=\{\mathbf{\Lambda}_k\} μ={μk},Λ={Λk}。我们注意到,我们此时所处理的是precision matrices而非covariance matrices,因为这在某种程度上会对数学运算进行简化。

接下来,我们引入关于参数 μ , Λ , π \bm{\mu},\mathbf{\Lambda}, \bm{\pi} μ,Λ,π的priors。如果我们使用conjugate prior distributions,那么这里的分析就会得到极大的简化。因此我们选择关于mixing coefficients π \bm{\pi} π的Dirichlet distribution:
p ( π ) = Dir ( π ∣ α 0 ) = C ( α 0 ) ∏ k = 1 K π k α 0 − 1      ( 10.39 ) p(\bm{\pi})=\text{Dir}(\bm{\pi}|\bm{\alpha}_0)=\mathcal{C}(\bm{\alpha}_0)\prod_{k=1}^K\pi_k^{\alpha_0-1}\ \ \ \ (10.39) p(π)=Dir(πα0)=C(α0)k=1Kπkα01    (10.39)
其中由于对称性的缘故,我们为每一个component选择了相同的parameter α 0 \alpha_0 α0, C ( α 0 ) \mathcal{C}(\bm{\alpha}_0) C(α0)是Dirichlet distribution中的normalization constant,由(B.23)定义。我们知道,parameter α 0 \alpha_0 α0可以被解释为与mixture中每一个component相关联的effective prior number of observations。如果 α 0 \alpha_0 α0的值比较小,那么posterior就主要会受到data而不是prior的影响。

类似的,我们为每一个Gaussian component的mean和precision分别引入了一个相互独立的Gaussian-Wishart prior:
p ( μ , Λ ) = p ( μ ∣ Λ ) p ( Λ ) = ∏ k = 1 K N ( μ k ∣ m 0 , ( β Λ k ) − 1 ) W ( Λ k ∣ W 0 , ν 0 )      ( 10.40 ) p(\bm{\mu},\mathbf{\Lambda})=p(\bm{\mu}|\mathbf{\Lambda})p(\mathbf{\Lambda})\\ =\prod_{k=1}^K\mathcal{N}(\bm{\mu}_k|\mathbf{m}_0,(\beta\mathbf{\Lambda}_k)^{-1})\mathcal{W}(\mathbf{\Lambda}_k|\mathbf{W}_0,\nu_0)\ \ \ \ (10.40) p(μ,Λ)=p(μΛ)p(Λ)=k=1KN(μkm0,(βΛk)1)W(ΛkW0,ν0)    (10.40)
因为它代表了当mean和precision都未知情况下的conjugate prior distribution。特别的,出于对称性的考虑,我们设置 m 0 = 0 \mathbf{m}_0=\mathbf{0} m0=0

最终的resulting model可以被表达为如下图所示的一个directed graph:
PRML笔记(十)_第5张图片

我们注意到,从 Λ \mathbf{\Lambda} Λ μ \bm{\mu} μ有一条link,这是因为在 μ \bm{\mu} μ上的variance of distribution是一个关于 Λ \mathbf{\Lambda} Λ的function。

这个例子为latent variables与parameters之间的区别提供了一个比较好的例子。像 z n \mathbf{z}_n zn这样的出现在图中plate里面的variables被视为是latent variables,因为这样的variables的数量随着data set的size的增大而增大。反过来说,像 μ \bm{\mu} μ这样的在plate之外的variables的数量是固定的、与data set的size相互独立的,因而被视为是parameters。然而,从graphical models的角度来说,这二者之间没有本质的区别。

10.2.1 Variational distribution

为了对该模型形成一个variational treatment,我们接下来将所有的random variables的joint distribution写出来:
p ( X , Z , π , μ , Λ ) = p ( X ∣ Z , μ , Λ ) p ( Z ∣ π ) p ( π ) p ( μ ∣ Λ ) p ( Λ )      ( 10.41 ) p(\mathbf{X,Z},\bm{\pi,\mu,}\mathbf{\Lambda})=p(\mathbf{X}|\mathbf{Z},\bm{\mu},\mathbf{\Lambda})p(\mathbf{Z}|\bm{\pi})p(\bm{\pi})p(\bm{\mu}|\mathbf{\Lambda})p(\mathbf{\Lambda})\ \ \ \ (10.41) p(X,Z,π,μ,Λ)=p(XZ,μ,Λ)p(Zπ)p(π)p(μΛ)p(Λ)    (10.41)
其中这里的各个factors已经在上面定义好了。这里的分解所依照的是图10.5中所描述的内容。注意到此时只有variables X = { x 1 , . . . , x N } \mathbf{X}=\{\mathbf{x}_1,...,\mathbf{x}_N\} X={x1,...,xN}是observed。

我们现在考虑一个variational distribution,其中它依照latent variables和parameters而进行分解:
q ( Z , π , μ , Λ ) = q ( Z ) q ( π , μ , Λ )      ( 10.42 ) q(\mathbf{Z},\bm{\pi},\bm{\mu},\mathbf{\Lambda})=q(\mathbf{Z})q(\bm{\pi},\bm{\mu},\mathbf{\Lambda})\ \ \ \ (10.42) q(Z,π,μ,Λ)=q(Z)q(π,μ,Λ)    (10.42)
我们注意到,这是唯一的一个我们需要设定的假设条件,我们在这个假设条件之下,就可以得到我们最终Bayesian mixture model的一个tractable practical solution。特别的,factors q ( Z ) q(\mathbf{Z}) q(Z) q ( π , μ , Λ ) q(\bm{\pi,\mu,}\mathbf{\Lambda}) q(π,μ,Λ)可以通过优化这里的variational distribution的方式来自动确定。注意到我们省略了 q q q distribution中的下标,这与我们在(10.41)中的做法相似,并且依赖于区分不同distributions的arguments。

对于这些factors来说,相应的sequential update equations可以通过利用(10.9)这个general result的方式来获取。我们现在考虑关于factor q ( Z ) q(\mathbf{Z}) q(Z)的update equation的导数。最优的factor的对数形式为:
ln  q ∗ ( Z ) = E π , μ , Λ [ ln  p ( X , Z , π , μ , Λ ) ] + const     ( 10.43 ) \text{ln}\ q^*(\mathbf{Z})=\mathbb{E}_{\bm{\pi,\mu,}\mathbf{\Lambda}}[\text{ln}\ p(\mathbf{X,Z},\bm{\pi},\bm{\mu},\mathbf{\Lambda})]+\text{const}\ \ \ \ (10.43) ln q(Z)=Eπ,μ,Λ[ln p(X,Z,π,μ,Λ)]+const    (10.43)
我们现在可以使用(10.41)中的decomposition。注意到我们仅仅对右式中关于variable Z \mathbf{Z} Z的functional dependence感兴趣。因此,任何的不依赖于 Z \mathbf{Z} Z的terms可以被吸收到这里的additive normalization constant中,从而有:
ln  q ∗ ( Z ) = E π [ ln  p ( Z ∣ π ) ] + E μ , Λ [ ln  p ( X ∣ Z , μ , Λ ) ] + const     ( 10.44 ) \text{ln}\ q^*(\mathbf{Z})=\mathbb{E}_{\bm{\pi}}[\text{ln}\ p(\mathbf{Z}|\bm{\pi})]+\mathbb{E}_{\bm{\mu},\mathbf{\Lambda}}[\text{ln}\ p(\mathbf{X|Z},\bm{\mu},\mathbf{\Lambda})]+\text{const}\ \ \ \ (10.44) ln q(Z)=Eπ[ln p(Zπ)]+Eμ,Λ[ln p(XZ,μ,Λ)]+const    (10.44)
将右式中的两个conditional distributions的表达式代入进去,然后将与 Z \mathbf{Z} Z相互独立的terms加入到additive constant中,我们有:
ln  q ∗ ( Z ) = ∑ n = 1 N ∑ k = 1 K z n k ln  ρ n k + const     ( 10.45 ) \text{ln}\ q^*(\mathbf{Z})=\sum_{n=1}^N\sum_{k=1}^Kz_{nk}\text{ln}\ \rho_{nk}+\text{const}\ \ \ \ (10.45) ln q(Z)=n=1Nk=1Kznkln ρnk+const    (10.45)
其中我们有定义:
ln  ρ n k = E [ ln  π k ] + 1 2 E [ ln  ∣ Λ ∣ ] − D 2 ln ( 2 π ) − 1 2 E μ k , Λ k [ ( x n − μ k ) T Λ k ( x n − μ k ) ]      ( 10.46 ) \text{ln}\ \rho_{nk}=\mathbb{E}[\text{ln}\ \pi_k]+\frac{1}{2}\mathbb{E}[\text{ln}\ |\mathbf{\Lambda}|]-\frac{D}{2}\text{ln}(2\pi)\\ -\frac{1}{2}\mathbb{E}_{\bm{\mu}_k,\mathbf{\Lambda}_k}[(\mathbf{x}_n-\bm{\mu}_k)^{\text{T}}\mathbf{\Lambda}_k(\mathbf{x}_n-\bm{\mu}_k)]\ \ \ \ (10.46) ln ρnk=E[ln πk]+21E[ln Λ]2Dln(2π)21Eμk,Λk[(xnμk)TΛk(xnμk)]    (10.46)
其中 D D D是data variable x \mathbf{x} x的dimensionality。对(10.45)两端同时求指数,我们有:
q ∗ ( Z ) ∝ ∏ n = 1 N ∏ k = 1 K ρ n k z n k      ( 10.47 ) q^*(\mathbf{Z})\propto\prod_{n=1}^N\prod_{k=1}^K\rho_{nk}^{z_{nk}}\ \ \ \ (10.47) q(Z)n=1Nk=1Kρnkznk    (10.47)
因为这个distribution应当是normalized,并且注意到 z n k z_{nk} znk在所有 k k k取值上的求和为1,所以我们可以得到:
q ∗ ( Z ) = ∏ n = 1 N ∏ k = 1 K r n k z n k      ( 10.48 ) q^*(\mathbf{Z})=\prod_{n=1}^N\prod_{k=1}^Kr_{nk}^{z_{nk}}\ \ \ \ (10.48) q(Z)=n=1Nk=1Krnkznk    (10.48)
其中有:
r n k = ρ n k ∑ j = 1 K ρ n j      ( 10.49 ) r_{nk}=\frac{\rho_{nk}}{\sum_{j=1}^K\rho_{nj}}\ \ \ \ (10.49) rnk=j=1Kρnjρnk    (10.49)
我们注意到,关于factor q ( Z ) q(\mathbf{Z}) q(Z)的optimal solution具有与prior p ( Z ∣ π ) p(\mathbf{Z}|\bm{\pi}) p(Zπ)相同的functional form。我们注意到,由于 ρ n k \rho_{nk} ρnk具有一个实值的指数形式,所以量 r n k r_{nk} rnk是非负且加和为1的。

对于discrete distribution q ∗ ( Z ) q^*(\mathbf{Z}) q(Z)来说,我们具有标准的结果:
E [ z n k ] = r n k      ( 10.50 ) \mathbb{E}[z_{nk}]=r_{nk}\ \ \ \ (10.50) E[znk]=rnk    (10.50)
其中我们看到,量 r n k r_{nk} rnk承担着responsibilities的角色。我们注意到 q ∗ ( Z ) q^*(\mathbf{Z}) q(Z)的optimal solution取决于由其他的variables的distributions所计算而来的moments,因此variational update equations是被耦合在一起的,因而需要进行迭代求解。

此时,我们发现为observed data set定义三个基于responsibilities的量是十分方便的:
N k = ∑ n = 1 N r n k      ( 10.51 ) N_k=\sum_{n=1}^Nr_{nk}\ \ \ \ (10.51) Nk=n=1Nrnk    (10.51)
x ˉ k = 1 N k ∑ n = 1 N r n k x n      ( 10.52 ) \bar{\mathbf{x}}_k=\frac{1}{N_k}\sum_{n=1}^Nr_{nk}\mathbf{x}_n\ \ \ \ (10.52) xˉk=Nk1n=1Nrnkxn    (10.52)
S k = 1 N k ∑ n = 1 N r n k ( x n − x ˉ k ) ( x n − x ˉ k ) T      ( 10.53 ) \mathbf{S}_k=\frac{1}{N_k}\sum_{n=1}^Nr_{nk}(\mathbf{x}_n-\bar{\mathbf{x}}_k)(\mathbf{x}_n-\bar{\mathbf{x}}_k)^{\text{T}}\ \ \ \ (10.53) Sk=Nk1n=1Nrnk(xnxˉk)(xnxˉk)T    (10.53)
注意到,这里的量类比于我们在Gaussian mixture model中使用maximum likelihood EM计算得到的量。

现在我们来考虑variational posterior distribution中的factor q ( π , μ , Λ ) q(\bm{\pi,\mu,}\mathbf{\Lambda}) q(π,μ,Λ)。再一次使用(10.9), 我们有:
ln  q ∗ ( π , μ , Λ ) = ln  p ( π ) + ∑ k = 1 K ln  p ( μ k , Λ k ) + E Z [ ln  p ( Z ∣ π ) ] + ∑ k = 1 K ∑ n = 1 N E [ z n k ] ln  N ( x n ∣ μ k , Λ k − 1 ) + const     ( 10.54 ) \text{ln}\ q^*(\bm{\pi},\bm{\mu},\mathbf{\Lambda})=\text{ln}\ p(\bm{\pi})+\sum_{k=1}^K\text{ln}\ p(\bm{\mu}_k,\mathbf{\Lambda}_k)+\mathbb{E}_{\mathbf{Z}}[\text{ln}\ p(\mathbf{Z}|\bm{\pi})]\\ +\sum_{k=1}^K\sum_{n=1}^N\mathbb{E}[z_{nk}]\text{ln}\ \mathcal{N}(\mathbf{x}_n|\bm{\mu}_k,\mathbf{\Lambda}_k^{-1})+\text{const}\ \ \ \ (10.54) ln q(π,μ,Λ)=ln p(π)+k=1Kln p(μk,Λk)+EZ[ln p(Zπ)]+k=1Kn=1NE[znk]ln N(xnμk,Λk1)+const    (10.54)
我们观察到,右式的表达式分解成仅包含 π \bm{\pi} π和仅包含 μ , Λ \bm{\mu},\mathbf{\Lambda} μ,Λ的求和,这表明了variational posterior q ( π , μ , Λ ) q(\bm{\pi,\mu},\mathbf{\Lambda}) q(π,μ,Λ)可以分解成 q ( π ) q ( μ , Λ ) q(\bm{\pi})q(\bm{\mu},\mathbf{\Lambda}) q(π)q(μ,Λ)的形式。进一步来说,包含 μ , Λ \bm{\mu},\mathbf{\Lambda} μ,Λ的项是由关于 k k k个terms μ k , Λ k \bm{\mu}_k,\mathbf{\Lambda}_k μk,Λk的求和,从而可以进一步得到如下的分解式:
q ( π , μ , Λ ) = q ( π ) ∏ k = 1 K q ( μ k , Λ k )      ( 10.55 ) q(\bm{\pi},\bm{\mu},\mathbf{\Lambda})=q(\bm{\pi})\prod_{k=1}^Kq(\bm{\mu}_k,\mathbf{\Lambda}_k)\ \ \ \ (10.55) q(π,μ,Λ)=q(π)k=1Kq(μk,Λk)    (10.55)

找出(10.54)中右式里依赖于 π \bm{\pi} π的项,我们有:
ln  q ∗ ( π ) = ( α 0 − 1 ) ∑ k = 1 K ln  π k + ∑ k = 1 K ∑ n = 1 N r n k ln  π k + const     ( 10.56 ) \text{ln}\ q^*(\bm{\pi})=(\alpha_0-1)\sum_{k=1}^K\text{ln}\ \pi_k+\sum_{k=1}^K\sum_{n=1}^Nr_{nk}\text{ln}\ \pi_k+\text{const}\ \ \ \ (10.56) ln q(π)=(α01)k=1Kln πk+k=1Kn=1Nrnkln πk+const    (10.56)
其中我们利用了(10.50)。对该式两边同时求指数,我们可以发现, q ∗ ( π ) q^*(\bm{\pi}) q(π)是一个Dirichlet distribution:
q ∗ ( π ) = Dir ( π ∣ α )      ( 10.57 ) q^*(\bm{\pi})=\text{Dir}(\bm{\pi}|\bm{\alpha})\ \ \ \ (10.57) q(π)=Dir(πα)    (10.57)
其中 α \bm{\alpha} α的components α k \alpha_k αk为:
α k = α 0 + N k      ( 10.58 ) \alpha_k=\alpha_0+N_k\ \ \ \ (10.58) αk=α0+Nk    (10.58)
最后,variational posterior distribution q ∗ ( μ k , Λ k ) q^*(\bm{\mu}_k,\mathbf{\Lambda}_k) q(μk,Λk)不能够分解成marginals的乘积形式,但是我们总是可以使用product rule,从而有 q ∗ ( μ k , Λ k ) = q ∗ ( μ k ∣ Λ k ) q ∗ ( Λ k ) q^*(\bm{\mu}_k,\mathbf{\Lambda}_k)=q^*(\bm{\mu}_k|\mathbf{\Lambda}_k)q^*(\mathbf{\Lambda}_k) q(μk,Λk)=q(μkΛk)q(Λk)。这里面的两个factors可以通过观察(10.54)并找出包含 μ k , Λ k \bm{\mu}_k,\mathbf{\Lambda}_k μk,Λk的项,从而得到。正如我们所预料的,该结果正是Gaussian-Wishart distribution,并且有:
q ∗ ( μ k , Λ k ) = N ( μ k ∣ m k , ( β k Λ k ) − 1 ) W ( Λ k ∣ W k , ν k )      ( 10.59 ) q^*(\bm{\mu}_k,\mathbf{\Lambda}_k)=\mathcal{N}(\bm{\mu}_k|\mathbf{m}_k,(\beta_k\mathbf{\Lambda}_k)^{-1})\mathcal{W}(\mathbf{\Lambda}_k|\mathbf{W}_k,\nu_k)\ \ \ \ (10.59) q(μk,Λk)=N(μkmk,(βkΛk)1)W(ΛkWk,νk)    (10.59)
其中我们有定义:
β k = β 0 + N k      ( 10.60 ) \beta_k=\beta_0+N_k\ \ \ \ (10.60) βk=β0+Nk    (10.60)
m k = 1 β k ( β 0 m 0 + N k x ˉ k )      ( 10.61 ) \mathbf{m}_k=\frac{1}{\beta_k}(\beta_0\mathbf{m}_0+N_k\bar{\mathbf{x}}_k)\ \ \ \ (10.61) mk=βk1(β0m0+Nkxˉk)    (10.61)
W k − 1 = W 0 − 1 + N k S k + β 0 N k β 0 + N k ( x ˉ k − m 0 ) ( x ˉ k − m 0 ) T      ( 10.62 ) \mathbf{W}_k^{-1}=\mathbf{W}_0^{-1}+N_k\mathbf{S}_k +\frac{\beta_0N_k}{\beta_0+N_k}(\bar{\mathbf{x}}_k-\mathbf{m}_0)(\bar{\mathbf{x}}_k-\mathbf{m}_0)^{\text{T}}\ \ \ \ (10.62) Wk1=W01+NkSk+β0+Nkβ0Nk(xˉkm0)(xˉkm0)T    (10.62)
ν k = ν 0 + N k      ( 10.63 ) \nu_k=\nu_0+N_k\ \ \ \ (10.63) νk=ν0+Nk    (10.63)
这些update equations类比于在mixture of Gaussians使用EM算法来求解maximum likelihood solution的M-step。我们可以看到的是,为了去更新在model parameters上的variational posterior distribution,我们需要计算在data set上的相同的sums,正如我们在maximum likelihood方法中所做的那样。

为了去计算这里的variational M step,我们需要expectations E [ z n k ] = r n k \mathbb{E}[z_{nk}]=r_{nk} E[znk]=rnk, 它表达responsibilities的含义。这可以通过(10.46)式来对 ρ n k \rho_{nk} ρnk进行normalized的方式实现。我们看到这里包含着关于参数的variational distribution的expectations,这些可以通过如下的方式计算出来:
E μ k , Λ k [ ( x n − μ k ) T Λ k ( x n − μ k ) ] = D β k − 1 + ν k ( x n − m k ) T W k ( x n − m k )      ( 10.64 ) \mathbb{E}_{\bm{\mu}_k,\mathbf{\Lambda}_k}[(\mathbf{x}_n-\bm{\mu}_k)^{\text{T}}\mathbf{\Lambda}_k(\mathbf{x}_n-\bm{\mu}_k)]\\ =D\beta^{-1}_k+\nu_k(\mathbf{x}_n-\mathbf{m}_k)^{\text{T}}\mathbf{W}_k(\mathbf{x}_n-\mathbf{m}_k)\ \ \ \ (10.64) Eμk,Λk[(xnμk)TΛk(xnμk)]=Dβk1+νk(xnmk)TWk(xnmk)    (10.64)
ln  Λ ~ k ≡ E [ ln ∣ Λ k ∣ ] = ∑ i = 1 D ψ ( ν k + 1 − i 2 ) + D ln  2 + ln ∣ W k ∣      ( 10.65 ) \text{ln}\ \widetilde{\Lambda}_k\equiv\mathbb{E}[\text{ln}|\mathbf{\Lambda}_k|]=\sum_{i=1}^D\psi\left( \frac{\nu_k+1-i}{2} \right)+D\text{ln}\ 2+\text{ln}|\mathbf{W}_k|\ \ \ \ (10.65) ln Λ kE[lnΛk]=i=1Dψ(2νk+1i)+Dln 2+lnWk    (10.65)
ln  π ~ k ≡ E [ ln  π k ] = ψ ( α k ) − ψ ( α ^ )      ( 10.66 ) \text{ln}\ \widetilde{\pi}_k\equiv\mathbb{E}[\text{ln}\ \pi_k]=\psi(\alpha_k)-\psi(\widehat{\alpha})\ \ \ \ (10.66) ln π kE[ln πk]=ψ(αk)ψ(α )    (10.66)
其中我们引入了2个量 Λ ~ k , π ~ k \widetilde{\Lambda}_k,\widetilde{\pi}_k Λ k,π k的定义, 而 ψ ( ⋅ ) \psi(\cdot) ψ()是由(B.25)所定义的digamma function,其中有 α ^ = ∑ k α k \widehat{\alpha}=\sum_k\alpha_k α =kαk。(10.65)和(10.66)的结果来源于Wishart和Dirichlet distributions的性质。

如果我们将(10.64)(10.65)(10.66)代入(10.46), 并且利用(10.49), 我们可以得到如下的关于responsibilities的式子:
r n k ∝ π ~ k Λ ~ k 1 / 2 exp { − D 2 β k − ν k 2 ( x n − m k ) T W k ( x n − m k ) }      ( 10.67 ) r_{nk}\propto\widetilde{\pi}_k\widetilde{\Lambda}_k^{1/2}\text{exp}\left\{ -\frac{D}{2\beta_k}-\frac{\nu_k}{2}(\mathbf{x}_n-\mathbf{m}_k)^{\text{T}}\mathbf{W}_k(\mathbf{x}_n-\mathbf{m}_k) \right\}\ \ \ \ (10.67) rnkπ kΛ k1/2exp{2βkD2νk(xnmk)TWk(xnmk)}    (10.67)
我们注意到这个式子与maximum likelihood EM中的responsibilities的结果之间的相似性,后者是由(9.13)所得到的,可以写成如下的形式:
r n k ∝ π k ∣ Λ k ∣ 1 / 2 exp { − 1 2 ( x n − μ k ) T Λ k ( x n − μ k ) }      ( 10.68 ) r_{nk}\propto\pi_k|\mathbf{\Lambda}_k|^{1/2}\text{exp}\left\{ -\frac{1}{2}(\mathbf{x}_n-\bm{\mu}_k)^{\text{T}}\mathbf{\Lambda}_k(\mathbf{x}_n-\bm{\mu}_k) \right\}\ \ \ \ (10.68) rnkπkΛk1/2exp{21(xnμk)TΛk(xnμk)}    (10.68)
其中我们利用precision来替代covariance,从而强调该式与(10.67)的相似性。

对于variational posterior distribution的优化包括在两个类比于maximum likelihood EM算法中的E和M steps的stages之间循环。在variational中与E step所对应的步骤中,我们使用当前的关于model parameters的distributions去计算(10.64)(10.65)(10.66), 从而计算得到 E [ z n k ] = r n k \mathbb{E}[z_{nk}]=r_{nk} E[znk]=rnk。然后,在接下来的variational与M step等价的步骤中,我们令这些responsibilities是固定的,然后使用它们去(用(10.57)(10.59))重新计算在parameters上的variational distribution。在每一种情况中,我们可以看到的是,variational posterior distribution具有与(10.41)中相应的factor相同的functional form。这是一个一般性的结果,并且它是选择conjugate distribution的原因。

PRML笔记(十)_第6张图片

上图所展示的是将这个方法结合 K = 6 K=6 K=6个components的Gaussian mixture model应用在rescaled Old Faithful dataset上的结果。我们可以知道的是,在收敛之后,只剩下两个components,其中它们的mixing coefficients的期望值在数值上是可以与它们相应的prior values区分开来的。这个作用可以从Bayesian model在fitting data与complexity of the model之间的自动trade-off的角度来进行定性理解,其中当一个component的parameters与它自己的prior values之间的差异越大,则对其的complexity penalty就更大。那些对于解释data points来说没有responsibility的components具有 r n k ≃ 0 r_{nk}\simeq 0 rnk0的特点,因而有 N k ≃ 0 N_k\simeq 0 Nk0。从(10.58)中,我们可以得知的是,此时 α k ≃ α 0 \alpha_k\simeq\alpha_0 αkα0, 并且由(10.60)-(10.63), 我们可以看到,其他的parameters转换到它们的prior values中。原则上来说,这样的components略微对data points进行了拟合,但是在broad priors的情况下,这个效果十分微小,以至于我们难以从数值的角度看出来这里的结果。对于variational Gaussian mixture model来说,在posterior distribution下的关于mixing coefficients的expected values为:
E [ π k ] = α k + N k K α 0 + N      ( 10.69 ) \mathbb{E}[\pi_k]=\frac{\alpha_k+N_k}{K\alpha_0+N}\ \ \ \ (10.69) E[πk]=Kα0+Nαk+Nk    (10.69)
考虑一个具有 N k ≃ 0 , α k ≃ α 0 N_k\simeq 0, \alpha_k\simeq\alpha_0 Nk0,αkα0的component。如果它的prior是broad,即 α 0 → 0 \alpha_0\to 0 α00, 那么 E [ π k ] → 0 \mathbb{E}[\pi_k]\to 0 E[πk]0, 因此这个component在该模型中不起任何作用,然而如果prior非常紧地约束在mixing coefficients上,即 α 0 → ∞ \alpha_0\to\infty α0, 那么 E [ π k ] → 1 / K \mathbb{E}[\pi_k]\to 1/K E[πk]1/K

在图10.6中,在mixing coefficients上的prior是一个具有(10.39)形式的Dirichlet。回顾到在图2.5中,对于 α 0 < 1 \alpha_0<1 α0<1, prior更为支持一些mixing coefficients为0的的solutions。图10.6是在使用 α 0 = 1 0 − 3 \alpha_0=10^{-3} α0=103的前提下得到的,并且它导致了有两个具有非零mixing coefficients的components,而对于 α = 10 \alpha=10 α=10, 所有的6个components具有非零的coefficients。

正如我们已经知道的,在Bayesian mixture of Gaussian的variational solution与maximum likelihood的EM algorithm之间比较相似。实际上,如果我们考虑极限 N → ∞ N\to\infty N, 那么Bayesian treatment会收敛到maximum likelihood EM algorithm中。对于data set不是非常小的情况而言,Gaussian mixtures中variational algorithm的主要计算量是由对responsibilities的计算以及对weighted data covariance matrices的计算和求逆而产生的。这些计算与maximum likelihood EM 算法中的基本上能够对应起来,因此与传统的maximum likelihood方法相比,使用Bayesian approach基本上不存在什么额外的计算开销。然而,这里存在一些非常重要的优势。首先,由于使用maximum likelihood的方法,当一个Gaussian component ‘collapses’到一个特定的data point上,所产生的singularities不会在Bayesian treatment中出现。实际上,如果我们仅仅引入一个prior,从而用MAP estimate来替代maximum likelihood的话,那么这些singularities就会被除去。进一步来说,如果我们选择一个components数量 K K K值较大的mixture,如我们在图10.6中所看到的那样,那么这里不会出现over-fitting的问题。最后,variational treatment打开了一种可能性,即我们在不利用如cross-validation这样的方法的前提下,去确定mixture中optimal number of components。

10.2.2 Variational lower bound

我们也可以直接计算这个模型的lower bound (10.3)。在实际中,在re-estimation的时期内对bound进行监控,是一种检测convergence的有效方法。它同样可以为solutions的数学表达式以及software implementation提供一种有价值的验证,因为在每一个用于re-estimation的迭代步骤中,这个bound的值不应当会减少。

对于variational mixture of Gaussians来说,lower bound (10.3)为:
L = ∑ Z ∫ ∫ ∫ q ( Z , π , μ , Λ ) ln { p ( X , Z , π , μ , Λ ) q ( Z , π , μ , Λ ) } d π d μ d Λ = E [ ln  p ( X , Z , π , μ , Λ ) ] − E [ ln  q ( Z , π , μ , Λ ) ] = E [ ln  p ( X ∣ Z , μ , Λ ) ] + E [ ln  p ( Z ∣ π ) ] + E [ ln  p ( π ) ] + E [ ln  p ( μ , Λ ) ] − E [ ln  q ( Z ) ] − E [ ln  q ( π ) ] − E [ ln  q ( μ , Λ ) ]      ( 10.70 ) \mathcal{L}=\sum_{\mathbf{Z}}\int\int\int q(\mathbf{Z},\bm{\pi,\mu},\mathbf{\Lambda})\text{ln}\left\{ \frac{p(\mathbf{X,Z},\bm{\pi,\mu},\mathbf{\Lambda})}{q(\mathbf{Z},\bm{\pi,\mu},\mathbf{\Lambda})} \right\}\text{d}\bm{\pi}\text{d}\bm{\mu}\text{d}\mathbf{\Lambda}\\ =\mathbb{E}[\text{ln}\ p(\mathbf{X,Z},\bm{\pi},\bm{\mu},\mathbf{\Lambda})]-\mathbb{E}[\text{ln}\ q(\mathbf{Z,}\bm{\pi,\mu,}\mathbf{\Lambda})]\\ =\mathbb{E}[\text{ln}\ p(\mathbf{X|Z},\bm{\mu},\mathbf{\Lambda})]+\mathbb{E}[\text{ln}\ p(\mathbf{Z}|\bm{\pi})]+\mathbb{E}[\text{ln}\ p(\bm{\pi})]+\mathbb{E}[\text{ln}\ p(\bm{\mu},\mathbf{\Lambda})]\\ -\mathbb{E}[\text{ln}\ q(\mathbf{Z})]-\mathbb{E}[\text{ln}\ q(\bm{\pi})]-\mathbb{E}[\text{ln}\ q(\bm{\mu},\mathbf{\Lambda})]\ \ \ \ (10.70) L=Zq(Z,π,μ,Λ)ln{q(Z,π,μ,Λ)p(X,Z,π,μ,Λ)}dπdμdΛ=E[ln p(X,Z,π,μ,Λ)]E[ln q(Z,π,μ,Λ)]=E[ln p(XZ,μ,Λ)]+E[ln p(Zπ)]+E[ln p(π)]+E[ln p(μ,Λ)]E[ln q(Z)]E[ln q(π)]E[ln q(μ,Λ)]    (10.70)
其中,为了简化符号,我们省略了 q q q distribution中的上标,以及在求期望运算符中的下标,因为每一个期望值都是关于所有的在它的arguments中的random variables所求取的。在bound处的various terms可以较为容易地计算得到如下的结果:
E [ ln  p ( X ∣ Z , μ , Λ ) ] = 1 2 ∑ k = 1 K N k { ln  Λ ~ k − D β k − 1 − ν k Tr ( S k W k ) − ν k ( x ˉ k − m k ) T W k ( x ˉ k − m k ) − D ln ( w π ) }      ( 10.71 ) \mathbb{E}[\text{ln}\ p(\mathbf{X|Z},\bm{\mu},\mathbf{\Lambda})]=\frac{1}{2}\sum_{k=1}^KN_k\left\{ \text{ln}\ \widetilde{\Lambda}_k-D\beta^{-1}_k-\nu_k\text{Tr}(\mathbf{S}_k\mathbf{W}_k) \\ -\nu_k(\bar{\mathbf{x}}_k-\mathbf{m}_k)^{\text{T}}\mathbf{W}_k(\bar{\mathbf{x}}_k-\mathbf{m}_k)-D\text{ln}(w\pi) \right\}\ \ \ \ (10.71) E[ln p(XZ,μ,Λ)]=21k=1KNk{ln Λ kDβk1νkTr(SkWk)νk(xˉkmk)TWk(xˉkmk)Dln(wπ)}    (10.71)
E [ ln  p ( Z ∣ π ) ] = ∑ n = 1 N ∑ k = 1 K r n k ln  π ~ k      ( 10.72 ) \mathbb{E}[\text{ln}\ p(\mathbf{Z}|\bm{\pi})]=\sum_{n=1}^N\sum_{k=1}^Kr_{nk}\text{ln}\ \widetilde{\pi}_k\ \ \ \ (10.72) E[ln p(Zπ)]=n=1Nk=1Krnkln π k    (10.72)
E [ ln  p ( π ) ] = ln  C ( α 0 ) + ( α 0 − 1 ) ∑ k = 1 K ln  π ~ k      ( 10.73 ) \mathbb{E}[\text{ln}\ p(\bm{\pi})]=\text{ln}\ C(\bm{\alpha}_0)+(\alpha_0-1)\sum_{k=1}^K\text{ln}\ \widetilde{\pi}_k\ \ \ \ (10.73) E[ln p(π)]=ln C(α0)+(α01)k=1Kln π k    (10.73)
E [ ln  p ( μ , Λ ) ] = 1 2 ∑ k = 1 K { D ln ( β 0 / 2 π ) + ln  Λ ~ k − D β 0 β k − β 0 ν k ( m k − m 0 ) T W k ( m k − m 0 ) } + K ln  B ( W 0 , ν 0 ) + ( ν 0 − D − 1 ) 2 ∑ k = 1 K ln  Λ ~ k − 1 2 ∑ k = 1 K ν k Tr ( W 0 − 1 W k )      ( 10.74 ) \mathbb{E}[\text{ln}\ p(\bm{\mu},\mathbf{\Lambda})]=\frac{1}{2}\sum_{k=1}^K\left\{ D\text{ln}(\beta_0/2\pi)+\text{ln}\ \widetilde{\Lambda}_k-\frac{D\beta_0}{\beta_k}\\ -\beta_0\nu_k(\mathbf{m}_k-\mathbf{m}_0)^{\text{T}}\mathbf{W}_k(\mathbf{m}_k-\mathbf{m}_0) \right\}+K\text{ln}\ B(\mathbf{W}_0,\nu_0)\\ +\frac{(\nu_0-D-1)}{2}\sum_{k=1}^K\text{ln}\ \widetilde{\Lambda}_k-\frac{1}{2}\sum_{k=1}^K\nu_k\text{Tr}(\mathbf{W}^{-1}_0\mathbf{W}_k)\ \ \ \ (10.74) E[ln p(μ,Λ)]=21k=1K{Dln(β0/2π)+ln Λ

你可能感兴趣的:(PRML,机器学习)