假设我们有⼀个纯粹的贝叶斯模型,其中每个参数都有⼀个先验概率分布。这个模型也可以有潜在变量以及参数,我们会把所有潜在变量和参数组成的集合记作 Z \mathbf Z Z。类似地,我们会把所有观测变量的集合记作 X \mathbf X X。例如,我们可能有 N N N个独⽴同分布的数据,其中 X = { x 1 , … , x N } \mathbf{X}=\left\{\mathbf{x}_{1}, \dots, \mathbf{x}_{N}\right\} X={x1,…,xN}且 Z = { z 1 , … , z N } \mathbf{Z}=\left\{\mathbf{z}_{1}, \dots, \mathbf{z}_{N}\right\} Z={z1,…,zN}。我们的概率模型确定了联合分布 p ( X , Z ) p(\mathbf{X}, \mathbf{Z}) p(X,Z),我们的目标是寻找后验分布 p ( Z ∣ X ) p(\mathbf{Z}|\mathbf{X}) p(Z∣X)和模型evidence p ( X ) p(\mathbf{X}) p(X)的近似分布,之前在EM算法中介绍了 ln p ( X ) = L ( q ) + K L ( q ∥ p ) \ln p(\mathbf{X})=\mathcal{L}(q)+\mathrm{KL}(q \| p) lnp(X)=L(q)+KL(q∥p)其中 L ( q ) = ∫ q ( Z ) ln { p ( X , Z ) q ( Z ) } d Z K L ( q ∥ p ) = − ∫ q ( Z ) ln { p ( Z ∣ X ) q ( Z ) } d Z \begin{aligned} \mathcal{L}(q) &=\int q(\mathbf{Z}) \ln \left\{\frac{p(\mathbf{X}, \mathbf{Z})}{q(\mathbf{Z})}\right\} \mathrm{d} \mathbf{Z} \\ \mathrm{KL}(q \| p) &=-\int q(\mathbf{Z}) \ln \left\{\frac{p(\mathbf{Z} | \mathbf{X})}{q(\mathbf{Z})}\right\} \mathrm{d} \mathbf{Z} \end{aligned} L(q)KL(q∥p)=∫q(Z)ln{q(Z)p(X,Z)}dZ=−∫q(Z)ln{q(Z)p(Z∣X)}dZ与EM不同的是,参数 θ \boldsymbol \theta θ一起包括在 Z \mathbf Z Z中。和之前的分析一样,当最大化lower bound L ( q ) \mathcal{L}(q) L(q)时,就是在最小化KL部分,也就是说,当 q ( Z ) q(\mathbf Z) q(Z)足够自由时,KL部分就会消失,从而 q ( Z ) = p ( Z ∣ X ) q(\mathbf Z)=p(\mathbf Z|\mathbf X) q(Z)=p(Z∣X)。但是现在我们考虑的模型十分复杂,真是后验是没法计算的。于是,我们转⽽考虑概率分布 q ( Z ) q(\mathbf Z) q(Z)的⼀个受限制的类别,然后寻找这个类别中使得KL散度达到最⼩值的概率分布。
下面介绍一种平均场理论,也就是将 q ( Z ) q(\mathbf Z) q(Z)分解为 q ( Z ) = ∏ i = 1 M q i ( Z i ) q(\mathbf{Z})=\prod_{i=1}^{M} q_{i}\left(\mathbf{Z}_{i}\right) q(Z)=i=1∏Mqi(Zi)在这种分解的限制下,优化ELBO,只考虑 q j q_{j} qj L ( q ) = ∫ ∏ i q i { ln p ( X , Z ) − ∑ i ln q i } d Z = ∫ q j { ∫ 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 \begin{aligned} \mathcal{L}(q) &=\int \prod_{i} q_{i}\left\{\ln p(\mathbf{X}, \mathbf{Z})-\sum_{i} \ln q_{i}\right\} \mathrm{d} \mathbf{Z} \\ &=\int q_{j}\left\{\int \ln p(\mathbf{X}, \mathbf{Z}) \prod_{i \neq j} q_{i} \mathrm{d} \mathbf{Z}_{i}\right\} \mathrm{d} \mathbf{Z}_{j}-\int q_{j} \ln q_{j} \mathrm{d} \mathbf{Z}_{j}+\text { const } \\ &=\int q_{j} \ln \widetilde{p}\left(\mathbf{X}, \mathbf{Z}_{j}\right) \mathrm{d} \mathbf{Z}_{j}-\int q_{j} \ln q_{j} \mathrm{d} \mathbf{Z}_{j}+\text { const } \end{aligned} L(q)=∫i∏qi{lnp(X,Z)−i∑lnqi}dZ=∫qj⎩⎨⎧∫lnp(X,Z)i̸=j∏qidZi⎭⎬⎫dZj−∫qjlnqjdZj+ const =∫qjlnp (X,Zj)dZj−∫qjlnqjdZj+ const 当我们固定 { q i ≠ j } \left\{q_{i \neq j}\right\} {qi̸=j}时,可以发现最大ELBO就是在 q j ( Z j ) = p ~ ( X , Z j ) q_{j}\left(\mathbf{Z}_{j}\right)=\widetilde{p}\left(\mathbf{X}, \mathbf{Z}_{j}\right) qj(Zj)=p (X,Zj)。 ln q j ⋆ ( Z j ) = E i ≠ j [ ln p ( X , Z ) ] + const. \ln q_{j}^{\star}\left(\mathbf{Z}_{j}\right)=\mathbb{E}_{i \neq j}[\ln p(\mathbf{X}, \mathbf{Z})]+\text { const. } lnqj⋆(Zj)=Ei̸=j[lnp(X,Z)]+ const. 注意的是,const就是一个配比因子,归一化。 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}^{\star}\left(\mathbf{Z}_{j}\right)=\frac{\exp \left(\mathbb{E}_{i \neq j}[\ln p(\mathbf{X}, \mathbf{Z})]\right)}{\int \exp \left(\mathbb{E}_{i \neq j}[\ln p(\mathbf{X}, \mathbf{Z})]\right) \mathrm{d} \mathbf{Z}_{j}} qj⋆(Zj)=∫exp(Ei̸=j[lnp(X,Z)])dZjexp(Ei̸=j[lnp(X,Z)])得到这样的结果,我们就可以采用迭代的方式得到最终结果。
我们的变分推断的⽅法基于的是真实后验概率分布的分解近似。让我们现在考虑⼀下使⽤分解概率分布的⽅式近似⼀个⼀般的概率分布的问题。⾸先,我们讨论使⽤分解的⾼斯分布近似⼀个⾼斯分布的问题,这会让我们认识到在使⽤分解近似时会引⼊的不准确性有哪些类型。需要近似的二维高斯分布为 p ( z ) = N ( z ∣ μ , Λ − 1 ) p(\mathbf{z})=\mathcal{N}\left(\mathbf{z} | \boldsymbol{\mu}, \mathbf{\Lambda}^{-1}\right) p(z)=N(z∣μ,Λ−1),利用 q ( z ) = q 1 ( z 1 ) q 2 ( z 2 ) q(\mathbf{z})=q_{1}\left(z_{1}\right) q_{2}\left(z_{2}\right) q(z)=q1(z1)q2(z2)近似它。 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 ) ] + c o n s t = − 1 2 z 1 2 Λ 11 + z 1 μ 1 Λ 11 − z 1 Λ 12 ( E [ z 2 ] − μ 2 ) + const. \begin{aligned} \ln q_{1}^{\star}\left(z_{1}\right) &=\mathbb{E}_{z_{2}}[\ln p(\mathbf{z})]+\text { const } \\ &=\mathbb{E}_{z_{2}}\left[-\frac{1}{2}\left(z_{1}-\mu_{1}\right)^{2} \Lambda_{11}-\left(z_{1}-\mu_{1}\right) \Lambda_{12}\left(z_{2}-\mu_{2}\right)\right]+\mathrm{const} \\ &=-\frac{1}{2} z_{1}^{2} \Lambda_{11}+z_{1} \mu_{1} \Lambda_{11}-z_{1} \Lambda_{12}\left(\mathbb{E}\left[z_{2}\right]-\mu_{2}\right)+\text { const. } \end{aligned} lnq1⋆(z1)=Ez2[lnp(z)]+ const =Ez2[−21(z1−μ1)2Λ11−(z1−μ1)Λ12(z2−μ2)]+const=−21z12Λ11+z1μ1Λ11−z1Λ12(E[z2]−μ2)+ const. 上式的右边刚好关于 z 1 z_1 z1的二次函数,则说明 q ⋆ ( z 1 ) q^{\star}\left(z_{1}\right) q⋆(z1)刚好也是高斯分布,需要说明的是,平均场理论,我们并没有规定各个分解后的分布的类型,这儿就能推出分布是个什么类型。 q ⋆ ( z 1 ) = N ( z 1 ∣ m 1 , Λ 11 − 1 ) q^{\star}\left(z_{1}\right)=\mathcal{N}\left(z_{1} | m_{1}, \Lambda_{11}^{-1}\right) q⋆(z1)=N(z1∣m1,Λ11−1)其中 m 1 = μ 1 − Λ 11 − 1 Λ 12 ( E [ z 2 ] − μ 2 ) m_{1}=\mu_{1}-\Lambda_{11}^{-1} \Lambda_{12}\left(\mathbb{E}\left[z_{2}\right]-\mu_{2}\right) m1=μ1−Λ11−1Λ12(E[z2]−μ2)同理可得 q 2 ⋆ ( z 2 ) = N ( z 2 ∣ m 2 , Λ 22 − 1 ) q_{2}^{\star}\left(z_{2}\right)=\mathcal{N}\left(z_{2} | m_{2}, \Lambda_{22}^{-1}\right) q2⋆(z2)=N(z2∣m2,Λ22−1) m 2 = μ 2 − Λ 22 − 1 Λ 21 ( E [ z 1 ] − μ 1 ) m_{2}=\mu_{2}-\Lambda_{22}^{-1} \Lambda_{21}\left(\mathbb{E}\left[z_{1}\right]-\mu_{1}\right) m2=μ2−Λ22−1Λ21(E[z1]−μ1)可以发现 q ⋆ ( z 1 ) q^{\star}\left(z_{1}\right) q⋆(z1)和 q 2 ⋆ ( z 2 ) q_{2}^{\star}\left(z_{2}\right) q2⋆(z2)相互耦合,即互相包括了期望值,因此可以采用迭代的方式进行求解。通过分析可以发现,最终均值就是 E [ z 1 ] = μ 1 \mathbb{E}\left[z_{1}\right]=\mu_{1} E[z1]=μ1, E [ z 2 ] = μ 2 \mathbb{E}\left[z_{2}\right]=\mu_{2} E[z2]=μ2。结果如图10.2(a),我们看到,均值被正确地描述了,但是 q ( z ) q(\mathbf z) q(z)的⽅差由 p ( z ) p(\mathbf z) p(z)的最⼩⽅差的⽅向所确定,沿着垂直⽅向的⽅差被强烈地低估了。这是⼀个⼀般的结果,即分解变分近似对后验概率分布的近似倾向于过于紧凑。
作为⽐较,假设我们最⼩化相反的Kullback-Leibler散度 K L ( p ∥ q ) \mathrm{KL}(p \| q) KL(p∥q)。正如我们将看到的那样,这种形式的KL散度被⽤于另⼀种近似推断的框架中,这种框架被称为期望传播(expectation propagation)。于是,我们考虑⼀般的最⼩化 K L ( p ∥ q ) \mathrm{KL}(p \| q) KL(p∥q)的问题,其中 q ( Z ) q(\mathbf Z) q(Z)是形式为 q ( Z ) = ∏ i = 1 M q i ( Z i ) q(\mathbf{Z})=\prod_{i=1}^{M} q_{i}\left(\mathbf{Z}_{i}\right) q(Z)=∏i=1Mqi(Zi)的分解近似。这样,KL散度可以写成 K L ( p ∥ q ) = − ∫ p ( Z ) [ ∑ i = 1 M ln q i ( Z i ) ] d Z + const \mathrm{KL}(p \| q)=-\int p(\mathbf{Z})\left[\sum_{i=1}^{M} \ln q_{i}\left(\mathbf{Z}_{i}\right)\right] \mathrm{d} \mathbf{Z}+\text { const } KL(p∥q)=−∫p(Z)[i=1∑Mlnqi(Zi)]dZ+ const q j ⋆ ( Z j ) = ∫ p ( Z ) ∏ i ≠ j d Z i = p ( Z j ) q_{j}^{\star}\left(\mathbf{Z}_{j}\right)=\int p(\mathbf{Z}) \prod_{i \neq j} \mathrm{d} \mathbf{Z}_{i}=p\left(\mathbf{Z}_{j}\right) qj⋆(Zj)=∫p(Z)i̸=j∏dZi=p(Zj)以上结果为一个解析解,不需要迭代,结果如图10.2(b)。我们再⼀次看到,对均值的近似是正确的,但是它把相当多的概率质量放到了实际上具有很低的概率的变量空间区域中。之所以会造成这样的不同 K L ( q ∥ p ) = − ∫ q ( Z ) ln { p ( Z ) q ( Z ) } d Z \mathrm{KL}(q \| p)=-\int q(\mathbf{Z}) \ln \left\{\frac{p(\mathbf{Z})}{q(\mathbf{Z})}\right\} \mathrm{d} \mathbf{Z} KL(q∥p)=−∫q(Z)ln{q(Z)p(Z)}dZ当 p ( Z ) p(\mathbf Z) p(Z)为0的区域, q ( Z ) q(\mathbf Z) q(Z)必须也为0,否则会让上式引入一个很大的正数贡献。而反KL散度,当 p ( Z ) p(\mathbf Z) p(Z)为0的区域,当 q ( Z ) q(\mathbf Z) q(Z)不为0时,不会引入正数贡献,并且 p ( Z ) p(\mathbf Z) p(Z)不为0的区域, q ( Z ) q(\mathbf Z) q(Z)必须不为0。
当用单高斯近似多元高斯时,基于最⼩化 K L ( q ∥ p ) \mathrm{KL}(q \| p) KL(q∥p)的变分⽅法倾向于找到这些峰值中的⼀个。相反,如果我们最⼩化 K L ( p ∥ q ) \mathrm{KL}(p \| q) KL(p∥q),那么得到的近似会在所有的均值上取平均。在混合模型问题中,这种⽅法会给出较差的预测分布(因为两个较好的参数值的平均值通常不是⼀个较好的参数值)。可以使⽤ K L ( p ∥ q ) \mathrm{KL}(p \| q) KL(p∥q)定义⼀个有⽤的推断步骤,但是这需要⼀种与这⾥讨论的内容相当不同的⽅法。当我们讨论期望传播的时候,我们会仔细讨论这⼀点。
以上两个KL散度其实为alpha家族 D α ( p ∥ q ) = 4 1 − α 2 ( 1 − ∫ p ( x ) ( 1 + α ) / 2 q ( x ) ( 1 − α ) / 2 d x ) \mathrm{D}_{\alpha}(p \| q)=\frac{4}{1-\alpha^{2}}\left(1-\int p(x)^{(1+\alpha) / 2} q(x)^{(1-\alpha) / 2} \mathrm{d} x\right) Dα(p∥q)=1−α24(1−∫p(x)(1+α)/2q(x)(1−α)/2dx)
考虑一个高斯分布,我们的目标是去近似均值和精度的后验分布。似然为 p ( D ∣ μ , τ ) = ( τ 2 π ) N / 2 exp { − τ 2 ∑ n = 1 N ( x n − μ ) 2 } p(\mathcal{D} | \mu, \tau)=\left(\frac{\tau}{2 \pi}\right)^{N / 2} \exp \left\{-\frac{\tau}{2} \sum_{n=1}^{N}\left(x_{n}-\mu\right)^{2}\right\} p(D∣μ,τ)=(2πτ)N/2exp{−2τn=1∑N(xn−μ)2}引入共轭先验为 p ( μ ∣ τ ) = N ( μ ∣ μ 0 , ( λ 0 τ ) − 1 ) p ( τ ) = Gam ( τ ∣ a 0 , b 0 ) \begin{aligned} p(\mu | \tau) &=\mathcal{N}\left(\mu | \mu_{0},\left(\lambda_{0} \tau\right)^{-1}\right) \\ p(\tau) &=\operatorname{Gam}\left(\tau | a_{0}, b_{0}\right) \end{aligned} p(μ∣τ)p(τ)=N(μ∣μ0,(λ0τ)−1)=Gam(τ∣a0,b0)对于这个问题我们能够计算出精确的后验分布,这儿我们采用平均场变分推理 q ( μ , τ ) = q μ ( μ ) q τ ( τ ) q(\mu, \tau)=q_{\mu}(\mu) q_{\tau}(\tau) q(μ,τ)=qμ(μ)qτ(τ)可得 ln q μ ⋆ ( μ ) = E τ [ ln p ( D ∣ μ , τ ) + ln p ( μ ∣ τ ) ] + const = − E [ τ ] 2 { λ 0 ( μ − μ 0 ) 2 + ∑ n = 1 N ( x n − μ ) 2 } + const. \begin{aligned} \ln q_{\mu}^{\star}(\mu) &=\mathbb{E}_{\tau}[\ln p(\mathcal{D} | \mu, \tau)+\ln p(\mu | \tau)]+\text { const } \\ &=-\frac{\mathbb{E}[\tau]}{2}\left\{\lambda_{0}\left(\mu-\mu_{0}\right)^{2}+\sum_{n=1}^{N}\left(x_{n}-\mu\right)^{2}\right\}+\text { const. } \end{aligned} lnqμ⋆(μ)=Eτ[lnp(D∣μ,τ)+lnp(μ∣τ)]+ const =−2E[τ]{λ0(μ−μ0)2+n=1∑N(xn−μ)2}+ const. 可以发现该分布为一个高斯分布, N ( μ ∣ μ N , λ N − 1 ) \mathcal{N}\left(\mu | \mu_{N}, \lambda_{N}^{-1}\right) N(μ∣μN,λN−1)其中 μ N = λ 0 μ 0 + N x ‾ λ 0 + N λ N = ( λ 0 + N ) E [ τ ] \begin{aligned} \mu_{N} &=\frac{\lambda_{0} \mu_{0}+N \overline{x}}{\lambda_{0}+N} \\ \lambda_{N} &=\left(\lambda_{0}+N\right) \mathbb{E}[\tau] \end{aligned} μNλN=λ0+Nλ0μ0+Nx=(λ0+N)E[τ]注意当 N → ∞ N \rightarrow \infty N→∞时,就变为了MLE。同样地 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 \begin{aligned} \ln q_{\tau}^{\star}(\tau)=& \mathbb{E}_{\mu}[\ln p(\mathcal{D} | \mu, \tau)+\ln p(\mu | \tau)]+\ln p(\tau)+\text { const } \\=&\left(a_{0}-1\right) \ln \tau-b_{0} \tau+\frac{N}{2} \ln \tau \\ &-\frac{\tau}{2} \mathbb{E}_{\mu}\left[\sum_{n=1}^{N}\left(x_{n}-\mu\right)^{2}+\lambda_{0}\left(\mu-\mu_{0}\right)^{2}\right]+\text { const } \quad \end{aligned} lnqτ⋆(τ)==Eμ[lnp(D∣μ,τ)+lnp(μ∣τ)]+lnp(τ)+ const (a0−1)lnτ−b0τ+2Nlnτ−2τEμ[n=1∑N(xn−μ)2+λ0(μ−μ0)2]+ const 此时为一个gamma分布 Gam ( τ ∣ a N , b N ) \operatorname{Gam}\left(\tau | a_{N}, b_{N}\right) Gam(τ∣aN,bN) a N = a 0 + N 2 b N = b 0 + 1 2 E μ [ ∑ n = 1 N ( x n − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] \begin{aligned} a_{N} &=a_{0}+\frac{N}{2} \\ b_{N} &=b_{0}+\frac{1}{2} \mathbb{E}_{\mu}\left[\sum_{n=1}^{N}\left(x_{n}-\mu\right)^{2}+\lambda_{0}\left(\mu-\mu_{0}\right)^{2}\right] \end{aligned} aNbN=a0+2N=b0+21Eμ[n=1∑N(xn−μ)2+λ0(μ−μ0)2]需要说明的是,我们并没有事先规定各个分布的类型,而是很自然地推导出。由于以上两个分布相互耦合,同样可以采取迭代的方式
这儿讨论的是全贝叶斯的GMM
p ( Z ∣ π ) = ∏ n = 1 N ∏ k = 1 K π k z n k p(\mathbf{Z} | \boldsymbol{\pi})=\prod_{n=1}^{N} \prod_{k=1}^{K} \pi_{k}^{z_{n k}} p(Z∣π)=n=1∏Nk=1∏Kπkznk p ( X ∣ Z , μ , Λ ) = ∏ n = 1 N ∏ k = 1 K N ( x n ∣ μ k , Λ k − 1 ) z n k p(\mathbf{X} | \mathbf{Z}, \boldsymbol{\mu}, \boldsymbol{\Lambda})=\prod_{n=1}^{N} \prod_{k=1}^{K} \mathcal{N}\left(\mathbf{x}_{n} | \boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}^{-1}\right)^{z_{n k}} p(X∣Z,μ,Λ)=n=1∏Nk=1∏KN(xn∣μk,Λk−1)znk p ( π ) = Dir ( π ∣ α 0 ) = C ( α 0 ) ∏ k = 1 K π k α 0 − 1 p(\boldsymbol{\pi})=\operatorname{Dir}\left(\boldsymbol{\pi} | \boldsymbol{\alpha}_{0}\right)=C\left(\boldsymbol{\alpha}_{0}\right) \prod_{k=1}^{K} \pi_{k}^{\alpha_{0}-1} p(π)=Dir(π∣α0)=C(α0)k=1∏Kπkα0−1 p ( μ , Λ ) = p ( μ ∣ Λ ) p ( Λ ) = ∏ k = 1 K N ( μ k ∣ m 0 , ( β 0 Λ k ) − 1 ) W ( Λ k ∣ W 0 , ν 0 ) \begin{aligned} p(\boldsymbol{\mu}, \boldsymbol{\Lambda}) &=p(\boldsymbol{\mu} | \boldsymbol{\Lambda}) p(\boldsymbol{\Lambda}) \\ &=\prod_{k=1}^{K} \mathcal{N}\left(\boldsymbol{\mu}_{k} | \mathbf{m}_{0},\left(\beta_{0} \boldsymbol{\Lambda}_{k}\right)^{-1}\right) \mathcal{W}\left(\boldsymbol{\Lambda}_{k} | \mathbf{W}_{0}, \nu_{0}\right) \end{aligned} p(μ,Λ)=p(μ∣Λ)p(Λ)=k=1∏KN(μk∣m0,(β0Λk)−1)W(Λk∣W0,ν0)
首先写成该模型的联合分布 p ( X , Z , π , μ , Λ ) = p ( X ∣ Z , μ , Λ ) p ( Z ∣ π ) p ( π ) p ( μ ∣ Λ ) p ( Λ ) p(\mathbf{X}, \mathbf{Z}, \boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})=p(\mathbf{X} | \mathbf{Z}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) p(\mathbf{Z} | \boldsymbol{\pi}) p(\boldsymbol{\pi}) p(\boldsymbol{\mu} | \boldsymbol{\Lambda}) p(\boldsymbol{\Lambda}) p(X,Z,π,μ,Λ)=p(X∣Z,μ,Λ)p(Z∣π)p(π)p(μ∣Λ)p(Λ)利用平均场变分 q ( Z , π , μ , Λ ) = q ( Z ) q ( π , μ , Λ ) q(\mathbf{Z}, \boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})=q(\mathbf{Z}) q(\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) q(Z,π,μ,Λ)=q(Z)q(π,μ,Λ)首先更新第一个因子 ln q ⋆ ( Z ) = E π , μ , Λ [ ln p ( X , Z , π , μ , Λ ) ] + const. \ln q^{\star}(\mathbf{Z})=\mathbb{E}_{\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda}}[\ln p(\mathbf{X}, \mathbf{Z}, \boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})]+\text { const. } lnq⋆(Z)=Eπ,μ,Λ[lnp(X,Z,π,μ,Λ)]+ const. 则 ln q ⋆ ( Z ) = E π [ ln p ( Z ∣ π ) ] + E μ , Λ [ ln p ( X ∣ Z , μ , Λ ) ] + const. \ln q^{\star}(\mathbf{Z})=\mathbb{E}_{\pi}[\ln p(\mathbf{Z} | \boldsymbol{\pi})]+\mathbb{E}_{\boldsymbol{\mu}, \boldsymbol{\Lambda}}[\ln p(\mathbf{X} | \mathbf{Z}, \boldsymbol{\mu}, \boldsymbol{\Lambda})]+\text { const. } lnq⋆(Z)=Eπ[lnp(Z∣π)]+Eμ,Λ[lnp(X∣Z,μ,Λ)]+ const. 进一步 ln q ⋆ ( Z ) = ∑ n = 1 N ∑ k = 1 K z n k ln ρ n k + const \ln q^{\star}(\mathbf{Z})=\sum_{n=1}^{N} \sum_{k=1}^{K} z_{n k} \ln \rho_{n k}+\text { const } lnq⋆(Z)=n=1∑Nk=1∑Kznklnρnk+ const 其中 ln ρ n k = E [ ln π k ] + 1 2 E [ ln ∣ Λ k ∣ ] − D 2 ln ( 2 π ) − 1 2 E μ k , Λ k [ ( x n − μ k ) T Λ k ( x n − μ k ) ] \begin{aligned} \ln \rho_{n k}=& \mathbb{E}\left[\ln \pi_{k}\right]+\frac{1}{2} \mathbb{E}\left[\ln \left|\boldsymbol{\Lambda}_{k}\right|\right]-\frac{D}{2} \ln (2 \pi) \\ &-\frac{1}{2} \mathbb{E}_{\boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}}\left[\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{k}\right)^{\mathrm{T}} \boldsymbol{\Lambda}_{k}\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{k}\right)\right] \end{aligned} lnρnk=E[lnπk]+21E[ln∣Λk∣]−2Dln(2π)−21Eμk,Λk[(xn−μk)TΛk(xn−μk)]从而 q ⋆ ( Z ) ∝ ∏ n = 1 N ∏ k = 1 K ρ n k z n k q^{\star}(\mathbf{Z}) \propto \prod_{n=1}^{N} \prod_{k=1}^{K} \rho_{n k}^{z_{n k}} q⋆(Z)∝n=1∏Nk=1∏Kρnkznk归一化后 q ⋆ ( Z ) = ∏ n = 1 N ∏ k = 1 K r n k z n k q^{\star}(\mathbf{Z})=\prod_{n=1}^{N} \prod_{k=1}^{K} r_{n k}^{z_{n k}} q⋆(Z)=n=1∏Nk=1∏Krnkznk其中 r n k = ρ n k ∑ j = 1 K ρ n j r_{n k}=\frac{\rho_{n k}}{\sum_{j=1}^{K} \rho_{n j}} rnk=∑j=1Kρnjρnk有 E [ z n k ] = r n k \mathbb{E}\left[z_{n k}\right]=r_{n k} E[znk]=rnk预先定义 N k = ∑ n = 1 N r n k x ‾ k = 1 N k ∑ n = 1 N r n k x n S k = 1 N k ∑ n = 1 N r n k ( x n − x ‾ k ) ( x n − x ‾ k ) T \begin{aligned} N_{k} &=\sum_{n=1}^{N} r_{n k} \\ \overline{\mathbf{x}}_{k} &=\frac{1}{N_{k}} \sum_{n=1}^{N} r_{n k} \mathbf{x}_{n} \\ \mathbf{S}_{k} &=\frac{1}{N_{k}} \sum_{n=1}^{N} r_{n k}\left(\mathbf{x}_{n}-\overline{\mathbf{x}}_{k}\right)\left(\mathbf{x}_{n}-\overline{\mathbf{x}}_{k}\right)^{\mathrm{T}} \end{aligned} NkxkSk=n=1∑Nrnk=Nk1n=1∑Nrnkxn=Nk1n=1∑Nrnk(xn−xk)(xn−xk)T考虑第二个因子 q ( π , μ , Λ ) q(\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) q(π,μ,Λ), 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. \begin{array}{c}{\ln q^{\star}(\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})=\ln p(\boldsymbol{\pi})+\sum_{k=1}^{K} \ln p\left(\boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}\right)+\mathbb{E}_{\mathbf{Z}}[\ln p(\mathbf{Z} | \boldsymbol{\pi})]} {\quad+\sum_{k=1}^{K} \sum_{n=1}^{N} \mathbb{E}\left[z_{n k}\right] \ln \mathcal{N}\left(\mathbf{x}_{n} | \boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}^{-1}\right)+\text { const. }}\end{array} lnq⋆(π,μ,Λ)=lnp(π)+∑k=1Klnp(μk,Λk)+EZ[lnp(Z∣π)]+∑k=1K∑n=1NE[znk]lnN(xn∣μk,Λk−1)+ const. 可以看到一些项只与 π \boldsymbol \pi π有关,有些与 μ , Λ \boldsymbol \mu, \boldsymbol \Lambda μ,Λ有关,说明可以将该因子进一步分解为 q ( π ) q ( μ , Λ ) q(\boldsymbol{\pi}) q(\boldsymbol{\mu}, \boldsymbol{\Lambda}) q(π)q(μ,Λ), q ( π , μ , Λ ) = q ( π ) ∏ k = 1 K q ( μ k , Λ k ) q(\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})=q(\boldsymbol{\pi}) \prod_{k=1}^{K} q\left(\boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}\right) q(π,μ,Λ)=q(π)k=1∏Kq(μk,Λk)从而可得 ln q ⋆ ( π ) = ( α 0 − 1 ) ∑ k = 1 K ln π k + ∑ k = 1 K ∑ n = 1 N r n k ln π k + const \ln q^{\star}(\boldsymbol{\pi})=\left(\alpha_{0}-1\right) \sum_{k=1}^{K} \ln \pi_{k}+\sum_{k=1}^{K} \sum_{n=1}^{N} r_{n k} \ln \pi_{k}+\text { const } lnq⋆(π)=(α0−1)k=1∑Klnπk+k=1∑Kn=1∑Nrnklnπk+ const 整理后 q ⋆ ( π ) = Dir ( π ∣ α ) q^{\star}(\boldsymbol{\pi})=\operatorname{Dir}(\boldsymbol{\pi} | \boldsymbol{\alpha}) q⋆(π)=Dir(π∣α)其中 α k = α 0 + N k \alpha_{k}=\alpha_{0}+N_{k} αk=α0+Nk最后,变分后验概率分布 q ⋆ ( μ k , Λ k ) q^{\star}\left(\boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}\right) q⋆(μk,Λk)⽆法分解成边缘概率分布的乘积,但是我们总可以使⽤概率的乘积规则,将其写成 q ⋆ ( μ k , Λ k ) = q ⋆ ( μ k ∣ Λ k ) q ⋆ ( Λ k ) q^{\star}\left(\boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}\right)=q^{\star}\left(\boldsymbol{\mu}_{k} | \boldsymbol{\Lambda}_{k}\right) q^{\star}\left(\boldsymbol{\Lambda}_{k}\right) q⋆(μk,Λk)=q⋆(μk∣Λk)q⋆(Λk)。跟预期地一样 q ⋆ ( μ k , Λ k ) = N ( μ k ∣ m k , ( β k Λ k ) − 1 ) W ( Λ k ∣ W k , ν k ) q^{\star}\left(\boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}\right)=\mathcal{N}\left(\boldsymbol{\mu}_{k} | \mathbf{m}_{k},\left(\beta_{k} \boldsymbol{\Lambda}_{k}\right)^{-1}\right) \mathcal{W}\left(\boldsymbol{\Lambda}_{k} | \mathbf{W}_{k}, \nu_{k}\right) q⋆(μk,Λk)=N(μk∣mk,(βkΛk)−1)W(Λk∣Wk,νk)其中 β k = β 0 + N k m k = 1 β k ( β 0 m 0 + N k x ‾ k ) 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 ν k = ν 0 + N k \begin{aligned} \beta_{k} &=\beta_{0}+N_{k} \\ \mathbf{m}_{k} &=\frac{1}{\beta_{k}}\left(\beta_{0} \mathbf{m}_{0}+N_{k} \overline{\mathbf{x}}_{k}\right) \\ \mathbf{W}_{k}^{-1} &=\mathbf{W}_{0}^{-1}+N_{k} \mathbf{S}_{k}+\frac{\beta_{0} N_{k}}{\beta_{0}+N_{k}}\left(\overline{\mathbf{x}}_{k}-\mathbf{m}_{0}\right)\left(\overline{\mathbf{x}}_{k}-\mathbf{m}_{0}\right)^{\mathrm{T}} \\ \nu_{k} &=\nu_{0}+N_{k} \end{aligned} βkmkWk−1νk=β0+Nk=βk1(β0m0+Nkxk)=W0−1+NkSk+β0+Nkβ0Nk(xk−m0)(xk−m0)T=ν0+Nk之前在使用“责任” r n k \boldsymbol{r}_{n k} rnk,又涉及计算 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 ) ln Λ ~ k ≡ E [ ln ∣ Λ k ∣ ] = ∑ i = 1 D ψ ( ν k + 1 − i 2 ) + D ln 2 + ln ∣ W k ∣ ln π ~ k ≡ E [ ln π k ] = ψ ( α k ) − ψ ( α ^ ) \begin{aligned} \mathbb{E}_{\mu_{k}, \Lambda_{k}}\left[\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{k}\right)^{\mathrm{T}} \boldsymbol{\Lambda}_{k}\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{k}\right)\right] \\=& D \beta_{k}^{-1}+\nu_{k}\left(\mathbf{x}_{n}-\mathbf{m}_{k}\right)^{\mathrm{T}} \mathbf{W}_{k}\left(\mathbf{x}_{n}-\mathbf{m}_{k}\right) \\ \ln \widetilde{\Lambda}_{k} \equiv \mathbb{E}\left[\ln \left|\boldsymbol{\Lambda}_{k}\right|\right]=\sum_{i=1}^{D} \psi\left(\frac{\nu_{k}+1-i}{2}\right)+D \ln 2+\ln \left|\mathbf{W}_{k}\right| \\ \ln \widetilde{\pi}_{k} \equiv \mathbb{E}\left[\ln \pi_{k}\right]=\psi\left(\alpha_{k}\right)-\psi(\widehat{\alpha}) \end{aligned} Eμk,Λk[(xn−μk)TΛk(xn−μk)]=lnΛ k≡E[ln∣Λk∣]=i=1∑Dψ(2νk+1−i)+Dln2+ln∣Wk∣lnπ k≡E[lnπk]=ψ(αk)−ψ(α )Dβk−1+νk(xn−mk)TWk(xn−mk)这两部分是相互耦合的,当把上面的再代入 r n k \boldsymbol{r}_{n k} rnk r n k ∝ π ~ k Λ ~ k 1 / 2 exp { − D 2 β k − ν k 2 ( x n − m k ) T W k ( x n − m k ) } r_{n k} \propto \widetilde{\pi}_{k} \widetilde{\Lambda}_{k}^{1 / 2} \exp \left\{-\frac{D}{2 \beta_{k}}-\frac{\nu_{k}}{2}\left(\mathbf{x}_{n}-\mathbf{m}_{k}\right)^{\mathrm{T}} \mathbf{W}_{k}\left(\mathbf{x}_{n}-\mathbf{m}_{k}\right)\right\} rnk∝π kΛ k1/2exp{−2βkD−2νk(xn−mk)TWk(xn−mk)}在最大似然EM中,有 r n k ∝ π k ∣ Λ k ∣ 1 / 2 exp { − 1 2 ( x n − μ k ) T Λ k ( x n − μ k ) } r_{n k} \propto \pi_{k}\left|\boldsymbol{\Lambda}_{k}\right|^{1 / 2} \exp \left\{-\frac{1}{2}\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{k}\right)^{\mathrm{T}} \boldsymbol{\Lambda}_{k}\left(\mathbf{x}_{n}-\boldsymbol{\mu}_{k}\right)\right\} rnk∝πk∣Λk∣1/2exp{−21(xn−μk)TΛk(xn−μk)}可以发现变分贝叶斯也是两个步迭代优化。
可以发现优化后,并不会出现GMM的奇点。我们看到,在收敛之后,只有两个分量的混合系数的期望值可以与它们的先验值(先验设置为一个很小的数)区分开。这种效果可以根据贝叶斯模型中数据拟合与模型复杂度之间的折中来定性地理解。这种模型中的复杂度惩罚的来源是参数被推离了它们的先验值。对于解释数据点没有作⽤的分量满⾜ r n k ≃ 0 r_{n k} \simeq 0 rnk≃0,从而 N k ≃ 0 N_{k} \simeq 0 Nk≃0,那么有些退化为先验值 α k ≃ α 0 \alpha_{k} \simeq \alpha_{0} αk≃α0。原则上,这些分量会微⼩地适应于数据点,但是对于⼀⼤类先验分布来说,这种微⼩的调整的效果太⼩了,以⾄于⽆法在数值上看出来。对于⾼斯混合模型,后验概率分布中的混合系数的期望值为 E [ π k ] = α k + N k K α 0 + N \mathbb{E}\left[\pi_{k}\right]=\frac{\alpha_{k}+N_{k}}{K \alpha_{0}+N} E[πk]=Kα0+Nαk+Nk考虑某个退化的分量 N k ≃ 0 N_{k} \simeq 0 Nk≃0 and α k ≃ α 0 \alpha_{k} \simeq \alpha_{0} αk≃α0,当 α 0 → 0 , \alpha_{0} \rightarrow 0, α0→0, then E [ π k ] → 0 \mathbb{E}\left[\pi_{k}\right] \rightarrow 0 E[πk]→0,此时该分量就不起作用,而 α 0 → ∞ , \alpha_{0} \rightarrow \infty, α0→∞, then E [ π k ] → 1 / K \mathbb{E}\left[\pi_{k}\right] \rightarrow 1/K E[πk]→1/K。之前狄利克雷分布的参数表示,当越小,则倾向让某些分量为0,从而本实验设置为 α 0 = 1 0 − 3 \alpha_{0}=10^{-3} α0=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 q ( Z ) ] − E [ ln q ( π ) ] − E [ ln q ( μ , Λ ) ] \begin{aligned} \mathcal{L}=& \sum_{\mathbf{Z}} \iiint q(\mathbf{Z}, \boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) \ln \left\{\frac{p(\mathbf{X}, \mathbf{Z}, \boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})}{q(\mathbf{Z}, \boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})}\right\} \mathrm{d} \boldsymbol{\pi} \mathrm{d} \boldsymbol{\mu} \mathrm{d} \boldsymbol{\Lambda} \\=& \mathbb{E}[\ln p(\mathbf{X}, \mathbf{Z}, \boldsymbol{\mu}, \boldsymbol{\mu}, \boldsymbol{\Lambda})]-\mathbb{E}[\ln q(\mathbf{Z}, \boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})] \\=& \mathbb{E}[\ln p(\mathbf{X} | \mathbf{Z}, \boldsymbol{\mu}, \boldsymbol{\Lambda})]+\mathbb{E}[\ln p(\mathbf{Z}, \boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})] \\ &-\mathbb{E}[\ln q(\mathbf{Z})]-\mathbb{E}[\ln q(\boldsymbol{\pi})]-\mathbb{E}[\ln q(\boldsymbol{\mu}, \boldsymbol{\Lambda})] \end{aligned} L===Z∑∭q(Z,π,μ,Λ)ln{q(Z,π,μ,Λ)p(X,Z,π,μ,Λ)}dπdμdΛE[lnp(X,Z,μ,μ,Λ)]−E[lnq(Z,π,μ,Λ)]E[lnp(X∣Z,μ,Λ)]+E[lnp(Z,π,μ,Λ)]−E[lnq(Z)]−E[lnq(π)]−E[lnq(μ,Λ)]
对于这些期望,由于模型有共轭先验,因此变分后验分布的函数形式是已知的。通过使⽤这些分布的⼀般的参数形式,我们可以推导出下界的形式,将下界作为概率分布的参数的函数。关于这些参数最⼤化下界就会得到所需的重估计⽅程。
为了得到预测分布,即预测 x ^ \widehat{\mathbf{x}} x , p ( x ^ ∣ X ) = ∑ z ^ ∭ p ( x ^ ∣ z ^ , μ , Λ ) p ( z ^ ∣ π ) p ( π , μ , Λ ∣ X ) d π d μ d Λ p(\widehat{\mathbf{x}} | \mathbf{X})=\sum_{\hat{\mathbf{z}}} \iiint p(\widehat{\mathbf{x}} | \widehat{\mathbf{z}}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) p(\widehat{\mathbf{z}} | \boldsymbol{\pi}) p(\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda} | \mathbf{X}) \mathrm{d} \boldsymbol{\pi} \mathrm{d} \boldsymbol{\mu} \mathrm{d} \boldsymbol{\Lambda} p(x ∣X)=z^∑∭p(x ∣z ,μ,Λ)p(z ∣π)p(π,μ,Λ∣X)dπdμdΛ其中 p ( π , μ , Λ ∣ X ) p(\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda} | \mathbf{X}) p(π,μ,Λ∣X)是未知的真实后验分布, p ( x ^ ∣ X ) = ∑ k = 1 K ∭ π k N ( x ^ ∣ μ k , Λ k − 1 ) p ( π , μ , Λ ∣ X ) d π d μ d Λ p(\widehat{\mathbf{x}} | \mathbf{X})=\sum_{k=1}^{K} \iiint \pi_{k} \mathcal{N}\left(\widehat{\mathbf{x}} | \boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}^{-1}\right) p(\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda} | \mathbf{X}) \mathrm{d} \boldsymbol{\pi} \mathrm{d} \boldsymbol{\mu} \mathrm{d} \boldsymbol{\Lambda} p(x ∣X)=k=1∑K∭πkN(x ∣μk,Λk−1)p(π,μ,Λ∣X)dπdμdΛ可以将真实后验用变分后验代替 p ( x ^ ∣ X ) = ∑ k = 1 K ∭ π k N ( x ^ ∣ μ k , Λ k − 1 ) q ( π ) q ( μ k , Λ k ) d π d μ k d Λ k p(\widehat{\mathbf{x}} | \mathbf{X})=\sum_{k=1}^{K} \iiint \pi_{k} \mathcal{N}\left(\widehat{\mathbf{x}} | \boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}^{-1}\right) q(\boldsymbol{\pi}) q\left(\boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}\right) \mathrm{d} \boldsymbol{\pi} \mathrm{d} \boldsymbol{\mu}_{k} \mathrm{d} \boldsymbol{\Lambda}_{k} p(x ∣X)=k=1∑K∭πkN(x ∣μk,Λk−1)q(π)q(μk,Λk)dπdμkdΛk从而可得一个student分布 p ( x ^ ∣ X ) = 1 α ^ ∑ k = 1 K α k St ( x ^ ∣ m k , L k , ν k + 1 − D ) p(\widehat{\mathbf{x}} | \mathbf{X})=\frac{1}{\widehat{\alpha}} \sum_{k=1}^{K} \alpha_{k} \operatorname{St}\left(\widehat{\mathbf{x}} | \mathbf{m}_{k}, \mathbf{L}_{k}, \nu_{k}+1-D\right) p(x ∣X)=α 1k=1∑KαkSt(x ∣mk,Lk,νk+1−D)其中 L k = ( ν k + 1 − D ) β k ( 1 + β k ) W k \mathbf{L}_{k}=\frac{\left(\nu_{k}+1-D\right) \beta_{k}}{\left(1+\beta_{k}\right)} \mathbf{W}_{k} Lk=(1+βk)(νk+1−D)βkWk
再推导变分更新时,一开始仅仅考虑 q ( Z , π , μ , Λ ) = q ( Z ) q ( π , μ , Λ ) q(\mathbf{Z}, \boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})=q(\mathbf{Z}) q(\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda}) q(Z,π,μ,Λ)=q(Z)q(π,μ,Λ)但是最优的结果又推导出一些新的分解 q ( π , μ , Λ ) = q ( π ) ∏ k = 1 K q ( μ k , Λ k ) q(\boldsymbol{\pi}, \boldsymbol{\mu}, \boldsymbol{\Lambda})=q(\boldsymbol{\pi}) \prod_{k=1}^{K} q\left(\boldsymbol{\mu}_{k}, \boldsymbol{\Lambda}_{k}\right) q(π,μ,Λ)=q(π)k=1∏Kq(μk,Λk)这些额外的分解的产⽣原因是假定的分解⽅式与真实分布的条件独⽴性质相互作⽤的结果,正如图模型所告诉的那样
我们会把这些额外的分解⽅式成为诱导分解(induced factorizations),因为它们产⽣于在变分后验分布中假定的分解⽅式与真实联合概率分布的条件独⽴性质之间的相互作⽤。在变分⽅法的数值实现中,考虑这些附加的分解⽅式很重要。例如,对于⼀组变量上的⾼斯分布来说,如果分布的最优形式的精度矩阵总是对⾓矩阵(对应于关于由那个⾼斯分布独⽴描述的变量的分解⽅式),那么在计算过程中始终保留⼀个完整的精度矩阵是⼀种很低效的做法。
使⽤⼀种基于d-划分的简单的图检测⽅法,这种诱导的分解⽅式可以很容易地被检测到。我们将潜在变量划分为三个互斥的组 A , B , C \mathbf{A}, \mathbf{B}, \mathbf{C} A,B,C,然后让我们假定我们可以在变量 C \mathbf{C} C与剩余变量之间进⾏分解,即 q ( A , B , C ) = q ( A , B ) q ( C ) q(\mathbf{A}, \mathbf{B}, \mathbf{C})=q(\mathbf{A}, \mathbf{B}) q(\mathbf{C}) q(A,B,C)=q(A,B)q(C)则 ln q ⋆ ( A , B ) = E C [ ln p ( X , A , B , C ) ] + const = E C [ ln p ( A , B ∣ X , C ) ] + const \begin{aligned} \ln q^{\star}(\mathbf{A}, \mathbf{B}) &=\mathbb{E}_{\mathbf{C}}[\ln p(\mathbf{X}, \mathbf{A}, \mathbf{B}, \mathbf{C})]+\text { const } \\ &=\mathbb{E}_{\mathbf{C}}[\ln p(\mathbf{A}, \mathbf{B} | \mathbf{X}, \mathbf{C})]+\text { const } \end{aligned} lnq⋆(A,B)=EC[lnp(X,A,B,C)]+ const =EC[lnp(A,B∣X,C)]+ const 那么此处我们可以考虑是否存在 q ⋆ ( A , B ) = q ⋆ ( A ) q ⋆ ( B ) q^{\star}(\mathbf{A}, \mathbf{B})=q^{\star}(\mathbf{A}) q^{\star}(\mathbf{B}) q⋆(A,B)=q⋆(A)q⋆(B),这仅仅发生在 ln p ( A , B ∣ X , C ) = ln p ( A ∣ X , C ) + ln p ( B ∣ X , C ) \ln p(\mathbf{A}, \mathbf{B} | \mathbf{X}, \mathbf{C})=\ln p(\mathbf{A} | \mathbf{X}, \mathbf{C})+\ln p(\mathbf{B} | \mathbf{X}, \mathbf{C}) lnp(A,B∣X,C)=lnp(A∣X,C)+lnp(B∣X,C),也就是说 A ⊥ B ∣ X , C \mathbf{A} \perp \mathbf{B} | \mathbf{X}, \mathbf{C} A⊥B∣X,C
作为变分推断的第⼆个例⼦,我们回到3.3节的贝叶斯线性回归模型中。在模型证据框架中,我们通过使⽤最⼤化似然函数的⽅法进⾏点估计,从⽽近似了在 α \alpha α和 β \beta β 上的积分。⼀个纯粹的贝叶斯⽅法会对所有的超参数和参数进⾏积分。虽然精确的积分是⽆法计算的,但是我们可以使⽤变分⽅法来找到⼀个可以处理的近似。为了简化讨论,我们会假设噪声精度参数 β \beta β 已知,并且固定于它的真实值,虽然这个框架很容易扩展来包含 β \beta β 上的概率分布。对于线性回归模型来说,可以证明变分⽅法等价于模型证据的框架。 p ( t ∣ w ) = ∏ n = 1 N N ( t n ∣ w T ϕ n , β − 1 ) p ( w ∣ α ) = N ( w ∣ 0 , α − 1 I ) \begin{aligned} p(\mathbf{t} | \mathbf{w}) &=\prod_{n=1}^{N} \mathcal{N}\left(t_{n} | \mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}_{n}, \beta^{-1}\right) \\ p(\mathbf{w} | \alpha) &=\mathcal{N}\left(\mathbf{w} | \mathbf{0}, \alpha^{-1} \mathbf{I}\right) \end{aligned} p(t∣w)p(w∣α)=n=1∏NN(tn∣wTϕn,β−1)=N(w∣0,α−1I)其中 ϕ n = ϕ ( x n ) \phi_{n}=\phi\left(\mathbf{x}_{n}\right) ϕn=ϕ(xn),取 α \alpha α的共轭先验 p ( α ) = Gam ( α ∣ a 0 , b 0 ) p(\alpha)=\operatorname{Gam}\left(\alpha | a_{0}, b_{0}\right) p(α)=Gam(α∣a0,b0)则 p ( t , w , α ) = p ( t ∣ w ) p ( w ∣ α ) p ( α ) p(\mathbf{t}, \mathbf{w}, \alpha)=p(\mathbf{t} | \mathbf{w}) p(\mathbf{w} | \alpha) p(\alpha) p(t,w,α)=p(t∣w)p(w∣α)p(α)
首要目标是找到一个对后验分布 p ( w , α ∣ t ) p(\mathbf{w}, \alpha | \mathbf{t}) p(w,α∣t)的近似,采用的变分分解为 q ( w , α ) = q ( w ) q ( α ) q(\mathbf{w}, \alpha)=q(\mathbf{w}) q(\alpha) q(w,α)=q(w)q(α)对 α \alpha α有 ln q ⋆ ( α ) = ln p ( α ) + E w [ ln p ( w ∣ α ) ] + const = ( a 0 − 1 ) ln α − b 0 α + M 2 ln α − α 2 E [ w T w ] + c o n s t . \begin{array}{l}{\ln q^{\star}(\alpha)=\ln p(\alpha)+\mathbb{E}_{\mathbf{w}}[\ln p(\mathbf{w} | \alpha)]+\text { const }} \\ {\quad=\left(a_{0}-1\right) \ln \alpha-b_{0} \alpha+\frac{M}{2} \ln \alpha-\frac{\alpha}{2} \mathbb{E}\left[\mathbf{w}^{\mathrm{T}} \mathbf{w}\right]+\mathrm{const.}}\end{array} lnq⋆(α)=lnp(α)+Ew[lnp(w∣α)]+ const =(a0−1)lnα−b0α+2Mlnα−2αE[wTw]+const.刚好为 q ⋆ ( α ) = Gam ( α ∣ a N , b N ) q^{\star}(\alpha)=\operatorname{Gam}\left(\alpha | a_{N}, b_{N}\right) q⋆(α)=Gam(α∣aN,bN)其中 a N = a 0 + M 2 b N = b 0 + 1 2 E [ w T w ] \begin{aligned} a_{N} &=a_{0}+\frac{M}{2} \\ b_{N} &=b_{0}+\frac{1}{2} \mathbb{E}\left[\mathbf{w}^{\mathrm{T}} \mathbf{w}\right] \end{aligned} aNbN=a0+2M=b0+21E[wTw]同理有 ln q ⋆ ( w ) = ln p ( t ∣ w ) + E α [ ln p ( w ∣ α ) ] + c o n s t = − β 2 ∑ n = 1 N { w T ϕ n − t n } 2 − 1 2 E [ α ] w T w + const = − 1 2 w T ( E [ α ] I + β Φ T Φ ) w + β w T Φ T t + const. \begin{aligned} \ln q^{\star}(\mathbf{w}) &=\ln p(\mathbf{t} | \mathbf{w})+\mathbb{E}_{\alpha}[\ln p(\mathbf{w} | \alpha)]+\mathrm{const} \\ &=-\frac{\beta}{2} \sum_{n=1}^{N}\left\{\mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}_{n}-t_{n}\right\}^{2}-\frac{1}{2} \mathbb{E}[\alpha] \mathbf{w}^{\mathrm{T}} \mathbf{w}+\text { const } \\ &=-\frac{1}{2} \mathbf{w}^{\mathrm{T}}\left(\mathbb{E}[\alpha] \mathbf{I}+\beta \mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi}\right) \mathbf{w}+\beta \mathbf{w}^{\mathrm{T}} \mathbf{\Phi}^{\mathrm{T}} \mathbf{t}+\text { const. } \end{aligned} lnq⋆(w)=lnp(t∣w)+Eα[lnp(w∣α)]+const=−2βn=1∑N{wTϕn−tn}2−21E[α]wTw+ const =−21wT(E[α]I+βΦTΦ)w+βwTΦTt+ const. 刚好为高斯 q ⋆ ( w ) = N ( w ∣ m N , S N ) q^{\star}(\mathbf{w})=\mathcal{N}\left(\mathbf{w} | \mathbf{m}_{N}, \mathbf{S}_{N}\right) q⋆(w)=N(w∣mN,SN)其中 m N = β S N Φ T t S N = ( E [ α ] I + β Φ T Φ ) − 1 \begin{aligned} \mathbf{m}_{N} &=\beta \mathbf{S}_{N} \mathbf{\Phi}^{\mathrm{T}} \mathbf{t} \\ \mathbf{S}_{N} &=\left(\mathbb{E}[\alpha] \mathbf{I}+\beta \mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi}\right)^{-1} \end{aligned} mNSN=βSNΦTt=(E[α]I+βΦTΦ)−1注意这个结果与 α \alpha α被当成固定参数时得到的后验概率分布 S N − 1 = α I + β Φ T Φ \mathbf{S}_{N}^{-1}=\alpha \mathbf{I}+\beta \boldsymbol{\Phi}^{\mathrm{T}} \mathbf{\Phi} SN−1=αI+βΦTΦ相似。又因 E [ α ] = a N / b N E [ w w T ] = m N m N T + S N \begin{aligned} \mathbb{E}[\alpha] &=a_{N} / b_{N} \\ \mathbb{E}\left[\mathbf{w} \mathbf{w}^{\mathrm{T}}\right] &=\mathbf{m}_{N} \mathbf{m}_{N}^{\mathrm{T}}+\mathbf{S}_{N} \end{aligned} E[α]E[wwT]=aN/bN=mNmNT+SN这样就可以迭代地更新变分后验。
当 a 0 = b 0 = 0 a_{0}=b_{0}=0 a0=b0=0时,对应于一个无限宽的 α \alpha α先验,那么 E [ α ] = a N b N = M / 2 E [ w T w ] / 2 = M m N T m N + Tr ( S N ) \mathbb{E}[\alpha]=\frac{a_{N}}{b_{N}}=\frac{M / 2}{\mathbb{E}\left[\mathbf{w}^{\mathrm{T}} \mathbf{w}\right] / 2}=\frac{M}{\mathbf{m}_{N}^{\mathrm{T}} \mathbf{m}_{N}+\operatorname{Tr}\left(\mathbf{S}_{N}\right)} E[α]=bNaN=E[wTw]/2M/2=mNTmN+Tr(SN)M变分⽅法得到的解与使⽤EM算法最⼤化模型证据函数的⽅法得到的解完全相同,唯⼀的区别是 α \alpha α的点估计被替换为了它的期望值。由于分布 q ( w ) q(\mathbf{w}) q(w)只通过期望 E [ α ] \mathbb{E}[\alpha] E[α]对 q ( α ) q(\alpha) q(α)产⽣依赖,因此我们看到这两种⽅法对于⽆限宽的先验概率分布会给出相同的结果。
p ( t ∣ x , t ) = ∫ p ( t ∣ x , w ) p ( w ∣ t ) d w ≃ ∫ p ( t ∣ x , w ) q ( w ) d w = ∫ N ( t ∣ w T ϕ ( x ) , β − 1 ) N ( w ∣ m N , S N ) d w = N ( t ∣ m N T ϕ ( x ) , σ 2 ( x ) ) \begin{aligned} p(t | \mathbf{x}, \mathbf{t}) &=\int p(t | \mathbf{x}, \mathbf{w}) p(\mathbf{w} | \mathbf{t}) \mathrm{d} \mathbf{w} \\ & \simeq \int p(t | \mathbf{x}, \mathbf{w}) q(\mathbf{w}) \mathrm{d} \mathbf{w} \\ &=\int \mathcal{N}\left(t | \mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}(\mathbf{x}), \beta^{-1}\right) \mathcal{N}\left(\mathbf{w} | \mathbf{m}_{N}, \mathbf{S}_{N}\right) \mathrm{d} \mathbf{w} \\ &=\mathcal{N}\left(t | \mathbf{m}_{N}^{\mathrm{T}} \boldsymbol{\phi}(\mathbf{x}), \sigma^{2}(\mathbf{x})\right) \end{aligned} p(t∣x,t)=∫p(t∣x,w)p(w∣t)dw≃∫p(t∣x,w)q(w)dw=∫N(t∣wTϕ(x),β−1)N(w∣mN,SN)dw=N(t∣mNTϕ(x),σ2(x))其中 σ 2 ( x ) = 1 β + ϕ ( x ) T S N ϕ ( x ) \sigma^{2}(\mathbf{x})=\frac{1}{\beta}+\boldsymbol{\phi}(\mathbf{x})^{\mathrm{T}} \mathbf{S}_{N} \boldsymbol{\phi}(\mathbf{x}) σ2(x)=β1+ϕ(x)TSNϕ(x)
另⼀个很重要的量是下界 L ( q ) = E [ ln p ( w , α , t ) ] − E [ ln q ( w , α ) ] = E w [ ln p ( t ∣ w ) ] + E w , α [ ln p ( w ∣ α ) ] + E α [ ln p ( α ) ] − E α [ ln q ( w ) ] w − E [ ln q ( α ) ] \begin{aligned} \mathcal{L}(q)=& \mathbb{E}[\ln p(\mathbf{w}, \alpha, \mathbf{t})]-\mathbb{E}[\ln q(\mathbf{w}, \alpha)] \\=& \mathbb{E}_{\mathbf{w}}[\ln p(\mathbf{t} | \mathbf{w})]+\mathbb{E}_{\mathbf{w}, \alpha}[\ln p(\mathbf{w} | \alpha)]+\mathbb{E}_{\alpha}[\ln p(\alpha)] \\ &-\mathbb{E}_{\alpha}[\ln q(\mathbf{w})]_{\mathbf{w}}-\mathbb{E}[\ln q(\alpha)] \end{aligned} L(q)==E[lnp(w,α,t)]−E[lnq(w,α)]Ew[lnp(t∣w)]+Ew,α[lnp(w∣α)]+Eα[lnp(α)]−Eα[lnq(w)]w−E[lnq(α)]使⽤之前章节得到的结果,计算各项的值是很容易的,结果为 E [ ln p ( t ∣ w ) ] w = N 2 ln ( β 2 π ) − β 2 t T t + β m N T Φ T t − β 2 Tr [ Φ T Φ ( m N m N T + S N ) ] \begin{aligned} \mathbb{E}[\ln p(\mathbf{t} | \mathbf{w})]_{\mathbf{w}}=& \frac{N}{2} \ln \left(\frac{\beta}{2 \pi}\right)-\frac{\beta}{2} \mathbf{t}^{\mathrm{T}} \mathbf{t}+\beta \mathbf{m}_{N}^{\mathrm{T}} \mathbf{\Phi}^{\mathrm{T}} \mathbf{t} \\ &-\frac{\beta}{2} \operatorname{Tr}\left[\mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi}\left(\mathbf{m}_{N} \mathbf{m}_{N}^{\mathrm{T}}+\mathbf{S}_{N}\right)\right] \end{aligned} E[lnp(t∣w)]w=2Nln(2πβ)−2βtTt+βmNTΦTt−2βTr[ΦTΦ(mNmNT+SN)] E [ ln p ( w ∣ α ) ] w , α = − M 2 ln ( 2 π ) + M 2 ( ψ ( a N ) − ln b N ) − a N 2 b N [ m N T m N + Tr ( S N ) ] \begin{aligned} \mathbb{E}[\ln p(\mathbf{w} | \alpha)]_{\mathbf{w}, \alpha}=&-\frac{M}{2} \ln (2 \pi)+\frac{M}{2}\left(\psi\left(a_{N}\right)-\ln b_{N}\right) \\ &-\frac{a_{N}}{2 b_{N}}\left[\mathbf{m}_{N}^{\mathrm{T}} \mathbf{m}_{N}+\operatorname{Tr}\left(\mathbf{S}_{N}\right)\right] \end{aligned} E[lnp(w∣α)]w,α=−2Mln(2π)+2M(ψ(aN)−lnbN)−2bNaN[mNTmN+Tr(SN)] E [ ln p ( α ) ] α = a 0 ln b 0 + ( a 0 − 1 ) [ ψ ( a N ) − ln b N ] − b 0 a N b N − ln Γ ( a N ) \begin{aligned} \mathbb{E}[\ln p(\alpha)]_{\alpha}=& a_{0} \ln b_{0}+\left(a_{0}-1\right)\left[\psi\left(a_{N}\right)-\ln b_{N}\right] \\ &-b_{0} \frac{a_{N}}{b_{N}}-\ln \Gamma\left(a_{N}\right) \end{aligned} E[lnp(α)]α=a0lnb0+(a0−1)[ψ(aN)−lnbN]−b0bNaN−lnΓ(aN) − E [ ln q ( w ) ] w = 1 2 ln ∣ S N ∣ + M 2 [ 1 + ln ( 2 π ) ] − E [ ln q ( α ) ] α = ln Γ ( a N ) − ( a N − 1 ) ψ ( a N ) − ln b N + a N \begin{aligned}-\mathbb{E}[\ln q(\mathbf{w})]_{\mathbf{w}} &=\frac{1}{2} \ln \left|\mathbf{S}_{N}\right|+\frac{M}{2}[1+\ln (2 \pi)] \\-\mathbb{E}[\ln q(\alpha)]_{\alpha} &=\ln \Gamma\left(a_{N}\right)-\left(a_{N}-1\right) \psi\left(a_{N}\right)-\ln b_{N}+a_{N} \end{aligned} −E[lnq(w)]w−E[lnq(α)]α=21ln∣SN∣+2M[1+ln(2π)]=lnΓ(aN)−(aN−1)ψ(aN)−lnbN+aN给出了下界 L ( q ) \mathcal{L}(q) L(q)与多项式模型的阶数的关系图像,数据集是从⼀个三阶多项式中⼈⼯⽣成的。这⾥,先验参数被设置为 a 0 = b 0 = 0 a_{0}=b_{0}=0 a0=b0=0,对应于⽆信息先验 p ( α ) ∝ 1 / α p(\alpha) \propto 1 / \alpha p(α)∝1/α。根据2.3.6节的讨论,它是 l n α ln\alpha lnα 上的均匀分布。正如我们在10.1节看到的那样, L \mathcal{L} L表⽰模型的对数边缘似然函数 p ( M ∣ t ) p(M | \mathbf{t}) p(M∣t)的下界。因此,变分框架将最⾼的概率赋予了 M = 3 M = 3 M=3的模型。这与最⼤似然的结果相反。最⼤似然⽅法通过增加模型的复杂度尽可能地让误差变⼩,直到误差趋于零,这导致了最⼤似然⽅法倾向于选择具有严重过拟合现象的模型。
考虑独⽴同分布数据的情形。我们将数据的值记作 X = { x n } \mathbf{X}=\left\{\mathbf{x}_{n}\right\} X={xn},其相应的隐变量为 Z = { z n } \mathbf{Z}=\left\{\mathbf{z}_{n}\right\} Z={zn},它们为指数族分布 p ( X , Z ∣ η ) = ∏ n = 1 N h ( x n , z n ) g ( η ) exp { η T u ( x n , z n ) } p(\mathbf{X}, \mathbf{Z} | \boldsymbol{\eta})=\prod_{n=1}^{N} h\left(\mathbf{x}_{n}, \mathbf{z}_{n}\right) g(\boldsymbol{\eta}) \exp \left\{\boldsymbol{\eta}^{\mathrm{T}} \mathbf{u}\left(\mathbf{x}_{n}, \mathbf{z}_{n}\right)\right\} p(X,Z∣η)=n=1∏Nh(xn,zn)g(η)exp{ηTu(xn,zn)}引入共轭先验 p ( η ∣ ν 0 , χ 0 ) = f ( ν 0 , χ 0 ) g ( η ) ν 0 exp { ν o η T χ 0 } p\left(\boldsymbol{\eta} | \nu_{0}, \boldsymbol{\chi}_{0}\right)=f\left(\nu_{0}, \boldsymbol{\chi}_{0}\right) g(\boldsymbol{\eta})^{\nu_{0}} \exp \left\{\nu_{o} \boldsymbol{\eta}^{\mathrm{T}} \boldsymbol{\chi}_{0}\right\} p(η∣ν0,χ0)=f(ν0,χ0)g(η)ν0exp{νoηTχ0}考虑变分分解为 q ( Z , η ) = q ( Z ) q ( η ) q(\mathbf{Z}, \boldsymbol{\eta})=q(\mathbf{Z}) q(\boldsymbol{\eta}) q(Z,η)=q(Z)q(η)则 ln q ⋆ ( Z ) = E η [ ln p ( X , Z ∣ η ) ] + const = ∑ n = 1 N { ln h ( x n , z n ) + E [ η T ] u ( x n , z n ) } + c o n s t . \begin{aligned} \ln q^{\star}(\mathbf{Z}) &=\mathbb{E}_{\eta}[\ln p(\mathbf{X}, \mathbf{Z} | \boldsymbol{\eta})]+\text { const } \\ &=\sum_{n=1}^{N}\left\{\ln h\left(\mathbf{x}_{n}, \mathbf{z}_{n}\right)+\mathbb{E}\left[\boldsymbol{\eta}^{\mathrm{T}}\right] \mathbf{u}\left(\mathbf{x}_{n}, \mathbf{z}_{n}\right)\right\}+\mathrm{const.} \end{aligned} lnq⋆(Z)=Eη[lnp(X,Z∣η)]+ const =n=1∑N{lnh(xn,zn)+E[ηT]u(xn,zn)}+const.那么可以诱导分解为 q ⋆ ( Z ) = ∏ n q ⋆ ( z n ) q^{\star}(\mathbf{Z})=\prod_{n} q^{\star}\left(\mathbf{z}_{n}\right) q⋆(Z)=∏nq⋆(zn)即 q ⋆ ( z n ) = h ( x n , z n ) g ( E [ η ] ) exp { E [ η T ] u ( x n , z n ) } q^{\star}\left(\mathbf{z}_{n}\right)=h\left(\mathbf{x}_{n}, \mathbf{z}_{n}\right) g(\mathbb{E}[\boldsymbol{\eta}]) \exp \left\{\mathbb{E}\left[\boldsymbol{\eta}^{\mathrm{T}}\right] \mathbf{u}\left(\mathbf{x}_{n}, \mathbf{z}_{n}\right)\right\} q⋆(zn)=h(xn,zn)g(E[η])exp{E[ηT]u(xn,zn)}同样地 ln q ⋆ ( η ) = ln p ( η ∣ ν 0 , χ 0 ) + E Z [ ln p ( X , Z ∣ η ) ] + const = ν 0 ln g ( η ) + η T χ 0 + ∑ n = 1 N { ln g ( η ) + η T E z n [ u ( x n , z n ) ] } + c o n s t . \begin{aligned} & \ln q^{\star}(\boldsymbol{\eta})=\ln p\left(\boldsymbol{\eta} | \nu_{0}, \boldsymbol{\chi}_{0}\right)+\mathbb{E}_{\mathbf{Z}}[\ln p(\mathbf{X}, \mathbf{Z} | \boldsymbol{\eta})]+\text { const } \\=& \nu_{0} \ln g(\boldsymbol{\eta})+\boldsymbol{\eta}^{\mathrm{T}} \boldsymbol{\chi}_{0}+\sum_{n=1}^{N}\left\{\ln g(\boldsymbol{\eta})+\boldsymbol{\eta}^{\mathrm{T}} \mathbb{E}_{\mathbf{z}_{n}}\left[\mathbf{u}\left(\mathbf{x}_{n}, \mathbf{z}_{n}\right)\right]\right\}+\mathrm{const.} \end{aligned} =lnq⋆(η)=lnp(η∣ν0,χ0)+EZ[lnp(X,Z∣η)]+ const ν0lng(η)+ηTχ0+n=1∑N{lng(η)+ηTEzn[u(xn,zn)]}+const.进而 q ⋆ ( η ) = f ( ν N , χ N ) g ( η ) ν N exp { η T χ N } q^{\star}(\boldsymbol{\eta})=f\left(\nu_{N}, \boldsymbol{\chi}_{N}\right) g(\boldsymbol{\eta})^{\nu_{N}} \exp \left\{\boldsymbol{\eta}^{\mathrm{T}} \boldsymbol{\chi}_{N}\right\} q⋆(η)=f(νN,χN)g(η)νNexp{ηTχN}其中 ν N = ν 0 + N χ N = χ 0 + ∑ n = 1 N E z n [ u ( x n , z n ) ] \begin{aligned} \nu_{N} &=\nu_{0}+N \\ \chi_{N} &=\chi_{0}+\sum_{n=1}^{N} \mathbb{E}_{\mathbf{z}_{n}}\left[\mathbf{u}\left(\mathbf{x}_{n}, \mathbf{z}_{n}\right)\right] \end{aligned} νNχN=ν0+N=χ0+n=1∑NEzn[u(xn,zn)]所以可以迭代地更新这两个变分分布。
我们通过详细讨论⼀个具体的模型来说明变分⽅法的应⽤,这个模型是⾼斯模型的贝叶斯混合。这个模型可以被表⽰为有向图。这⾥我们从更⼀般的⾓度来讨论由有向图描述的模型中对变分⽅法的使⽤,推导出⼀些具有⼴泛适⽤性的结果。
对于有向图有 p ( x ) = ∏ i p ( x i ∣ p a i ) p(\mathbf{x})=\prod_{i} p\left(\mathbf{x}_{i} | \mathrm{pa}_{i}\right) p(x)=i∏p(xi∣pai)其中 x i \mathbf x_i xi可能为观测变量也可能为隐变量,现在考虑一个变分近似 q ( x ) = ∏ i q i ( x i ) q(\mathbf{x})=\prod_{i} q_{i}\left(\mathbf{x}_{i}\right) q(x)=i∏qi(xi)注意,对于观测结点,在变分分布中没有因⼦ q i ( x i ) q_i(\mathbf x_i) qi(xi)。那么 ln q j ⋆ ( x j ) = E i ≠ j [ ∑ i ln p ( x i ∣ p a i ) ] + c o n s t . \ln q_{j}^{\star}\left(\mathrm{x}_{j}\right)=\mathbb{E}_{i \neq j}\left[\sum_{i} \ln p\left(\mathrm{x}_{i} | \mathrm{pa}_{i}\right)\right]+\mathrm{const.} lnqj⋆(xj)=Ei̸=j[i∑lnp(xi∣pai)]+const. q j ⋆ ( x j ) q_{j}^{\star}\left(\mathrm{x}_{j}\right) qj⋆(xj)所依赖的所有结点组成的集合对应于结点 x j \mathbf x_j xj的马尔科夫毯。也就是更新某一个节点只需要进行局部的计算即可。如果我们现在确定模型的形式,其中所有的条件概率分布都有⼀个共轭-指数族的结构,那么变分推断的过程可以被转化为局部信息传递算法(Winn and Bishop, 2005)。特别地,对于⼀个特定的结点来说,⼀旦它接收到了来⾃所有的⽗结点和所有的⼦结点的信息,那么与这个结点相关联的概率分布就可以被更新。这反过来需要⼦结点从它们的同⽗结点已经接收完毕信息。下界的计算也可以得到简化,因为许多必要的值已经作为信息传递框架的⼀部分计算完毕。分布的信息传递形式有很好的缩放性质,对于⼤的⽹络很合适。
10.1节和10.2节讨论的变分框架可以被看做“全局”⽅法。之所以这样说,是因为它直接寻找所有随机变量上的完整的后验概率分布的近似。另⼀种“局部”的⽅法涉及到寻找模型中的单独的变量或者变量组上定义的函数的界限。
对于凹函数有 f ( x ) = max λ { λ x − g ( λ ) } g ( λ ) = max x { λ x − f ( x ) } \begin{aligned} f(x) &=\max _{\lambda}\{\lambda x-g(\lambda)\} \\ g(\lambda) &=\max _{x}\{\lambda x-f(x)\} \end{aligned} f(x)g(λ)=λmax{λx−g(λ)}=xmax{λx−f(x)}凸函数有 f ( x ) = min λ { λ x − g ( λ ) } g ( λ ) = min x { λ x − f ( x ) } \begin{aligned} f(x) &=\min _{\lambda}\{\lambda x-g(\lambda)\} \\ g(\lambda) &=\min _{x}\{\lambda x-f(x)\} \end{aligned} f(x)g(λ)=λmin{λx−g(λ)}=