2. 变分推断
Reference:[变分推断PPT]
2.1 变分推断介绍
变分推断(Variational Inference,VI)是贝叶斯学习中常用的、含有隐变量模型的学习和推断方法。变分推断和马尔科夫链蒙特卡洛法(MCMC)属于不同的技巧:
MCMC通过随机抽样的方法近似地计算模型的后验概率(采样),适合小数据集以及精确度更重要的场景
变分推断通过解析的方法计算模型的后验概率的近似值(优化),适合大数据集以及想快速测试多种模型的场景
为什么关心后验概率 P ( θ ∣ X ) P(\theta\mid X) P ( θ ∣ X ) ?
推断(Beyesian Inference):后验分布 P ( θ ∣ X ) P(\theta \mid X) P ( θ ∣ X ) 包含了模型的重要信息,描述了数据样本产生的过程,例如从用户的观影历史评分信息 Y Y Y 中推断用户的偏好模型 θ \theta θ
决策(Beyesian Dicision Theory):对于新样本 x ~ \tilde{x} x ~ ,求 P ( x ~ ∣ X ) P(\tilde{x}\mid X) P ( x ~ ∣ X )
P ( x ~ ∣ X ) = ∫ θ P ( x ~ , θ ∣ X ) d θ = ∫ θ P ( x ~ ∣ θ ) P ( θ ∣ X ) d θ = E θ ∣ X [ P ( x ~ ∣ θ ) ] (62) \begin{aligned}
P(\tilde{x} \mid X)=& \int_{\theta} P(\tilde{x},\theta \mid X) \ \mathrm{d}\theta \\
=&\int_{\theta} P(\tilde{x} \mid \theta) P(\theta \mid X) \ \mathrm{d} \theta \\
=& E_{\theta \mid X} [P(\tilde{x}\mid \theta)] \\
\end{aligned}\tag{62} P ( x ~ ∣ X ) = = = ∫ θ P ( x ~ , θ ∣ X ) d θ ∫ θ P ( x ~ ∣ θ ) P ( θ ∣ X ) d θ E θ ∣ X [ P ( x ~ ∣ θ )] ( 62 )
被称为后验预测分布(Posterior predictive distribution),例如根据用户的历史评分信息 X X X 预测用户对于新电影 x ~ \tilde{x} x ~ 的评分
2.2 变分推断推导
贝叶斯参数学习问题的描述:
X X X 观测数据
Z Z Z 隐变量+参数
θ \theta θ 超参数
注意,这里的符号表示和 EM 算法中的表述有区别,贝叶斯参数学习需要推断的是 Z Z Z 中的参数,及学习后验分布 P ( Z ∣ θ ) P(Z\mid \theta) P ( Z ∣ θ )
首先是 evidence 的分解
log P ( X ∣ θ ) ⏟ e v i d e n c e = ∫ Z q ( Z ) log P ( X , Z ∣ θ ) q ( Z ) d Z ⏟ E L B O + ∫ Z q ( Z ) log q ( Z ) P ( Z ∣ X , θ ) d Z ⏟ K L ( q ( Z ) ∣ ∣ P ( Z ∣ X , θ ) ) (63) \begin{aligned}
\underbrace{\log P(X\mid \theta)}_{\mathrm{evidence}} &= \underbrace{\int_{Z} q(Z) \log \frac{P(X,Z\mid \theta)}{q(Z)} \ \mathrm{d}Z}_{\mathrm{ELBO}}+\underbrace{\int_Z q(Z)\log \frac{q(Z)}{P(Z\mid X,\theta)} \ \mathrm{d}Z}_{\mathrm{KL}(q(Z)\mid\mid P(Z\mid X,\theta))}\\
\end{aligned}\tag{63} evidence log P ( X ∣ θ ) = ELBO ∫ Z q ( Z ) log q ( Z ) P ( X , Z ∣ θ ) d Z + KL ( q ( Z ) ∣∣ P ( Z ∣ X , θ )) ∫ Z q ( Z ) log P ( Z ∣ X , θ ) q ( Z ) d Z ( 63 )
当我们知道超参数 θ \theta θ 时,上式中 evidence 应是固定的,因为 log P ( X ∣ θ ) = log ∑ Z P ( X , Z ∣ θ ) \log P(X\mid \theta) = \log \sum_Z P(X, Z\mid \theta) log P ( X ∣ θ ) = log ∑ Z P ( X , Z ∣ θ ) ,虽然这个值通常求不出来。
变分推断的目标是通过最小化 K L ( q ( Z ) ∣ ∣ P ( Z ∣ X , θ ) ) \mathrm{KL}(q(Z) \mid \mid P(Z\mid X,\theta)) KL ( q ( Z ) ∣∣ P ( Z ∣ X , θ )) 来寻找与后验分布 P ( Z ∣ X , θ ) P(Z\mid X,\theta) P ( Z ∣ X , θ ) 最相似的变分分布 q ( Z ) q(Z) q ( Z ) 。
q(Z)^* = \arg \min_{q(Z)} \mathrm{KL}(q(Z) \mid \mid P(Z\mid X,\theta))\tag{64}
后验分布 P ( Z ∣ X , θ ) P(Z\mid X,\theta) P ( Z ∣ X , θ ) 太复杂,直接估计其密度很困难,但利用 KL 散度和 ELBO 的和为常数,可以转而求
q ( Z ) ∗ = arg min q ( Z ) K L ( q ( Z ) ∣ ∣ P ( Z ∣ X , θ ) ) = arg max q ( Z ) E L B O = arg max q ( Z ) ∫ Z q ( Z ) log P ( X , Z ∣ θ ) q ( Z ) d Z = arg max q ( Z ) ∫ Z q ( Z ) log P ( X , Z ∣ θ ) d Z − ∫ Z q ( Z ) log q ( Z ) d Z = arg max q ( Z ) E q ( Z ) [ log P ( X , Z ∣ θ ) ] − E q ( Z ) [ log q ( Z ) ] (65) \begin{aligned}
q(Z)^* =& \arg \min_{q(Z)} \mathrm{KL}(q(Z)\mid \mid P(Z\mid X,\theta)) \\
=&\arg \max_{q(Z)} \mathrm{ELBO}\\
=&\arg \max_{q(Z)} \int_Z q(Z)\log \frac{P(X,Z\mid \theta)}{q(Z)}\ \mathrm{d} Z\\
=&\arg \max_{q(Z)} \int_Z q(Z)\log P(X,Z\mid \theta) \ \mathrm{d}Z - \int_Z q(Z)\log q(Z) \ \mathrm{d} Z\\
=&\arg \max_{q(Z)} E_{q(Z)}[\log P(X,Z\mid \theta)]-E_{q(Z)}[\log q(Z)]
\end{aligned}\tag{65} q ( Z ) ∗ = = = = = arg q ( Z ) min KL ( q ( Z ) ∣∣ P ( Z ∣ X , θ )) arg q ( Z ) max ELBO arg q ( Z ) max ∫ Z q ( Z ) log q ( Z ) P ( X , Z ∣ θ ) d Z arg q ( Z ) max ∫ Z q ( Z ) log P ( X , Z ∣ θ ) d Z − ∫ Z q ( Z ) log q ( Z ) d Z arg q ( Z ) max E q ( Z ) [ log P ( X , Z ∣ θ )] − E q ( Z ) [ log q ( Z )] ( 65 )
变分分布 q ( Z ) q(Z) q ( Z ) 有多种参数化方法,要求参数化后的 q ( Z ) q(Z) q ( Z ) 使得上述优化问题容易求解,一种常用的方法是假设 q ( Z ) q(Z) q ( Z ) 对 Z = ( Z 1 , Z 2 , … , Z d ) Z=(Z_1,Z_2,\dots,Z_d) Z = ( Z 1 , Z 2 , … , Z d ) 的所有分量 Z j Z_j Z j 都是相互独立的(实际是条件独立于参数),即满足
q(Z) = q(Z_1)\cdot q(Z_2)\cdots q(Z_d)\tag{66}
这时的变分分布被称为满足平均场(mean field)假设。
KL 散度的最小化或 ELBO 的最大化实际是在平均场的集合,即满足独立假设的分布集合 Q = { q ( Z ) ∣ q ( Z ) = ∏ j = 1 d q ( Z j ) } Q=\{q(Z) \mid q(Z) =\prod_{j=1}^d q(Z_j)\} Q = { q ( Z ) ∣ q ( Z ) = ∏ j = 1 d q ( Z j )} 之中进行的
q(Z)^* = \arg \max_{q(Z)\in Q} E_{q(Z)}[\log P(X,Z\mid \theta)]-E_{q(Z)}[\log q(Z)] \tag{67} Reference:[intermediate_vb, PRML chapter 10]
现在我们将目标函数重新写为
E L B O = ∫ q ϕ ( z ) log ( p ( x , z ) q ϕ ( z ) ) d z = ∫ q ϕ ( z ) log ( p ( x , z ) ) d z − ∫ q ϕ ( z ) log ( q ϕ ( z ) ) d z = ∫ ∏ i = 1 M q i ( z i ) log ( p ( x , z ) ) d z ⏟ − H ( q , p ) + ( − ∫ ∏ j = 1 M q j ( z j ) ∑ i = 1 M log ( q i ( z i ) ) d z ) ⏟ H ( q ) (68) \begin{aligned}
\mathrm{ELBO}=&\int q_{\phi}(\mathbf{z}) \log \left(\frac{p(\mathbf{x},\mathbf{z})}{q_{\phi}(\mathbf{z})}\right)\mathrm{d}\mathbf{z}\\
=&\int q_{\phi}(\mathbf{z}) \log (p(\mathbf x, \mathbf z))\mathrm d \mathbf z - \int q_{\phi}(\mathbf z)\log(q_{\phi}(\mathbf z))\mathrm d \mathbf z\\
=&\underbrace{\int \prod_{i=1}^M q_i(z_i)\log(p(\mathbf x, \mathbf z))\mathrm d \mathbf z}_{-H(q, p)} + \underbrace{\left(-\int \prod_{j=1}^M q_j (z_j) \sum_{i=1}^M \log (q_i(z_i))\mathrm d \mathbf z\right)}_{H(q)}
\end{aligned}\tag{68} ELBO = = = ∫ q ϕ ( z ) log ( q ϕ ( z ) p ( x , z ) ) d z ∫ q ϕ ( z ) log ( p ( x , z )) d z − ∫ q ϕ ( z ) log ( q ϕ ( z )) d z − H ( q , p ) ∫ i = 1 ∏ M q i ( z i ) log ( p ( x , z )) d z + H ( q ) ( − ∫ j = 1 ∏ M q j ( z j ) i = 1 ∑ M log ( q i ( z i )) d z ) ( 68 )
首先考虑第一部分 − H ( q , p ) -H(q,p) − H ( q , p )
− H ( q , p ) = ∫ ∏ i = 1 M q i ( z i ) log ( p ( x , z ) ) d z = ∫ Z 1 ∫ Z 2 ⋯ ∫ Z M ∏ i = 1 M q i ( z i ) log ( p ( x , z ) ) d z 1 d z 2 ⋯ d z M (69) \begin{aligned}
-H(q,p)=&\int \prod_{i=1}^M q_i (z_i)\log (p(\mathbf x, \mathbf z)) \mathrm d \mathbf z \\
=&\int_{Z_1}\int_{Z_2}\cdots\int_{Z_M} \prod_{i=1}^M q_i(z_i)\log(p(\mathbf x, \mathbf z))\mathrm d \mathbf{z}_1 \mathrm d \mathbf{z}_2 \cdots \mathrm d \mathbf{z}_M
\end{aligned} \tag{69} − H ( q , p ) = = ∫ i = 1 ∏ M q i ( z i ) log ( p ( x , z )) d z ∫ Z 1 ∫ Z 2 ⋯ ∫ Z M i = 1 ∏ M q i ( z i ) log ( p ( x , z )) d z 1 d z 2 ⋯ d z M ( 69 )
只考虑其中一项 q j ( z j ) q_j(z_j) q j ( z j )
− H ( q , p ) j = ∫ Z j q j ( z j ) ( ∫ ⋯ ∫ Z i ≠ j ∏ i ≠ j M q i ( z i ) log ( p ( x , z ) ) ∏ i ≠ j M d z i ) d z j = ∫ Z j q j ( z j ) E z \ z j [ log ( p ( x , z ) ) ] d z j (70) \begin{aligned}
-H(q,p)_j = &\underset{Z_j}{\int} q_j(z_j)\left(\underset{Z_{i\neq j}}{\int \cdots \int} \prod_{i\neq j}^M q_i(z_i) \log (p(\mathbf x, \mathbf z)) \prod_{i\neq j}^M \mathrm d z_i\right)\mathrm d z_j \\
=&\underset{Z_j}{\int} q_j(z_j) \mathbb{E}_{\mathbf{z} \backslash z_j}[\log (p(\mathbf x, \mathbf z))] \mathrm{d} z_j
\end{aligned} \tag{70} − H ( q , p ) j = = Z j ∫ q j ( z j ) Z i = j ∫ ⋯ ∫ i = j ∏ M q i ( z i ) log ( p ( x , z )) i = j ∏ M d z i d z j Z j ∫ q j ( z j ) E z \ z j [ log ( p ( x , z ))] d z j ( 70 )
再考虑第二部分 H ( q ) H(q) H ( q )
H ( q ) = − ∫ ( ∏ i = 1 M q i ( z i ) ) ∑ i = 1 M log ( q i ( z i ) ) d z = ∑ i = 1 M ( − ∫ Z i q i ( z i ) log ( q i ( z i ) ) d z i ) = ∑ i = 1 M H ( q i ( z i ) ) (71) \begin{aligned}
H(q)=&-\int \left(\prod_{i=1}^M q_i (z_i)\right) \sum_{i=1}^M \log (q_i(z_i))\mathrm d \mathbf z\\
=&\sum_{i=1}^M \left(-\underset{Z_i}{\int} q_i(z_i) \log (q_i(z_i)) \mathrm{d} z_i\right)\\
=& \sum_{i=1}^M H(q_i(z_i))
\end{aligned}\tag{71} H ( q ) = = = − ∫ ( i = 1 ∏ M q i ( z i ) ) i = 1 ∑ M log ( q i ( z i )) d z i = 1 ∑ M − Z i ∫ q i ( z i ) log ( q i ( z i )) d z i i = 1 ∑ M H ( q i ( z i )) ( 71 )
仅考虑其中一项 q j ( z j ) q_j(z_j) q j ( z j )
H ( q ) j = − ∫ Z j q j ( z j ) log ( q j ( z j ) ) d z j + C o n s t . = H ( q j ( z j ) ) + C o n s t . (72) \begin{aligned}
H(q)_j =& -\underset{Z_j}{\int} q_j(z_j) \log (q_j(z_j))\mathrm{d} z_j + \mathrm{Const.}\\
=&H(q_j(z_j))+\mathrm{Const.}
\end{aligned}\tag{72} H ( q ) j = = − Z j ∫ q j ( z j ) log ( q j ( z j )) d z j + Const. H ( q j ( z j )) + Const. ( 72 )
针对 ELBO 只考虑优化 q j q_j q j
E L B O ( q j ) = − H ( q , p ) j + H ( q ) j = ∫ Z j q j ( z j ) E z \ z j [ log ( p ( x , z ) ) ] d z j − ∫ Z j q j ( z j ) log ( q j ( z j ) ) d z j + C o n s t .1 = ∫ Z j q j ( z j ) log p ~ ( x , z j ) d z j − ∫ Z j q j ( z j ) log ( q j ( z j ) ) d z j + C o n s t .2 = ∫ Z j q j ( z j ) log [ p ~ ( x , z j ) q j ( z j ) ] d z j + C o n s t .2 = − K L ( q j ( z j ) ∣ ∣ p ~ ( x , z j ) ) + C o n s t .2 (73) \begin{aligned}
\mathrm{ELBO}(q_j)=& -H(q,p)_j + H(q)_j\\
=&\underset{Z_j}{\int} q_j(z_j) \mathbb{E}_{\mathbf{z} \backslash z_j}[\log (p(\mathbf{x},\mathbf{z}))]\mathrm{d} z_j-\underset{Z_j}{\int} q_j(z_j) \log (q_j(z_j))\mathrm{d} z_j +\mathrm{Const. 1} \\
=& \underset{Z_j}{\int} q_j(z_j) \log{\tilde{p}(\mathbf{x},z_j)} \mathrm{d} z_j - \underset{Z_j}{\int} q_j(z_j) \log (q_j(z_j))\mathrm{d} z_j +\mathrm{Const. 2}\\
=& \underset{Z_j}{\int} q_j(z_j)\log \left[\frac{\tilde{p}(\mathbf{x},z_j)}{q_j(z_j)}\right]\mathrm{d} z_j + \mathrm{Const. 2} \\
=& -\mathbb{KL}\left(q_j(z_j) \mid \mid \tilde{p}(\mathbf{x},z_j) \right) + \mathrm{Const. 2}
\end{aligned} \tag{73} ELBO ( q j ) = = = = = − H ( q , p ) j + H ( q ) j Z j ∫ q j ( z j ) E z \ z j [ log ( p ( x , z ))] d z j − Z j ∫ q j ( z j ) log ( q j ( z j )) d z j + Const.1 Z j ∫ q j ( z j ) log p ~ ( x , z j ) d z j − Z j ∫ q j ( z j ) log ( q j ( z j )) d z j + Const.2 Z j ∫ q j ( z j ) log [ q j ( z j ) p ~ ( x , z j ) ] d z j + Const.2 − KL ( q j ( z j ) ∣∣ p ~ ( x , z j ) ) + Const.2 ( 73 )
这里我们定义了一个新分布 p ~ ( x , z j ) \tilde{p}(\mathbf{x},z_j) p ~ ( x , z j )
\log \tilde{p}(\mathbf{x},z_j) = \mathbb{E}_{\mathbf{z} \backslash z_j}[\log (p(\mathbf{x},\mathbf{z}))] + \mathrm{Const.} \tag{74}
因此我们可以通过最小化下述 KL 散度来最大化 ELBO,而 KL 散度的性质可知其值为零时最小,即 q j ∗ = p ~ ( x , z j ) q_j^* = \tilde{p}(\mathbf{x},z_j) q j ∗ = p ~ ( x , z j )
\log q_j^*(z_j) = \mathbb{E}_{\mathbf{z}\backslash z_j}[\log(p(\mathbf{x},\mathbf{z}))] + \mathrm{Const.} \tag{75} 注意此处的 exp ( E z \ z j [ log ( p ( x , z ) ) ] ) \exp(\mathbb{E}_{\mathbf{z}\backslash z_j}[\log(p(\mathbf{x},\mathbf{z}))]) exp ( E z \ z j [ log ( p ( x , z ))]) 是伪概率分布(pseudo distribution),只能满足概率分布的非负性而不能保证具有归一性,常数项为归一化常数 ∫ exp ( E z \ z j [ log ( p ( x , z ) ) ] ) d z j \int \exp(\mathbb{E}_{\mathbf{z}\backslash z_j}[\log(p(\mathbf{x},\mathbf{z}))]) \mathrm{d} z_j ∫ exp ( E z \ z j [ log ( p ( x , z ))]) d z j ,保证 p ~ \tilde{p} p ~ 的归一性和非负性,因此有
q_j^*(z_j)=\frac{\exp(\mathbb{E}_{\mathbf{z}\backslash z_j}[\log(p(\mathbf{x},\mathbf{z}))])}{\int \exp(\mathbb{E}_{\mathbf{z}\backslash z_j}[\log(p(\mathbf{x},\mathbf{z}))]) \mathrm{d} z_j} \tag{76}
2.3 Gaussian-Gamma
可观测变量为 D = { x 1 , … , x n } \mathcal{D = \{x_1,\dots, x_n\}} D = { x 1 , … , x n } ,似然为
p ( D ∣ μ , τ ) = ∏ i = 1 n ( τ 2 π ) 1 2 exp ( − τ 2 ( x i − μ ) 2 ) = ( τ 2 π ) n 2 exp ( − τ 2 ∑ i = 1 n ( x i − μ ) 2 ) (77) \begin{aligned}
p(\mathcal{D}\mid \mu, \tau) &= \prod_{i=1}^n \left(\frac{\tau}{2\pi}\right)^{\frac{1}{2}}\exp \left(\frac{-\tau}{2}(x_i - \mu)^2\right)\\
&= \left(\frac{\tau}{2\pi}\right)^{\frac{n}{2}} \exp \left(\frac{-\tau}{2} \sum_{i=1}^n (x_i - \mu)^2\right)
\end{aligned}\tag{77} p ( D ∣ μ , τ ) = i = 1 ∏ n ( 2 π τ ) 2 1 exp ( 2 − τ ( x i − μ ) 2 ) = ( 2 π τ ) 2 n exp ( 2 − τ i = 1 ∑ n ( x i − μ ) 2 ) ( 77 )
假设先验为
p ( μ ∣ τ ) = N ( μ 0 , ( λ 0 τ ) − 1 ) ∝ exp ( − λ 0 τ 2 ( μ − μ 0 ) 2 ) p ( τ ) = G a m m a ( τ ∣ a 0 , b 0 ) ∝ τ a 0 − 1 exp ( − b 0 τ ) (78) \begin{aligned}
p(\mu\mid \tau) &= \mathcal{N}(\mu_0, (\lambda_0 \tau)^{-1})\propto \exp \left(\frac{-\lambda_0 \tau}{2}(\mu-\mu_0)^2\right)\\
p(\tau) &= \mathrm{Gamma}(\tau\mid a_0,b_0) \propto \tau^{a_0-1}\exp(-b_0 \tau)
\end{aligned}\tag{78} p ( μ ∣ τ ) p ( τ ) = N ( μ 0 , ( λ 0 τ ) − 1 ) ∝ exp ( 2 − λ 0 τ ( μ − μ 0 ) 2 ) = Gamma ( τ ∣ a 0 , b 0 ) ∝ τ a 0 − 1 exp ( − b 0 τ ) ( 78 )
利用共轭性质可以计算解析后验(在2.4节介绍)
p ( μ , τ ∣ D ) ∝ p ( D ∣ μ , τ ) p ( μ ∣ τ ) p ( τ ) = N ( μ n , ( λ n τ ) − 1 ) G a m m a ( τ ∣ a n , b n ) (79) \begin{aligned}
p(\mu,\tau \mid \mathcal{D}) \propto& p(\mathcal{D}\mid \mu, \tau)p(\mu \mid \tau) p(\tau)\\
=& \mathcal{N} (\mu_n, (\lambda_n \tau)^{-1}) \mathrm{Gamma}(\tau \mid a_n, b_n)\\
\end{aligned}\tag{79} p ( μ , τ ∣ D ) ∝ = p ( D ∣ μ , τ ) p ( μ ∣ τ ) p ( τ ) N ( μ n , ( λ n τ ) − 1 ) Gamma ( τ ∣ a n , b n ) ( 79 )
此处
μ n = λ 0 μ 0 + n x ˉ λ 0 + n λ n = λ 0 + n a n = a 0 + n 2 b n = b 0 + 1 2 ∑ i = 1 n ( x i − x ˉ ) 2 + λ 0 n ( x ˉ − μ 0 ) 2 2 ( λ 0 + n ) (80) \begin{aligned}
\mu_n &= \frac{\lambda_0 \mu_0 + n\bar x}{\lambda_0 + n}\\
\lambda_n &= \lambda_0 +n \\
a_n &= a_0 + \frac{n}{2}\\
b_n &= b_0 + \frac{1}{2} \sum_{i=1}^n (x_i - \bar x)^2 + \frac{\lambda_0 n (\bar x -\mu_0)^2}{2(\lambda_0 + n)}
\end{aligned} \tag{80} μ n λ n a n b n = λ 0 + n λ 0 μ 0 + n x ˉ = λ 0 + n = a 0 + 2 n = b 0 + 2 1 i = 1 ∑ n ( x i − x ˉ ) 2 + 2 ( λ 0 + n ) λ 0 n ( x ˉ − μ 0 ) 2 ( 80 )
但是如果我们不能计算其解析后验,可用变分推断来近似其后验。假设变分分布 q ( z ) q(\mathbf{z}) q ( z ) 为
q ( μ , τ ) = q μ ( μ ) q τ ( τ ) (81) \begin{aligned}
q(\mu, \tau) &= q_{\mu}(\mu) q_{\tau} (\tau)
\end{aligned}\tag{81} q ( μ , τ ) = q μ ( μ ) q τ ( τ ) ( 81 )
利用式(75)得出的结论
log q μ ∗ ( μ ) = E q τ ( τ ) [ log p ( μ , τ , D ) ] = E q τ ( τ ) [ log p ( D ∣ μ , τ ) + log p ( μ ∣ τ ) ] + C o n s t . = E q τ ( τ ) [ n 2 log τ − τ 2 ∑ i = 1 n ( x i − μ ) 2 − λ 0 τ 2 ( μ − μ 0 ) 2 ] + C o n s t . = − 1 2 E q τ [ τ ] [ ∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] ⏟ terms taking out of τ + C o n s t . (82) \begin{aligned}
\log q_{\mu}^*(\mu)&= \mathbb{E}_{q_{\tau}(\tau)} \left[\log p(\mu, \tau, \mathcal{D})\right]\\
&= \mathbb{E}_{q_{\tau}(\tau)} \left[\log p(\mathcal{D} \mid \mu, \tau) + \log p(\mu\mid \tau)\right] + \mathrm{Const.}\\
&= \mathbb{E}_{q_{\tau}(\tau)} \left[\frac{n}{2} \log \tau - \frac{\tau}{2} \sum_{i=1}^n (x_i - \mu)^2 - \frac{\lambda_0 \tau}{2} (\mu- \mu_0)^2\right] + \mathrm{Const.}\\
&= -\frac{1}{2} \mathbb{E}_{q_{\tau}}[\tau] \underbrace{\left[\sum_{i=1}^n (x_i - \mu)^2 + \lambda_0 (\mu-\mu_0)^2 \right]}_{\text{terms taking out of } \tau} + \mathrm{Const.}
\end{aligned} \tag{82} log q μ ∗ ( μ ) = E q τ ( τ ) [ log p ( μ , τ , D ) ] = E q τ ( τ ) [ log p ( D ∣ μ , τ ) + log p ( μ ∣ τ ) ] + Const. = E q τ ( τ ) [ 2 n log τ − 2 τ i = 1 ∑ n ( x i − μ ) 2 − 2 λ 0 τ ( μ − μ 0 ) 2 ] + Const. = − 2 1 E q τ [ τ ] terms taking out of τ [ i = 1 ∑ n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] + Const. ( 82 )
将中括号内式子展开,形成高斯分布 N ( μ ; μ ∗ , τ ∗ ) \mathcal{N}(\mu; \mu^*, \tau^*) N ( μ ; μ ∗ , τ ∗ ) 的形式(如果一个连续随机变量的对数概率密度函数是关于该变量的严格负二次函数,并且该函数可以被正规化(即对应的密度可积且积分有限),那么该随机变量必定服从高斯分布)
∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 = n μ 2 − 2 n μ x ˉ + λ 0 μ 2 − 2 λ 0 μ 0 μ + C o n s t . = ( n + λ 0 ) μ 2 − 2 μ ( n x ‾ + λ 0 μ 0 ) + C o n s t . = ( n + λ 0 ) ( μ 2 − 2 μ ( n x ‾ + λ 0 μ 0 ) n + λ 0 ) + C o n s t . = ( n + λ 0 ) ( μ − n x ‾ + λ 0 μ 0 n + λ 0 ) 2 + C o n s t . (83) \begin{aligned}
\sum_{i=1}^n\left(x_i-\mu\right)^2+\lambda_0\left(\mu-\mu_0\right)^2 & =n \mu^2-2 n \mu \bar{\mathbf{x}}+\lambda_0 \mu^2-2 \lambda_0 \mu_0 \mu+\mathrm { Const. } \\
& =\left(n+\lambda_0\right) \mu^2-2 \mu\left(n \overline{\mathbf{x}}+\lambda_0 \mu_0\right) + \mathrm { Const. }\\
& =\left(n+\lambda_0\right)\left(\mu^2-\frac{2 \mu\left(n \overline{\mathbf{x}}+\lambda_0 \mu_0\right)}{n+\lambda_0}\right)+ \mathrm { Const. }\\
& =\left(n+\lambda_0\right)\left(\mu-\frac{n \overline{\mathbf{x}}+\lambda_0 \mu_0}{n+\lambda_0}\right)^2+\mathrm { Const. }
\end{aligned}\tag{83} i = 1 ∑ n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 = n μ 2 − 2 n μ x ˉ + λ 0 μ 2 − 2 λ 0 μ 0 μ + Const. = ( n + λ 0 ) μ 2 − 2 μ ( n x + λ 0 μ 0 ) + Const. = ( n + λ 0 ) ( μ 2 − n + λ 0 2 μ ( n x + λ 0 μ 0 ) ) + Const. = ( n + λ 0 ) ( μ − n + λ 0 n x + λ 0 μ 0 ) 2 + Const. ( 83 )
因此我们有
log q μ ∗ ( μ ) = − E q τ [ τ ] 2 [ ∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] + C o n s t . = − E q τ [ τ ] ( n + λ 0 ) 2 ( μ − n x ‾ + λ 0 μ 0 n + λ 0 ) 2 + C o n s t . = − 1 2 E q τ [ τ ] ( n + λ 0 ) ⏟ τ ∗ ( μ − n x ‾ + λ 0 μ 0 n + λ 0 ⏟ μ ∗ ) 2 + C o n s t . ⟹ q μ ∗ ( μ ) = N ( n x ‾ + λ 0 μ 0 n + λ 0 , E q τ [ τ ] ( n + λ 0 ) ) ∵ − τ 2 ( x − μ ) 2 (84) \begin{aligned}
\log q_\mu^*(\mu) & =-\frac{\mathbb{E}_{q_\tau}[\tau]}{2}\left[\sum_{i=1}^n\left(x_i-\mu\right)^2+\lambda_0\left(\mu-\mu_0\right)^2\right]+\mathrm { Const. } \\
& =-\frac{\mathbb{E}_{q_\tau}[\tau]\left(n+\lambda_0\right)}{2}\left(\mu-\frac{n \overline{\mathbf{x}}+\lambda_0 \mu_0}{n+\lambda_0}\right)^2+\mathrm { Const. }\\
& =-\frac{1}{2} \underbrace{\mathbb{E}_{q_\tau}[\tau]\left(n+\lambda_0\right)}_{\tau^*}\left(\mu-\underbrace{\frac{n \overline{\mathbf{x}}+\lambda_0 \mu_0}{n+\lambda_0}}_{\mu^*}\right)^2+\mathrm { Const. } \\
\Longrightarrow q_\mu^*(\mu) & =\mathcal{N}\left(\frac{n \overline{\mathbf{x}}+\lambda_0 \mu_0}{n+\lambda_0}, \mathbb{E}_{q_\tau}[\tau]\left(n+\lambda_0\right)\right) \quad \because-\frac{\tau}{2}(x-\mu)^2
\end{aligned}\tag{84} log q μ ∗ ( μ ) ⟹ q μ ∗ ( μ ) = − 2 E q τ [ τ ] [ i = 1 ∑ n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] + Const. = − 2 E q τ [ τ ] ( n + λ 0 ) ( μ − n + λ 0 n x + λ 0 μ 0 ) 2 + Const. = − 2 1 τ ∗ E q τ [ τ ] ( n + λ 0 ) μ − μ ∗ n + λ 0 n x + λ 0 μ 0 2 + Const. = N ( n + λ 0 n x + λ 0 μ 0 , E q τ [ τ ] ( n + λ 0 ) ) ∵ − 2 τ ( x − μ ) 2 ( 84 )
利用式(82),去掉期望符号 E q τ [ ⋅ ] \mathbb{E}_{q_{\tau}}[\cdot] E q τ [ ⋅ ] ,我们还可以得到 p ( μ ∣ D , τ ) p(\mu \mid \mathcal{D}, \tau) p ( μ ∣ D , τ ) (注意,删掉期望值就是原分布的后验,因为 p ( D , τ ) p(\mathcal{D}, \tau) p ( D , τ ) 在常数项里)
log p ( D ∣ μ , τ ) + log p ( μ ∣ γ ) = − τ 2 ∑ i = 1 n ( x i − μ ) 2 ⏟ log ( p ( D ∣ μ , τ ) ) − λ 0 τ 2 ( μ − μ 0 ) 2 ⏟ log p ( μ ∣ γ ) + C o n s t . = − τ 2 [ ∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] + C o n s t . = − τ ( n + λ 0 ) 2 ( μ − n x ‾ + λ 0 μ 0 n + λ 0 ) 2 + C o n s t . ⟹ p ( μ ∣ D , τ ) = N ( n x ‾ + λ 0 μ 0 n + λ 0 , τ ( n + λ 0 ) ) (85) \begin{aligned}
\log p(\mathcal{D} \mid \mu, \tau)+\log p(\mu \mid \gamma) & =\underbrace{-\frac{\tau}{2} \sum_{i=1}^n\left(x_i-\mu\right)^2}_{\log (p(\mathcal{D} \mid \mu, \tau))} \underbrace{-\frac{\lambda_0 \tau}{2}\left(\mu-\mu_0\right)^2}_{\log p(\mu \mid \gamma)}+\mathrm { Const. } \\
& =-\frac{\tau}{2}\left[\sum_{i=1}^n\left(x_i-\mu\right)^2+\lambda_0\left(\mu-\mu_0\right)^2\right]+\mathrm { Const. } \\
& =-\frac{\tau\left(n+\lambda_0\right)}{2}\left(\mu-\frac{n \overline{\mathbf{x}}+\lambda_0 \mu_0}{n+\lambda_0}\right)^2+\mathrm { Const. }\\
\Longrightarrow p(\mu \mid \mathcal{D}, \tau) & =\mathcal{N}\left(\frac{n \overline{\mathbf{x}}+\lambda_0 \mu_0}{n+\lambda_0}, \tau\left(n+\lambda_0\right)\right)
\end{aligned} \tag{85} log p ( D ∣ μ , τ ) + log p ( μ ∣ γ ) ⟹ p ( μ ∣ D , τ ) = l o g ( p ( D ∣ μ , τ )) − 2 τ i = 1 ∑ n ( x i − μ ) 2 l o g p ( μ ∣ γ ) − 2 λ 0 τ ( μ − μ 0 ) 2 + Const. = − 2 τ [ i = 1 ∑ n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] + Const. = − 2 τ ( n + λ 0 ) ( μ − n + λ 0 n x + λ 0 μ 0 ) 2 + Const. = N ( n + λ 0 n x + λ 0 μ 0 , τ ( n + λ 0 ) ) ( 85 )
同理我们可以计算 log q τ ∗ ( τ ) \log q_{\tau}^* (\tau) log q τ ∗ ( τ )
log q τ ∗ ( τ ) = E q μ [ log p ( μ , τ , D ) ] = E q μ [ log p ( D ∣ μ , τ ) + log p ( μ ∣ τ ) + log p ( τ ) ] + C o n s t . = E q μ [ n 2 log ( τ ) − τ 2 ∑ i = 1 n ( x i − μ ) 2 ⏟ log p ( D ∣ μ , τ ) − λ 0 τ 2 ( μ − μ 0 ) 2 ⏟ log p ( μ ∣ γ ) + ( a 0 − 1 ) log ( τ ) − b 0 τ ⏟ log p ( τ ) ] + C o n s t . = n 2 log τ + ( a 0 − 1 ) log τ − b 0 τ − τ 2 E q μ ( μ ) [ ∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] + C o n s t . = ( n 2 + a 0 ⏟ a n − 1 ) log τ − τ ( b 0 + 1 2 E q μ ( μ ) [ ∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] ⏟ b n ) + C o n s t . ⟹ q τ ∗ ( τ ) = G a m m a ( a n , b n ) (86) \begin{aligned}
\log q_\tau^*(\tau) & =\mathbb{E}_{q_\mu}[\log p(\mu, \tau, \mathcal{D})] \\
& =\mathbb{E}_{q_\mu}[\log p(\mathcal{D} \mid \mu, \tau)+\log p(\mu \mid \tau)+\log p(\tau)]+\mathrm { Const. } \\
& =\mathbb{E}_{q_\mu}[\underbrace{\frac{n}{2} \log (\tau)-\frac{\tau}{2} \sum_{i=1}^n\left(x_i-\mu\right)^2}_{\log p(\mathcal{D} \mid \mu, \tau)} \underbrace{-\frac{\lambda_0 \tau}{2}\left(\mu-\mu_0\right)^2}_{\log p(\mu \mid \gamma)} \underbrace{+\left(a_0-1\right) \log (\tau)-b_0 \tau}_{\log p(\tau)}]+\mathrm { Const. }\\
& = \frac{n}{2}\log \tau + (a_0-1)\log \tau - b_0 \tau -\frac{\tau}{2}\mathbb{E}_{q_{\mu}(\mu)}\left[\sum_{i=1}^n (x_i -\mu)^2 + \lambda_0(\mu-\mu_0)^2\right] + \mathrm{Const.} \\
& = \left(\underbrace{\frac{n}{2}+ a_0}_{a_n} -1\right) \log \tau - \tau \left(\underbrace{b_0 + \frac{1}{2} \mathbb{E}_{q_{\mu}(\mu)}\left[\sum_{i=1}^n (x_i - \mu)^2 + \lambda_0 (\mu - \mu_0)^2 \right]}_{b_n} \right) + \mathrm{Const.} \\
&\Longrightarrow q_{\tau}^* (\tau) = \mathrm{Gamma}(a_n, b_n)
\end{aligned}\tag{86} log q τ ∗ ( τ ) = E q μ [ log p ( μ , τ , D )] = E q μ [ log p ( D ∣ μ , τ ) + log p ( μ ∣ τ ) + log p ( τ )] + Const. = E q μ [ l o g p ( D ∣ μ , τ ) 2 n log ( τ ) − 2 τ i = 1 ∑ n ( x i − μ ) 2 l o g p ( μ ∣ γ ) − 2 λ 0 τ ( μ − μ 0 ) 2 l o g p ( τ ) + ( a 0 − 1 ) log ( τ ) − b 0 τ ] + Const. = 2 n log τ + ( a 0 − 1 ) log τ − b 0 τ − 2 τ E q μ ( μ ) [ i = 1 ∑ n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] + Const. = a n 2 n + a 0 − 1 log τ − τ b n b 0 + 2 1 E q μ ( μ ) [ i = 1 ∑ n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] + Const. ⟹ q τ ∗ ( τ ) = Gamma ( a n , b n ) ( 86 )
可以将 b n b_n b n 展开写为
b n = b 0 + 1 2 E q μ [ ∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] = b 0 + 1 2 E q μ [ − 2 μ n x ˉ + n μ 2 + λ 0 μ 2 − 2 λ 0 μ 0 μ ] + ∑ i = 1 n x i 2 + λ 0 μ 0 2 = b 0 + 1 2 [ ( n + λ 0 ) E q μ [ μ 2 ] − 2 ( n x ˉ + λ 0 μ 0 ) E q μ [ μ ] + ∑ i = 1 n x i 2 + λ 0 μ 0 2 ] (87) \begin{aligned}
b_n & =b_0+\frac{1}{2} \mathbb{E}_{q_\mu}\left[\sum_{i=1}^n\left(x_i-\mu\right)^2+\lambda_0\left(\mu-\mu_0\right)^2\right] \\
& =b_0+\frac{1}{2} \mathbb{E}_{q_\mu}\left[-2 \mu n \bar{x}+n \mu^2+\lambda_0 \mu^2-2 \lambda_0 \mu_0 \mu\right]+\sum_{i=1}^nx_i^2+\lambda_0 \mu_0^2 \\
& =b_0+\frac{1}{2}\left[\left(n+\lambda_0\right) \mathbb{E}_{q_\mu}\left[\mu^2\right]-2\left(n \bar{x}+\lambda_0 \mu_0\right) \mathbb{E}_{q_\mu}[\mu]+\sum_{i=1}^nx_i^2+\lambda_0 \mu_0^2\right]
\end{aligned}\tag{87} b n = b 0 + 2 1 E q μ [ i = 1 ∑ n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ] = b 0 + 2 1 E q μ [ − 2 μ n x ˉ + n μ 2 + λ 0 μ 2 − 2 λ 0 μ 0 μ ] + i = 1 ∑ n x i 2 + λ 0 μ 0 2 = b 0 + 2 1 [ ( n + λ 0 ) E q μ [ μ 2 ] − 2 ( n x ˉ + λ 0 μ 0 ) E q μ [ μ ] + i = 1 ∑ n x i 2 + λ 0 μ 0 2 ] ( 87 )
因为前面已经知道 q μ ( μ ) q_{\mu}(\mu) q μ ( μ ) ,可以计算这里的 E q μ [ μ 2 ] \mathbb{E}_{q_{\mu}}[\mu^2] E q μ [ μ 2 ] 和 E q μ [ μ ] \mathbb{E}_{q_{\mu}}[\mu] E q μ [ μ ] 。
同样地,也可以轻易地获得原分布的后验 p ( τ ∣ D , μ ) p(\tau\mid \mathcal{D},\mu) p ( τ ∣ D , μ )
log p ( τ ∣ D , μ ) = log ( p ( D ∣ μ , τ ) ) + log p ( μ ∣ τ ) + log p ( τ ) + Const. = n 2 log ( τ ) − τ 2 ∑ i = 1 n ( x i − μ ) 2 ⏟ log ( p ( D ∣ μ , τ ) ) − λ 0 τ 2 ( μ − μ 0 ) 2 ⏟ log p ( μ ∣ γ ) + ( a 0 − 1 ) log ( τ ) − b 0 τ ⏟ log p ( τ ) + Const. = ( n 2 + a 0 ⏟ a n − 1 ) log ( τ ) − τ ( b 0 + 1 2 ∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ⏟ b n ) + Const. ⟹ p ( τ ∣ D , μ ) = Gamma ( a n , b n ) { a n = n 2 + a 0 b n = b 0 + 1 2 ∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 (88) \begin{aligned}
& \log p(\tau \mid \mathcal{D}, \mu)= \log (p(\mathcal{D} \mid \mu, \tau))+\log p(\mu \mid \tau)+\log p(\tau)+\text { Const. } \\
&= \underbrace{\frac{n}{2} \log (\tau)-\frac{\tau}{2} \sum_{i=1}^n\left(x_i-\mu\right)^2}_{\log (p(\mathcal{D} \mid \mu, \tau))} \underbrace{-\frac{\lambda_0 \tau}{2}\left(\mu-\mu_0\right)^2}_{\log p(\mu \mid \gamma)} \underbrace{+\left(a_0-1\right) \log (\tau)-b_0 \tau}_{\log p(\tau)}+\text { Const. } \\
&=\underbrace{\left(\frac{n}{2}+a_0\right.}_{a_n}-1) \log (\tau)-\tau(\underbrace{b_0+\frac{1}{2} \sum_{i=1}^n\left(x_i-\mu\right)^2+\lambda_0\left(\mu-\mu_0\right)^2}_{b_n})+\text { Const. } \\
& \Longrightarrow p(\tau \mid \mathcal{D}, \mu)= \operatorname{Gamma}\left(a_n, b_n\right) \\
& \qquad \qquad \qquad \qquad \begin{cases}a_n & =\frac{n}{2}+a_0 \\
b_n & =b_0+\frac{1}{2} \sum_{i=1}^n\left(x_i-\mu\right)^2+\lambda_0\left(\mu-\mu_0\right)^2\end{cases}
\end{aligned}\tag{88} log p ( τ ∣ D , μ ) = log ( p ( D ∣ μ , τ )) + log p ( μ ∣ τ ) + log p ( τ ) + Const. = l o g ( p ( D ∣ μ , τ )) 2 n log ( τ ) − 2 τ i = 1 ∑ n ( x i − μ ) 2 l o g p ( μ ∣ γ ) − 2 λ 0 τ ( μ − μ 0 ) 2 l o g p ( τ ) + ( a 0 − 1 ) log ( τ ) − b 0 τ + Const. = a n ( 2 n + a 0 − 1 ) log ( τ ) − τ ( b n b 0 + 2 1 i = 1 ∑ n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ) + Const. ⟹ p ( τ ∣ D , μ ) = Gamma ( a n , b n ) { a n b n = 2 n + a 0 = b 0 + 2 1 ∑ i = 1 n ( x i − μ ) 2 + λ 0 ( μ − μ 0 ) 2 ( 88 )
2.4 指数族分布
2.4.1 概览
给定先验和似然都是指数族分布,则他们形成一个共轭对,则变分推断(平均场近似)有下列更新公式
η j = E q ( z \ z j ∣ ⋅ ) [ η p o s t ( z \ z j ) ] (89) \eta_j = \mathbb{E}_{q(\mathbf{z}\backslash z_j\mid \cdot)}[\eta_{\mathrm{post}}(\mathbf{z}\backslash z_j)]\tag{89} η j = E q ( z \ z j ∣ ⋅ ) [ η post ( z \ z j )] ( 89 )
这里的 η p o s t ( z \ z j ) \eta_{\mathrm{post}}(\mathbf{z}\backslash z_j) η post ( z \ z j ) 是和后验分布 p ( z j ∣ ⋅ ) p(z_j \mid \cdot) p ( z j ∣ ⋅ ) 相关的自然参数。
和通用的更新公式相比
\log q_i^*(z_i)=\mathbb{E}_{i\neq j}[\log p(\mathbf{x}, \mathbf{z})]\tag{90}
使用指数族更新公式更加直接方便。
2.4.2 指数族
指数族分布通常用自然参数 η \eta η 表示为下列形式
h ( x ) exp ( T ( x ) ⊤ η − A ( η ) ) = exp ( − A ( η ) ) ⏟ normalization h ( x ) exp ( T ( x ) ⊤ η ) ⟹ exp ( − A ( η ) ) ∫ h ( x ) exp ( T ( x ) ⊤ η ) d x = 1 ⟹ ∫ h ( x ) exp ( T ( x ) ⊤ η ) d x = exp ( A ( η ) ) ⟹ A ( η ) = log ∫ h ( x ) exp T ( x ) ⊤ η d x (91) \begin{aligned}
&h(x)\exp(T(x)^{\top}\eta - A(\eta)) \\\\
&= \underbrace{\exp(-A(\eta))}_{\text{normalization}} h(x)\exp(T(x)^{\top}\eta)\\
&\Longrightarrow \exp(-A(\eta)){\int}h(x)\exp(T(x)^{\top}\eta)\mathrm{d}x = 1\\
&\Longrightarrow {\int}h(x)\exp(T(x)^{\top}\eta) \mathrm{d}x= \exp(A(\eta))\\
&\Longrightarrow A(\eta) =\log{\int}h(x) \exp{T(x)^{\top}\eta} \mathrm{d}x
\end{aligned}\tag{91} h ( x ) exp ( T ( x ) ⊤ η − A ( η )) = normalization exp ( − A ( η )) h ( x ) exp ( T ( x ) ⊤ η ) ⟹ exp ( − A ( η )) ∫ h ( x ) exp ( T ( x ) ⊤ η ) d x = 1 ⟹ ∫ h ( x ) exp ( T ( x ) ⊤ η ) d x = exp ( A ( η )) ⟹ A ( η ) = log ∫ h ( x ) exp T ( x ) ⊤ η d x ( 91 )
η \eta η -自然参数(natural parameter)
T ( x ) T(x) T ( x ) -充分统计量(sufficient statistic)
A ( η ) A(\eta) A ( η ) -对数配分函数(log-partition function):主要作用是归一化,为 η \eta η 的凸函数
h ( x ) h(x) h ( x ) -基测度(base measure):不依赖于参数 η \eta η 的部分,用于调整使得积分有意义
指数族分布具有易求最大似然估计的性质(可用下列高斯分布验证,其求解易于原参数形式)
arg max η [ log p ( X ∣ η ) ] = arg max η [ log ∏ i = 1 n p ( x i ∣ η ) ] = arg max η [ log { ∏ i = 1 n h ( x i ) exp ( ∑ i = 1 n T ( x i ) ⊤ η − n A ( η ) ) } ] = arg max η [ ∑ i = 1 n T ( x i ) ⊤ η − n A ( η ) ] ⏟ L ( η ) ⟹ ∂ L ( η ) ∂ η = ∑ i = 1 n T ( x i ) − n A ′ ( η ) = 0 ⟹ A ′ ( η ) = ∑ i = 1 n T ( x i ) n (92) \begin{aligned}
&\arg \max_{\eta} \left[\log p(X\mid \eta) \right]\\
&= \arg \max_{\eta} \left[\log \prod_{i=1}^n p(x_i \mid \eta) \right]\\
&= \arg \max_{\eta} \left[\log \left\{\prod_{i=1}^n h(x_i) \exp\left(\sum_{i=1}^n T(x_i)^{\top} \eta - n A(\eta)\right)\right\}\right]\\
&= \arg \max_{\eta} \underbrace{\left[\sum_{i=1}^n T(x_i)^{\top} \eta - n A(\eta) \right]}_{\mathcal{L}(\eta)}\\
&\Longrightarrow \frac{\partial \mathcal{L}(\eta)}{\partial \eta}= \sum_{i=1}^n T(x_i) - n A'(\eta) =0\\
&\Longrightarrow A'(\eta) =\sum_{i=1}^n \frac{T(x_i)}{n}
\end{aligned}\tag{92} arg η max [ log p ( X ∣ η ) ] = arg η max [ log i = 1 ∏ n p ( x i ∣ η ) ] = arg η max [ log { i = 1 ∏ n h ( x i ) exp ( i = 1 ∑ n T ( x i ) ⊤ η − n A ( η ) ) } ] = arg η max L ( η ) [ i = 1 ∑ n T ( x i ) ⊤ η − n A ( η ) ] ⟹ ∂ η ∂ L ( η ) = i = 1 ∑ n T ( x i ) − n A ′ ( η ) = 0 ⟹ A ′ ( η ) = i = 1 ∑ n n T ( x i ) ( 92 )
从另一个角度来看,指数分布族具有性质:对数规范化因子 A ( η ) A(\eta) A ( η ) 对自然参数 η \eta η 的导数等于充分统计量 T ( x ) T(x) T ( x ) 的数学期望,这是任何情况都成立的
d d η A ( η ) = d d η log ∫ h ( x ) exp { η T T ( x ) } d x = ∫ T ( x ) exp { η T T ( x ) } h ( x ) d x ∫ h ( x ) exp { η T T ( x ) } d x ⏟ A ( η ) 见式(91) (交换积分与微分的顺序) = ∫ T ( x ) exp { η T T ( x ) − A ( η ) } h ( x ) d x = ∫ T ( x ) p ( x ∣ η ) d x = E [ T ( x ) ] (93) \begin{aligned}
\frac{\mathrm{d}}{\mathrm{~d} \eta} A(\eta) & =\frac{\mathrm{d}}{\mathrm{~d} \eta} \log \int h(x) \exp \left\{\eta^{\mathrm{T}} T(x)\right\} \mathrm{d} x \\
& =\frac{\int T(x) \exp \left\{\eta^{\mathrm{T}} T(x)\right\} h(x) \mathrm{d} x}{\underbrace{\int h(x) \exp \left\{\eta^{\mathrm{T}} T(x)\right\} \mathrm{d} x}_{A(\eta)\text{ 见式(91)}}} \text{(交换积分与微分的顺序)}\\
& =\int T(x) \exp \left\{\eta^{\mathrm{T}} T(x)-A(\eta)\right\} h(x) \mathrm{d} x \\
& =\int T(x) p(x \mid \eta) \mathrm{d} x \\
& =\mathbb{E}[T(x)]
\end{aligned}\tag{93} d η d A ( η ) = d η d log ∫ h ( x ) exp { η T T ( x ) } d x = A ( η ) 见式 (91) ∫ h ( x ) exp { η T T ( x ) } d x ∫ T ( x ) exp { η T T ( x ) } h ( x ) d x ( 交换积分与微分的顺序 ) = ∫ T ( x ) exp { η T T ( x ) − A ( η ) } h ( x ) d x = ∫ T ( x ) p ( x ∣ η ) d x = E [ T ( x )] ( 93 )
再对一阶导数求导,得到Hessian矩阵
d A 2 ( η ) d 2 η = d ∫ T ( x ) p ( x ∣ η ) d x d η = ∫ T ( x ) ▽ η p ( x ∣ η ) d x (94) \begin{aligned}
\frac{\mathrm{d}A^2(\eta)}{\mathrm{d}^2 \eta} &= \frac{\mathrm{d} \int T(x) p(x\mid \eta)\mathrm{d}x}{\mathrm{d}\eta}\\
&=\int T(x)\triangledown_{\eta} p(x\mid \eta)\mathrm{d}x
\end{aligned}\tag{94} d 2 η d A 2 ( η ) = d η d ∫ T ( x ) p ( x ∣ η ) d x = ∫ T ( x ) ▽ η p ( x ∣ η ) d x ( 94 )
计算
▽ η p ( x ∣ η ) = ▽ η ( h ( x ) exp ( η ⊤ T ( x ) − A ( η ) ) ) = p ( x ∣ η ) ( T ( x ) − ▽ η A ( η ) ) = p ( x ∣ η ) ( T ( x ) − E [ T ( x ) ] ) 由式 (93) (95) \begin{aligned}
\triangledown_{\eta}p(x\mid \eta) &= \triangledown_{\eta}(h(x)\exp{(\eta^{\top}T(x)-A(\eta) )})\\
&=p(x\mid \eta){(T(x) - \triangledown_{\eta}A(\eta))}\\
&=p(x\mid \eta)(T(x)-\mathbb{E}[T(x)]) \text{ 由式 (93)}
\end{aligned}\tag{95} ▽ η p ( x ∣ η ) = ▽ η ( h ( x ) exp ( η ⊤ T ( x ) − A ( η )) ) = p ( x ∣ η ) ( T ( x ) − ▽ η A ( η )) = p ( x ∣ η ) ( T ( x ) − E [ T ( x )]) 由式 (93) ( 95 )
代入式 (94)可得
d A 2 ( η ) d 2 η = ∫ T ( x ) p ( x ∣ η ) ( T ( x ) − E [ T ( x ) ] ) ⊤ d x = ∫ ( T ( x ) T ( x ) ⊤ − T ( x ) E [ T ( x ) ] ⊤ ) p ( x ∣ η ) d x = E [ T ( x ) T ( x ) ⊤ ] − E [ T ( x ) ] E [ T ( x ) ] ⊤ (96) \begin{aligned}
\frac{\mathrm{d}A^2(\eta)}{\mathrm{d}^2 \eta} &= \int T(x)p(x\mid \eta)(T(x)-\mathbb{E}[T(x)])^{\top}\mathrm{d}x\\
&= \int (T(x)T(x)^{\top} - T(x)\mathbb{E}[T(x)]^{\top})p(x\mid \eta)\mathrm{d}x\\
&=\mathbb{E}[T(x)T(x)^{\top}] - \mathbb{E}[T(x)]\mathbb{E}[T(x)]^{\top}
\end{aligned}\tag{96} d 2 η d A 2 ( η ) = ∫ T ( x ) p ( x ∣ η ) ( T ( x ) − E [ T ( x )] ) ⊤ d x = ∫ ( T ( x ) T ( x ) ⊤ − T ( x ) E [ T ( x ) ] ⊤ ) p ( x ∣ η ) d x = E [ T ( x ) T ( x ) ⊤ ] − E [ T ( x )] E [ T ( x ) ] ⊤ ( 96 )
这就是协方差矩阵的定义公式,即 A ( η ) A(\eta) A ( η ) 的二阶导数是充分统计量的协方差矩阵。进而可知,对任意非零向量 v v v ,协方差矩阵 Σ = Cov ( T ( x ) ) \Sigma=\text{Cov}(T(x)) Σ = Cov ( T ( x )) 满足
v ⊤ Σ v = v ⊤ E [ ( T ( x ) − E [ T ( x ) ] ) ( T ( x ) − E [ T ( x ) ] ) ⊤ ] v = E [ v ⊤ ( T ( x ) − E [ T ( x ) ] ) ( T ( x ) − E [ T ( x ) ] ) ⊤ v ] = E [ ( v ⊤ ( T ( x ) − E [ T ( x ) ] ) ) 2 ] ≥ 0 \begin{aligned}
v^{\top}\Sigma v &= v^{\top} \mathbb{E}[(T(x)-\mathbb{E}[T(x)]) (T(x)-\mathbb{E}[T(x)])^{\top}]v\\
&= \mathbb{E}[v^{\top} (T(x)-\mathbb{E}[T(x)]) (T(x)-\mathbb{E}[T(x)])^{\top}v]\\
&= \mathbb{E}[(v^{\top} (T(x) - \mathbb{E}[T(x)]))^2] \geq 0
\end{aligned} v ⊤ Σ v = v ⊤ E [( T ( x ) − E [ T ( x )]) ( T ( x ) − E [ T ( x )] ) ⊤ ] v = E [ v ⊤ ( T ( x ) − E [ T ( x )]) ( T ( x ) − E [ T ( x )] ) ⊤ v ] = E [( v ⊤ ( T ( x ) − E [ T ( x )]) ) 2 ] ≥ 0
由此可知 d A 2 ( η ) d 2 η \frac{\mathrm{d}A^2(\eta)}{\mathrm{d}^2 \eta} d 2 η d A 2 ( η ) 为半正定矩阵,则 A ( η ) A(\eta) A ( η ) 为凸函数。当使用最大似然估计来求解指数族分布的参数时,需要最小化负对数似然函数(NLL):
NLL ( η ) = − η ⊤ T ( x ) + A ( η ) − log h ( x ) (97) \begin{aligned}
\text{NLL}(\eta) &= -\eta^{\top} T(x)+A(\eta) - \log{h(x)}
\end{aligned}\tag{97} NLL ( η ) = − η ⊤ T ( x ) + A ( η ) − log h ( x ) ( 97 )
由于 A ( η ) A(\eta) A ( η ) 是凸函数,且 − η T T ( x ) -\eta^T T(x) − η T T ( x ) 是线性函数(也是凸函数),所以 NLL 也是凸函数。这意味着:指数族分布的最大似然估计问题,保证存在全局最优解,没有局部最优陷阱(如果优化的是常规参数 ordinary parameter 不一定能保证)。 这就是为什么逻辑回归、线性回归等模型训练如此稳定且高效的根本原因。
例如一维高斯分布,可以将其写为指数族分布的形式
N ( x ; μ , σ 2 ) = ( 2 π σ 2 ) − 1 / 2 exp ( − ( x − μ ) 2 2 σ 2 ) = exp ( − x 2 − 2 x μ + μ 2 2 σ 2 − 1 2 log ( 2 π σ 2 ) ) = exp ( − 1 2 σ 2 x 2 + μ σ 2 x − μ 2 2 σ 2 − 1 2 log ( 2 π σ 2 ) ) = exp ( [ x x 2 ] [ μ σ 2 − 1 2 σ 2 ] ⊤ − μ 2 2 σ 2 − 1 2 log ( 2 π σ 2 ) ) (98) \begin{aligned}
\mathcal{N}\left(x ; \mu, \sigma^2\right) & =\left(2 \pi \sigma^2\right)^{-1 / 2} \exp \left(-\frac{(x-\mu)^2}{2 \sigma^2}\right) \\
& =\exp \left(-\frac{x^2-2 x \mu+\mu^2}{2 \sigma^2}-\frac{1}{2} \log \left(2 \pi \sigma^2\right)\right) \\
& =\exp \left(-\frac{1}{2 \sigma^2} x^2+\frac{\mu}{\sigma^2} x-\frac{\mu^2}{2 \sigma^2}-\frac{1}{2} \log \left(2 \pi \sigma^2\right)\right) \\
& =\exp \left(\left[\begin{array}{ll}
x & x^2
\end{array}\right]\left[\begin{array}{ll}
\frac{\mu}{\sigma^2} & -\frac{1}{2 \sigma^2}
\end{array}\right]^{\top}-\frac{\mu^2}{2 \sigma^2}-\frac{1}{2} \log \left(2 \pi \sigma^2\right)\right)
\end{aligned}\tag{98} N ( x ; μ , σ 2 ) = ( 2 π σ 2 ) − 1/2 exp ( − 2 σ 2 ( x − μ ) 2 ) = exp ( − 2 σ 2 x 2 − 2 xμ + μ 2 − 2 1 log ( 2 π σ 2 ) ) = exp ( − 2 σ 2 1 x 2 + σ 2 μ x − 2 σ 2 μ 2 − 2 1 log ( 2 π σ 2 ) ) = exp ( [ x x 2 ] [ σ 2 μ − 2 σ 2 1 ] ⊤ − 2 σ 2 μ 2 − 2 1 log ( 2 π σ 2 ) ) ( 98 )
其中
T ( x ) = [ x x 2 ] η = [ η 1 η 2 ] = [ μ σ 2 − 1 2 σ 2 ] θ = [ μ σ 2 ] = [ − η 1 2 η 2 − 1 2 η 2 ] (99) \begin{aligned}
T(x) &= \left[\begin{array}{ll} x & x^2 \end{array}\right] \\
\boldsymbol{\eta} &= \left[\begin{array}{ll} \eta_1 & \eta_2 \end{array}\right]\\
&= \left[\begin{array}{ll} \frac{\mu}{\sigma^2} & -\frac{1}{2\sigma^2} \end{array}\right]\\
\theta &= \left[\begin{array}{ll} \mu \\ \sigma^2\end{array}\right] = \left[\begin{array}{ll} \frac{-\eta_1}{2\eta_2} \\ \frac{-1}{2\eta_2}\end{array}\right]
\end{aligned}\tag{99} T ( x ) η θ = [ x x 2 ] = [ η 1 η 2 ] = [ σ 2 μ − 2 σ 2 1 ] = [ μ σ 2 ] = [ 2 η 2 − η 1 2 η 2 − 1 ] ( 99 )
现在我们可以移除 μ \mu μ 和 σ \sigma σ 得到一维高斯分布的指数族分布形式
N nat ( x , η ) = exp ( [ x x 2 ] [ η 1 η 2 ] ⊤ − μ 2 2 σ 2 − 1 2 log ( 2 π σ 2 ) ) = exp ( [ x x 2 ] [ η 1 η 2 ] ⊤ − ( − η 1 2 η 2 ) 2 2 ( − 1 2 η 2 ) − 1 2 log ( 2 π ( − 1 2 η 2 ) ) ) = exp ( T ( x ) ⊤ η + η 1 2 4 η 2 − 1 2 log ( 2 π − 2 η 2 ) ) = exp ( T ( x ) ⊤ η + η 1 2 4 η 2 + 1 2 log ( − 2 η 2 ) − 1 2 log ( 2 π ) ⏟ A ( η ) ) (100) \begin{aligned}
\mathcal{N}_{\text {nat}}(x, \boldsymbol{\eta}) & =\exp \left(\left[\begin{array}{ll}
x & x^2
\end{array}\right]\left[\begin{array}{ll}
\eta_1 & \eta_2
\end{array}\right]^{\top}-\frac{\mu^2}{2 \sigma^2}-\frac{1}{2} \log \left(2 \pi \sigma^2\right)\right) \\
& =\exp \left(\left[\begin{array}{ll}
x & x^2
\end{array}\right]\left[\begin{array}{ll}
\eta_1 & \eta_2
\end{array}\right]^{\top}-\frac{\left(\frac{-\eta_1}{2 \eta_2}\right)^2}{2\left(\frac{-1}{2 \eta_2}\right)}-\frac{1}{2} \log \left(2 \pi\left(\frac{-1}{2 \eta_2}\right)\right)\right) \\
& =\exp \left(T(x)^{\top} \boldsymbol{\eta}+\frac{\eta_1^2}{4 \eta_2}-\frac{1}{2} \log \left(\frac{2 \pi}{-2 \eta_2}\right)\right) \\
& =\exp \left(T(x)^{\top} \boldsymbol{\eta}+\underbrace{\frac{\eta_1^2}{4 \eta_2}+\frac{1}{2} \log \left(-2 \eta_2\right)-\frac{1}{2} \log (2 \pi)}_{A(\boldsymbol{\eta})}\right)
\end{aligned}\tag{100} N nat ( x , η ) = exp ( [ x x 2 ] [ η 1 η 2 ] ⊤ − 2 σ 2 μ 2 − 2 1 log ( 2 π σ 2 ) ) = exp [ x x 2 ] [ η 1 η 2 ] ⊤ − 2 ( 2 η 2 − 1 ) ( 2 η 2 − η 1 ) 2 − 2 1 log ( 2 π ( 2 η 2 − 1 ) ) = exp ( T ( x ) ⊤ η + 4 η 2 η 1 2 − 2 1 log ( − 2 η 2 2 π ) ) = exp T ( x ) ⊤ η + A ( η ) 4 η 2 η 1 2 + 2 1 log ( − 2 η 2 ) − 2 1 log ( 2 π ) ( 100 )
2.4.3 共轭概率
共轭表示先验和后验是同种形式的概率分布,例如
\underbrace{p_{\eta_{\text{post}}}(\theta\mid \mathbf{x})}_{\text{same type}}\propto p(\mathbf{x}\mid \theta)\underbrace{p_{\eta_{\text{prior}}}(\theta)}_{\text{same type}}\tag{101}
使用指数族分布表示时,共轭的含义是先验和后验有相同的充分统计量 T ( θ ) T(\theta) T ( θ ) 和 h ( θ ) h(\theta) h ( θ ) (注意这里的 θ \theta θ 是变量),不同的自然参数,即 η post , η prior \eta_{\text{post}}, \eta_{\text{prior}} η post , η prior 以及不同的对数归一化因子。
证明:一个指数族分布的先验 p ( θ ∣ α , ν ) = 1 Z ( α , ν ) exp ( α T θ − ν A ( θ ) ) p(\theta | \alpha, \nu) = \frac{1}{Z(\alpha, \nu)} \exp\left( \alpha^T \theta - \nu A(\theta) \right) p ( θ ∣ α , ν ) = Z ( α , ν ) 1 exp ( α T θ − ν A ( θ ) ) 必定有对应的似然使其拥有一个共轭的后验
p ( θ ∣ x ) ∝ p ( x ∣ θ ) p ( θ ∣ α , ν ) = ∏ i = 1 N [ h ( x i ) exp ( θ ⊤ T ( x i ) − A ( θ ) ) ] ⋅ 1 Z ( α , ν ) exp ( α T θ − ν A ( θ ) ) ∝ exp ( θ T ∑ i = 1 N T ( x i ) − N ⋅ A ( θ ) ) ⋅ exp ( α T θ − ν A ( θ ) ) = exp ( ( α + ∑ i = 1 N T ( x i ) ⏟ α new ) T θ − ( ν + N ⏟ ν new ) A ( θ ) ) (102) \begin{aligned}
p(\theta\mid x) &\propto p(x\mid \theta)p(\theta \mid \alpha,\nu)\\
&= \prod_{i=1}^N \left[h(x_i)\exp{(\theta^{\top} T(x_i)-A(\theta))}\right] \cdot \frac{1}{Z(\alpha, \nu)} \exp\left( \alpha^T \theta - \nu A(\theta) \right) \\
&\propto \exp\left( \theta^T \sum_{i=1}^N T(x_i) - N \cdot A(\theta) \right) \cdot \exp\left( \alpha^T \theta - \nu A(\theta) \right) \\
&= \exp\left( (\underbrace{\alpha + \sum_{i=1}^N T(x_i)}_{\alpha_{\text{new}}})^T \theta - (\underbrace{\nu + N}_{\nu_{\text{new}}}) A(\theta) \right)
\end{aligned}\tag{102} p ( θ ∣ x ) ∝ p ( x ∣ θ ) p ( θ ∣ α , ν ) = i = 1 ∏ N [ h ( x i ) exp ( θ ⊤ T ( x i ) − A ( θ )) ] ⋅ Z ( α , ν ) 1 exp ( α T θ − ν A ( θ ) ) ∝ exp ( θ T i = 1 ∑ N T ( x i ) − N ⋅ A ( θ ) ) ⋅ exp ( α T θ − ν A ( θ ) ) = exp ( α new α + i = 1 ∑ N T ( x i ) ) T θ − ( ν new ν + N ) A ( θ ) ( 102 )
观察最后的结果,会发现后验分布的形式与先验分布完全一致,只是参数发生了变化,α ′ = α + ∑ i = 1 N T ( x i ) \alpha' = \alpha + \sum_{i=1}^N T(x_i) α ′ = α + ∑ i = 1 N T ( x i ) ,ν ′ = ν + N \nu' = \nu + N ν ′ = ν + N 。
2.4.4 变分推断
隐变量 β \beta β 的后验分布,注意下式中的 h ( β ) h(\beta) h ( β ) 和 T ( β ) T(\beta) T ( β ) 是相同的,因为设置变分分布是和真实条件后验分布同一种分布,这是同分布的结果
p ( β ∣ z , x ) = h ( β ) exp ( T ( β ) ⊤ η ( z , x ) − A g ( η ( z , x ) ) ) ≈ q ( β ∣ λ ) = h ( β ) exp ( T ( β ) ⊤ λ − A g ( λ ) ) (103) \begin{aligned}
&p(\beta \mid z, x)\\
&= h(\beta) \exp \left(T(\beta)^{\top} \eta (z, x) - A_g(\eta(z,x))\right)\\
&\approx q(\beta \mid \lambda) =h(\beta)\exp\left(T(\beta)^{\top}\lambda - A_g(\lambda) \right)
\end{aligned}\tag{103} p ( β ∣ z , x ) = h ( β ) exp ( T ( β ) ⊤ η ( z , x ) − A g ( η ( z , x )) ) ≈ q ( β ∣ λ ) = h ( β ) exp ( T ( β ) ⊤ λ − A g ( λ ) ) ( 103 )
隐变量 z z z 的后验分布
p ( z ∣ β , x ) = h ( z ) exp ( T ( z ) ⊤ η ( β , x ) − A l ( η ( β , x ) ) ) ≈ q ( z ∣ ϕ ) = h ( z ) exp ( T ( z ) ⊤ ϕ − A l ( ϕ ) ) (104) \begin{aligned}
&p(z\mid \beta, x)\\
&= h(z) \exp\left(T(z)^{\top} \eta(\beta,x) - A_l(\eta(\beta,x))\right)\\
&\approx q(z\mid \phi) =h(z)\exp\left(T(z)^{\top} \phi - A_l(\phi)\right)
\end{aligned}\tag{104} p ( z ∣ β , x ) = h ( z ) exp ( T ( z ) ⊤ η ( β , x ) − A l ( η ( β , x )) ) ≈ q ( z ∣ ϕ ) = h ( z ) exp ( T ( z ) ⊤ ϕ − A l ( ϕ ) ) ( 104 )
固定 ϕ \phi ϕ ,优化 λ \lambda λ ,每一步去除无关项(损失函数见式(65))
L ( λ , ϕ ) = E q ( z , β ) [ log p ( x , z , β ) ] − E q ( z , β ) [ log q ( z , β ) ] = E q ( z , β ) [ log p ( β ∣ x , z ) + log p ( z , x ) ] − E q ( z , β ) [ log q ( β ) ] − E q ( z , β ) [ log q ( z ) ] = E q ( z , β ) [ log p ( β ∣ x , z ) ] − E q ( z , β ) [ log q ( β ) ] = E q ( z , β ) [ log h ( β ) ] + E q ( z , β ) [ T ( β ) ⊤ η ( z , x ) ] − E q ( z , β ) [ A g ( η ( x , z ) ) ] − E q ( z , β ) [ log h ( β ) ] − E q ( z , β ) [ T ( β ) ⊤ λ ] + E q ( z , β ) [ A g ( λ ) ] = E q ( β ) [ T ( β ) ⊤ ] E q ( z ) [ η ( z , x ) ] − E q ( z ) [ A g ( η ( x , z ) ) ] − E q ( β ) [ T ( β ) ⊤ λ ] + A g ( λ ) using ∂ A ( η ) ∂ η = E p ( x ∣ η ) [ T ( x ) ] = A g ′ ( λ ) ⊤ E q ( z ) [ η ( z , x ) ] − λ A g ′ ( λ ) ⊤ + A g ( λ ) taking partial derivative with respect to λ ⇒ A g ′ ′ ( λ ) ⊤ E q ( z ) [ η ( z , x ) ] − A g ′ ( λ ) ⊤ − λ A g ′ ′ ( λ ) ⊤ + A g ′ ( λ ) = 0 ⇒ A g ′ ′ ( λ ) ⊤ ( E q ( z ) [ η ( x , z ) ] − λ ) = 0 ⟹ λ = E q ( z ) [ η ( x , z ) ] where q ( z ) = q ( z ∣ ϕ ) (105) \begin{aligned}\\
&\mathcal{L}(\lambda, \phi)\\
&= E_{q(z,\beta)}[\log p(x,z,\beta)] - E_{q(z,\beta)}[\log q(z,\beta)]\\
&= E_{q(z,\beta)}[\log p(\beta \mid x, z)+\log p(z,x)] - E_{q(z,\beta)} [\log q(\beta)] - E_{q(z,\beta)} [\log q(z)] \\
&= E_{q(z,\beta)} [\log p(\beta \mid x, z)] - E_{q(z,\beta)} [\log q(\beta)]\\
&= E_{q(z,\beta)} [\log h(\beta)] + E_{q(z,\beta)}[T(\beta)^{\top} \eta(z,x)] - E_{q(z,\beta)} [A_g(\eta(x,z))] \\
&\quad - E_{q(z,\beta)} [\log h(\beta)] - E_{q(z,\beta)} [T(\beta)^{\top} \lambda] + E_{q(z,\beta)} [A_g(\lambda)]\\
&= E_{q(\beta)}[T(\beta)^{\top}] E_{q(z)}[\eta(z,x)] - E_{q(z)}[A_g(\eta(x,z))] - E_{q(\beta)} [ T(\beta)^{\top}\lambda] + A_g(\lambda) \quad \text{using } \frac{\partial A(\eta)}{\partial \eta} = E_{p(x\mid \eta)}[T(x)] \\
&= A_g'(\lambda)^{\top} E_{q(z)}[\eta (z,x)] - \lambda A_g' (\lambda)^{\top} + A_g(\lambda) \quad \text{taking partial derivative with respect to } \lambda\\
&\Rightarrow A_g''(\lambda)^{\top} E_{q(z)}[\eta(z,x)] - A_g'(\lambda)^{\top} - \lambda A_g''(\lambda)^{\top} + A_g' (\lambda)=0\\
&\Rightarrow A_g'' (\lambda)^{\top} (E_{q(z)}[\eta(x,z)]-\lambda) =0\\
&\Longrightarrow \lambda =E_{q(z)}[\eta(x,z)] \qquad \text{where } q(z) =q(z\mid \phi)
\end{aligned}\tag{105} L ( λ , ϕ ) = E q ( z , β ) [ log p ( x , z , β )] − E q ( z , β ) [ log q ( z , β )] = E q ( z , β ) [ log p ( β ∣ x , z ) + log p ( z , x )] − E q ( z , β ) [ log q ( β )] − E q ( z , β ) [ log q ( z )] = E q ( z , β ) [ log p ( β ∣ x , z )] − E q ( z , β ) [ log q ( β )] = E q ( z , β ) [ log h ( β )] + E q ( z , β ) [ T ( β ) ⊤ η ( z , x )] − E q ( z , β ) [ A g ( η ( x , z ))] − E q ( z , β ) [ log h ( β )] − E q ( z , β ) [ T ( β ) ⊤ λ ] + E q ( z , β ) [ A g ( λ )] = E q ( β ) [ T ( β ) ⊤ ] E q ( z ) [ η ( z , x )] − E q ( z ) [ A g ( η ( x , z ))] − E q ( β ) [ T ( β ) ⊤ λ ] + A g ( λ ) using ∂ η ∂ A ( η ) = E p ( x ∣ η ) [ T ( x )] = A g ′ ( λ ) ⊤ E q ( z ) [ η ( z , x )] − λ A g ′ ( λ ) ⊤ + A g ( λ ) taking partial derivative with respect to λ ⇒ A g ′′ ( λ ) ⊤ E q ( z ) [ η ( z , x )] − A g ′ ( λ ) ⊤ − λ A g ′′ ( λ ) ⊤ + A g ′ ( λ ) = 0 ⇒ A g ′′ ( λ ) ⊤ ( E q ( z ) [ η ( x , z )] − λ ) = 0 ⟹ λ = E q ( z ) [ η ( x , z )] where q ( z ) = q ( z ∣ ϕ ) ( 105 )
同理,固定 λ \lambda λ ,优化 ϕ \phi ϕ ,可得到更新公式 ϕ = E q ( β ∣ λ ) [ η ( β , x ) ] \phi=E_{q(\beta \mid \lambda)}[\eta(\beta, x)] ϕ = E q ( β ∣ λ ) [ η ( β , x )]
2.5 基于变分推断的LDA参数学习
![[Pasted image 20241129221401.png|700]]
For each topic k k k :
β k ∼ Dir ( ξ , … , ξ ) for k ∈ { 1 , … , K } (106) \boldsymbol{\beta}_k \sim \operatorname{Dir}(\xi, \ldots, \xi) \quad \text{for } k \in\{1, \ldots, K\}\tag{106} β k ∼ Dir ( ξ , … , ξ ) for k ∈ { 1 , … , K } ( 106 )
For each document d d d :
θ d ∼ Dir ( α , … , α ) (107) \boldsymbol{\theta}_{\boldsymbol{d}} \sim \operatorname{Dir}(\alpha, \ldots, \alpha)\tag{107} θ d ∼ Dir ( α , … , α ) ( 107 )
For each word w ∈ { 1 , … , N } w \in\{1, \ldots, N\} w ∈ { 1 , … , N } :
z d , n ∼ Mult ( θ d ) w d , n ∼ Mult ( β z d , n ) (108) \begin{aligned}
& z_{d,n} \sim \operatorname{Mult}\left(\boldsymbol{\theta}_d\right) \\
& w_{d,n} \sim \operatorname{Mult}\left(\beta_{z_{d,n}}\right)
\end{aligned}\tag{108} z d , n ∼ Mult ( θ d ) w d , n ∼ Mult ( β z d , n ) ( 108 )
因为先验和似然是共轭的,而选取变分分布时应该选取和条件后验相同的分布有利于计算,所以此时选取和先验同样的分布(可以选择不同分布,但是会带来计算复杂性)
q(\boldsymbol{\beta}_k)=\mathrm{Dir}(\boldsymbol{\lambda}_k), \quad q(\boldsymbol{\theta}_d)=\mathrm{Dir}(\boldsymbol{\gamma}_d), \quad q(z_{d,n})= \mathrm{Mult}(\boldsymbol{\phi}_{d,n})\tag{109}
z d , n z_{d,n} z d , n 的变分分布选取基于两个理由,一是离散的、有限类别的变量,Multinomial(或 Categorical)分布是唯一合理的描述方式;二是由式(75)可知
ln q ∗ ( z d , n ) = E q ( θ , β ) [ ln p ( z d , n ∣ θ d ) + ln p ( w d , n ∣ z d , n , β ) ] + C ⇒ ln q ∗ ( z d , n = k ) = E [ ln θ d , k ] + E [ ln β k , w d , n ] + C ⇒ q ∗ ( z d , n = k ) ∝ exp ( E [ ln θ d , k ] + E [ ln β k , w d , n ] ) (110) \begin{aligned}
&\ln q^*(z_{d,n}) = \mathbb{E}_{q(\theta, \beta)}[\ln p(z_{d,n}|\theta_d) + \ln p(w_{d,n}|z_{d,n}, \beta)] + C\\
& \Rightarrow \ln q^*(z_{d,n} = k) = \mathbb{E}[\ln \theta_{d,k}] + \mathbb{E}[\ln \beta_{k, w_{d,n}}] + C\\
& \Rightarrow q^*(z_{d,n} = k) \propto \exp\left( \mathbb{E}[\ln \theta_{d,k}] + \mathbb{E}[\ln \beta_{k, w_{d,n}}] \right)
\end{aligned}\tag{110} ln q ∗ ( z d , n ) = E q ( θ , β ) [ ln p ( z d , n ∣ θ d ) + ln p ( w d , n ∣ z d , n , β )] + C ⇒ ln q ∗ ( z d , n = k ) = E [ ln θ d , k ] + E [ ln β k , w d , n ] + C ⇒ q ∗ ( z d , n = k ) ∝ exp ( E [ ln θ d , k ] + E [ ln β k , w d , n ] ) ( 110 )
这就完全符合 Multinomial 分布 的定义。
2.5.1 基于指数族分布的变分推断
2.5.1.1 更新 ϕ d , n \boldsymbol{\phi}_{d,n} ϕ d , n
首先找到后验 p ( z d , n = k ∣ θ d , φ k , w d , n ) p(z_{d,n}=k\mid \boldsymbol{\theta}_d,\boldsymbol{\varphi}_k,w_{d,n}) p ( z d , n = k ∣ θ d , φ k , w d , n ) 的自然参数
p ( z d , n = k ∣ θ d , β 1 : K , w d , n ) ∝ p ( z d , n = k ∣ θ d ) ⋅ p ( w d , n ∣ z d , n = k , β 1 : K ) = θ d , k ⋅ β k , w d , n = exp ( ( log θ d , k + log β k , w d , n ) ⏟ η l ( θ d , k , β 1 : K , w d , n ) ⋅ 1 ⏟ T ( z d , n ) ) (111) \begin{aligned}
p(z_{d,n}=k \mid \boldsymbol{\theta}_d,\boldsymbol{\beta}_{1:K},w_{d,n}) &\propto p(z_{d,n}=k \mid \boldsymbol{\theta}_d) \cdot p(w_{d,n}\mid z_{d,n}=k,\boldsymbol{\beta}_{1:K}) \\
&= \theta_{d,k} \cdot \beta_{k,w_{d,n}} \\
&= \exp{\left(\underbrace{(\log \theta_{d,k} + \log \beta_{k,w_{d,n}})}_{\eta_l(\boldsymbol{\theta}_{d,k}, \boldsymbol{\beta}_{1:K},w_{d,n})} \cdot \underbrace{1}_{T(z_{d,n})} \right)}
\end{aligned}\tag{111} p ( z d , n = k ∣ θ d , β 1 : K , w d , n ) ∝ p ( z d , n = k ∣ θ d ) ⋅ p ( w d , n ∣ z d , n = k , β 1 : K ) = θ d , k ⋅ β k , w d , n = exp η l ( θ d , k , β 1 : K , w d , n ) ( log θ d , k + log β k , w d , n ) ⋅ T ( z d , n ) 1 ( 111 )
使用正常的多项式分布可以表达为
p(z_{d,n}\mid \boldsymbol{\theta}_d,\boldsymbol{\beta}_{1:K},w_{d,n}) = \mathrm{Mult}(\theta_{d,1}\cdot\beta_{1,w_{d,n}},\dots,\theta_{d,k}\cdot\beta_{k,w_{d,n}})\tag{112}
利用更新公式可知
η ( ϕ d , n k ) = log ( ϕ d , n k ) 多项式分布的自然参数形式 = E q ( θ d , β k ) [ η l ( θ d , β 1 : K , w d , n ) ] + C o n s t . 由式(75)的最优更新公式 = E q ( θ d ) [ log ( θ d , k ) ] + E q ( β k ) [ log ( β k , w d , n ) ] + C o n s t . = Ψ ( γ d , k ) − Ψ ( ∑ l = 1 K γ d , l ) + Ψ ( λ k , w d , n ) − Ψ ( ∑ v = 1 V λ k , v ) + C o n s t . ⟹ ϕ d , n k ∝ exp [ Ψ ( γ d , k ) − Ψ ( ∑ l = 1 K γ d , l ) + Ψ ( λ k , w d , n ) − Ψ ( ∑ v = 1 V λ k , v ) ] ∝ exp [ Ψ ( γ d , k ) + Ψ ( λ k , w d , n ) − Ψ ( ∑ v = 1 V λ k , v ) ] (113) \begin{aligned}
\eta(\phi_{d,n}^k)&=\log (\phi_{d,n}^k) \quad \text{多项式分布的自然参数形式}\\
&= E_{q(\boldsymbol{\theta}_{d},\boldsymbol{\beta}_{k})}[\eta_l(\boldsymbol{\theta}_d, \boldsymbol{\beta}_{1:K},w_{d,n})] + \mathrm{Const.} \quad \text{由式(75)的最优更新公式} \\
&= E_{q(\boldsymbol{\theta}_d)}[\log (\theta_{d,k})]+E_{q(\boldsymbol{\beta}_k)}[\log (\beta_{k,w_{d,n}})] + \mathrm{Const.}\\
&= \Psi(\gamma_{d,k})-\Psi\left(\sum_{l=1}^K \gamma_{d,l}\right)+\Psi(\lambda_{k,w_{d,n}})-\Psi\left(\sum_{v=1}^V \lambda_{k,v}\right) + \mathrm{Const.}\\
&\Longrightarrow \phi_{d,n}^k \propto \exp{\left[ \Psi(\gamma_{d,k})-\Psi\left(\sum_{l=1}^K \gamma_{d,l}\right)+\Psi(\lambda_{k,w_{d,n}})-\Psi\left(\sum_{v=1}^V \lambda_{k,v}\right)\right]}\\
&\quad \quad \quad \quad \propto \exp{\left[ \Psi(\gamma_{d,k})+\Psi(\lambda_{k,w_{d,n}})-\Psi\left(\sum_{v=1}^V \lambda_{k,v}\right)\right]}\\
\end{aligned}\tag{113} η ( ϕ d , n k ) = log ( ϕ d , n k ) 多项式分布的自然参数形式 = E q ( θ d , β k ) [ η l ( θ d , β 1 : K , w d , n )] + Const. 由式( 75 )的最优更新公式 = E q ( θ d ) [ log ( θ d , k )] + E q ( β k ) [ log ( β k , w d , n )] + Const. = Ψ ( γ d , k ) − Ψ ( l = 1 ∑ K γ d , l ) + Ψ ( λ k , w d , n ) − Ψ ( v = 1 ∑ V λ k , v ) + Const. ⟹ ϕ d , n k ∝ exp [ Ψ ( γ d , k ) − Ψ ( l = 1 ∑ K γ d , l ) + Ψ ( λ k , w d , n ) − Ψ ( v = 1 ∑ V λ k , v ) ] ∝ exp [ Ψ ( γ d , k ) + Ψ ( λ k , w d , n ) − Ψ ( v = 1 ∑ V λ k , v ) ] ( 113 )
2.5.1.2 更新 γ d \boldsymbol{\gamma}_d γ d
同样先推导后验 p ( θ d ∣ z d ) p(\boldsymbol{\theta}_d \mid \mathbf{z}_d) p ( θ d ∣ z d ) 的表达式
p ( θ d ∣ z d ) = p ( θ d ∣ α ) ∏ n = 1 N p ( z d , n ∣ θ d ) = ∏ k = 1 K ( θ d , k α k − 1 ∏ n = 1 N θ d , k 1 ( z d , n = k ) ) = exp [ log ( ∏ k = 1 K ( θ d , k α k − 1 ∏ n = 1 N θ d , k 1 ( z d , n = k ) ) ) ] = exp [ ∑ k = 1 K log ( θ d , k α k − 1 ∏ n = 1 N θ d , k 1 ( z d , n = k ) ) ] = exp [ ∑ k = 1 K ( log θ d , k α k − 1 + ∑ n = 1 N log ( θ d , k 1 ( z d , n = k ) ) ) ] = exp [ ∑ k = 1 K ( ( α k − 1 ) log θ d , k + ∑ n = 1 N 1 ( z d , n = k ) log θ d , k ) ] = exp [ ∑ k = 1 K ( α k − 1 + ∑ n = 1 N 1 ( z d , n = k ) ) log θ d , k ] = exp ( [ α 1 − 1 + n 1 ⋯ α K − 1 + n K ] ⊤ ⏟ η l ( α , z d ) [ log θ d , 1 ⋯ log θ d , K ] ⏟ T ( θ d ) ) by letting n k = ∑ n = 1 N 1 ( z d , n = k ) = D i r ( α 1 + n 1 , … , α K + n K ) (114) \begin{aligned}
p(\boldsymbol{\theta}_d \mid \mathbf{z}_d) &= p(\boldsymbol{\theta}_d \mid \boldsymbol{\alpha}) \prod_{n=1}^N p(z_{d,n} \mid \boldsymbol{\theta}_d)\\
&= \prod_{k=1}^K \left(\theta_{d,k}^{\alpha_k-1} \prod_{n=1}^N \theta_{d,k}^{\mathbb{1}(z_{d,n}=k)} \right)\\
&= \exp \left[\log \left(\prod_{k=1}^K \left(\theta_{d,k}^{\alpha_k -1} \prod_{n=1}^N \theta_{d,k}^{\mathbb{1}(z_{d,n}=k)} \right)\right)\right]\\
&= \exp \left[\sum_{k=1}^K \log \left(\theta_{d,k}^{\alpha_k-1}\prod_{n=1}^N \theta_{d,k}^{\mathbb{1}(z_{d,n}=k)} \right) \right]\\
&= \exp \left[\sum_{k=1}^K \left(\log \theta_{d,k}^{\alpha_k -1}+ \sum_{n=1}^N \log \left(\theta_{d,k}^{\mathbb{1}(z_{d,n}=k)} \right)\right) \right]\\
&= \exp \left[\sum_{k=1}^K \left((\alpha_k -1) \log \theta_{d,k} + \sum_{n=1}^N \mathbb{1}(z_{d,n}=k) \log \theta_{d,k} \right) \right]\\
&= \exp \left[\sum_{k=1}^K \left(\alpha_k -1 + \sum_{n=1}^N \mathbb{1}(z_{d,n}=k) \right) \log \theta_{d,k} \right]\\
&= \exp \left(\underbrace{\left[\begin{array}{ccc} \alpha_1 - 1 + n_1 \\ \cdots \\ \alpha_K - 1 + n_K \end{array}\right]^{\top}}_{\eta_l(\boldsymbol{\alpha}, \mathbf{z}_d)} \underbrace{\left[\begin{array}{ccc} \log \theta_{d,1} \\ \cdots \\ \log \theta_{d,K} \end{array}\right]}_{T(\boldsymbol{\theta}_d)} \right) \quad \text{by letting } n_k=\sum_{n=1}^N \mathbb{1}(z_{d,n}=k)\\
&= \mathrm{Dir} (\alpha_1+n_1, \dots, \alpha_K + n_K)
\end{aligned}\tag{114} p ( θ d ∣ z d ) = p ( θ d ∣ α ) n = 1 ∏ N p ( z d , n ∣ θ d ) = k = 1 ∏ K ( θ d , k α k − 1 n = 1 ∏ N θ d , k 1 ( z d , n = k ) ) = exp [ log ( k = 1 ∏ K ( θ d , k α k − 1 n = 1 ∏ N θ d , k 1 ( z d , n = k ) ) ) ] = exp [ k = 1 ∑ K log ( θ d , k α k − 1 n = 1 ∏ N θ d , k 1 ( z d , n = k ) ) ] = exp [ k = 1 ∑ K ( log θ d , k α k − 1 + n = 1 ∑ N log ( θ d , k 1 ( z d , n = k ) ) ) ] = exp [ k = 1 ∑ K ( ( α k − 1 ) log θ d , k + n = 1 ∑ N 1 ( z d , n = k ) log θ d , k ) ] = exp [ k = 1 ∑ K ( α k − 1 + n = 1 ∑ N 1 ( z d , n = k ) ) log θ d , k ] = exp η l ( α , z d ) α 1 − 1 + n 1 ⋯ α K − 1 + n K ⊤ T ( θ d ) log θ d , 1 ⋯ log θ d , K by letting n k = n = 1 ∑ N 1 ( z d , n = k ) = Dir ( α 1 + n 1 , … , α K + n K ) ( 114 )
接下来用变分分布 q ( η ( γ d ) ) = D i r ( η ( γ d ) ) q(\eta(\boldsymbol{\gamma}_d))= \mathrm{Dir}(\eta(\boldsymbol{\gamma}_d)) q ( η ( γ d )) = Dir ( η ( γ d )) 来近似 p ( θ d ∣ z d ) p(\boldsymbol{\theta}_d \mid \mathbf{z}_d) p ( θ d ∣ z d ) ,利用更新公式
η ( γ d ) = E q ( z d ∣ ϕ d ) [ η l ( α , z d ) ] 狄利克雷分布的自然参数形式 = E q ( z d ∣ ϕ d ) [ ( α 1 − 1 + n 1 ) … ( α K − 1 + n K ) ] (115) \begin{aligned}
\eta(\boldsymbol{\gamma}_d)&= E_{q(\mathbf{z}_{d}\mid \boldsymbol{\phi}_{d})} [\eta_l (\boldsymbol{\alpha},\mathbf{z}_d)] \quad \text{狄利克雷分布的自然参数形式}\\
&= E_{q(\mathbf{z}_{d}\mid \boldsymbol{\phi}_{d})}[(\alpha_1-1+n_1) \dots (\alpha_K - 1+ n_K)]
\end{aligned}\tag{115} η ( γ d ) = E q ( z d ∣ ϕ d ) [ η l ( α , z d )] 狄利克雷分布的自然参数形式 = E q ( z d ∣ ϕ d ) [( α 1 − 1 + n 1 ) … ( α K − 1 + n K )] ( 115 )
计算这个期望
E q ( z d ∣ ϕ d ) [ ∑ n = 1 N 1 ( z d , n = k ) ] = ∑ n = 1 N E q ( z d ∣ ϕ d ) [ 1 ( z d , n = k ) ] = ∑ n = 1 N q ( z d , n = k ) = ∑ n = 1 N ϕ d , n k (116) \begin{aligned}
E_{q(\mathbf{z}_{d}\mid \boldsymbol{\phi}_{d})}\left[\sum_{n=1}^N \mathbb{1}(z_{d,n}=k) \right] &= \sum_{n=1}^N E_{q(\mathbf{z}_{d}\mid \boldsymbol{\phi}_{d})}[\mathbb{1}(z_{d,n}=k)]\\
&= \sum_{n=1}^N q(z_{d,n}=k)\\
&= \sum_{n=1}^N \phi_{d,n}^k
\end{aligned}\tag{116} E q ( z d ∣ ϕ d ) [ n = 1 ∑ N 1 ( z d , n = k ) ] = n = 1 ∑ N E q ( z d ∣ ϕ d ) [ 1 ( z d , n = k )] = n = 1 ∑ N q ( z d , n = k ) = n = 1 ∑ N ϕ d , n k ( 116 )
因此有
η ( γ d ) = [ ( α 1 − 1 + ∑ n = 1 N ϕ d , n 1 ) … ( α K − 1 + ∑ n = 1 N ϕ d , n K ) ] ⟹ γ d = [ ( α 1 + ∑ n = 1 N ϕ d , n 1 ) … ( α K + ∑ n = 1 N ϕ d , n K ) ] (迪利克雷分布的自然参数为 η i = γ i − 1 ) = α + ∑ n = 1 N ϕ d , n (117) \begin{aligned}
\eta(\boldsymbol{\gamma}_d) &= \left[\left(\alpha_1-1+\sum_{n=1}^N \phi_{d,n}^1\right) \dots \left(\alpha_K - 1 + \sum_{n=1}^N \phi_{d,n}^K\right) \right]\\
&\Longrightarrow \boldsymbol{\gamma}_d = \left[\left(\alpha_1 + \sum_{n=1}^N \phi_{d,n}^1\right) \dots \left(\alpha_K + \sum_{n=1}^N \phi_{d,n}^K\right)\right] \quad \text{(迪利克雷分布的自然参数为 } \eta_i = \gamma_i -1 \text{)}\\
&\quad \quad\quad= \boldsymbol{\alpha}+\sum_{n=1}^N \boldsymbol{\phi}_{d,n}
\end{aligned}\tag{117} η ( γ d ) = [ ( α 1 − 1 + n = 1 ∑ N ϕ d , n 1 ) … ( α K − 1 + n = 1 ∑ N ϕ d , n K ) ] ⟹ γ d = [ ( α 1 + n = 1 ∑ N ϕ d , n 1 ) … ( α K + n = 1 ∑ N ϕ d , n K ) ] (迪利克雷分布的自然参数为 η i = γ i − 1 ) = α + n = 1 ∑ N ϕ d , n ( 117 )
2.5.1.3 更新 λ k \boldsymbol{\lambda}_k λ k
与 γ d \boldsymbol{\gamma}_d γ d 更新公式类似,有
\boldsymbol{\lambda}_k = \xi + \sum_{d=1}^D \sum_{n=1}^N w_{d,n} \cdot \phi_{d,n}^k\tag{118}
2.5.2 基于展开式的推断
当超参数给定时,log p ( X ∣ θ ) \log p(X\mid \theta) log p ( X ∣ θ ) 是常数,因此
q ( Z ) ∗ = arg min q ( Z ) K L ( q ( Z ) ∥ p ( Z ∣ X , θ ) ) = arg max q ( Z ) E L B O = arg max q ( Z ) ∫ Z q ( Z ) log p ( X , Z ∣ θ ) q ( Z ) d Z = arg max q ( Z ) ∫ Z q ( Z ) log p ( X , Z ∣ θ ) d Z − ∫ Z q ( Z ) log q ( Z ) d Z = arg max q ( Z ) E q ( Z ) [ log p ( X , Z ∣ θ ) ] − E q ( Z ) [ log q ( Z ) ] (119) \begin{aligned}
q(Z)^* &= \arg\min_{q(Z)} \mathrm{KL}(q(Z)\|p(Z \mid X, \theta)) \\
&= \arg\max_{q(Z)} \mathrm{ELBO} \\
&= \arg\max_{q(Z)} \int_Z q(Z) \log \frac{p(X, Z \mid \theta)}{q(Z)} \, \mathrm{d}Z \\
&= \arg\max_{q(Z)} \int_Z q(Z) \log p(X, Z \mid \theta) \, \mathrm{d}Z - \int_Z q(Z) \log q(Z) \, \mathrm{d}Z \\
&= \arg\max_{q(Z)} E_{q(Z)}[\log p(X, Z \mid \theta)] - E_{q(Z)}[\log q(Z)]
\end{aligned} \tag{119} q ( Z ) ∗ = arg q ( Z ) min KL ( q ( Z ) ∥ p ( Z ∣ X , θ )) = arg q ( Z ) max ELBO = arg q ( Z ) max ∫ Z q ( Z ) log q ( Z ) p ( X , Z ∣ θ ) d Z = arg q ( Z ) max ∫ Z q ( Z ) log p ( X , Z ∣ θ ) d Z − ∫ Z q ( Z ) log q ( Z ) d Z = arg q ( Z ) max E q ( Z ) [ log p ( X , Z ∣ θ )] − E q ( Z ) [ log q ( Z )] ( 119 )
KL 散度的最小化或证据下界的最大化实际是在平均场的集合,即满足独立假设的分布集合 Q = { q ( Z ) ∣ q ( Z ) = ∏ j = 1 d q ( Z j ) } Q = \{q(Z) \mid q(Z) = \prod_{j=1}^d q(Z_j) \} Q = { q ( Z ) ∣ q ( Z ) = ∏ j = 1 d q ( Z j )} 之中进行的
log p ( w , z , φ 1 : K , θ 1 : M ∣ α , β ) = log { [ ∏ m = 1 M p ( θ m ∣ α ) ] [ ∏ k = 1 K p ( φ k ∣ β ) ] [ ∏ m = 1 M ∏ n = 1 N m p ( z m n ∣ θ m ) ] [ ∏ m = 1 M ∏ n = 1 N m p ( w m n ∣ φ 1 : K , z m n ) ] } = ∑ m = 1 M log p ( θ m ∣ α ) + ∑ k = 1 K log p ( φ k ∣ β ) + ∑ m = 1 M ∑ n = 1 N m log p ( z m n ∣ θ m ) + ∑ m = 1 M ∑ n = 1 N m log p ( w m n ∣ φ 1 : K , z m n ) (120) \begin{aligned}
&\log p\left( \mathbf{w}, \mathbf{z}, \varphi_{1:K}, \theta_{1:M} \mid \alpha, \beta \right)\\
&= \log \left\{
\left[ \prod_{m=1}^M p(\theta_m \mid \alpha) \right]
\left[ \prod_{k=1}^K p(\varphi_k \mid \beta) \right]
\left[ \prod_{m=1}^M \prod_{n=1}^{N_m} p(z_{mn} \mid \theta_m) \right]
\left[ \prod_{m=1}^M \prod_{n=1}^{N_m} p(w_{mn} \mid \varphi_{1:K}, z_{mn}) \right]
\right\} \\
&= \sum_{m=1}^M \log p(\theta_m \mid \alpha)
+ \sum_{k=1}^K \log p(\varphi_k \mid \beta)
+ \sum_{m=1}^M \sum_{n=1}^{N_m} \log p(z_{mn} \mid \theta_m)
+ \sum_{m=1}^M \sum_{n=1}^{N_m} \log p(w_{mn} \mid \varphi_{1:K}, z_{mn})
\end{aligned}\tag{120} log p ( w , z , φ 1 : K , θ 1 : M ∣ α , β ) = log { [ m = 1 ∏ M p ( θ m ∣ α ) ] [ k = 1 ∏ K p ( φ k ∣ β ) ] [ m = 1 ∏ M n = 1 ∏ N m p ( z mn ∣ θ m ) ] [ m = 1 ∏ M n = 1 ∏ N m p ( w mn ∣ φ 1 : K , z mn ) ] } = m = 1 ∑ M log p ( θ m ∣ α ) + k = 1 ∑ K log p ( φ k ∣ β ) + m = 1 ∑ M n = 1 ∑ N m log p ( z mn ∣ θ m ) + m = 1 ∑ M n = 1 ∑ N m log p ( w mn ∣ φ 1 : K , z mn ) ( 120 )
定义基于平均场的变分分布
q ( z , φ 1 : K , θ 1 : M ∣ μ 1 : K , γ 1 : M , { η m n } ) = ∏ k = 1 K q ( φ k ∣ μ k ) ∏ m = 1 M q ( θ m ∣ γ m ) ∏ m = 1 M ∏ n = 1 N m q ( z m n ∣ η m n ) = ∏ k = 1 K Dir ( φ k ∣ μ k ) ∏ m = 1 M Dir ( θ m ∣ γ m ) ∏ m = 1 M ∏ n = 1 N m Mult ( z m n ∣ η m n ) (121) \begin{aligned}
q(\mathbf{z}, \varphi_{1:K}, \theta_{1:M} \mid \mu_{1:K}, \gamma_{1:M}, \{\eta_{mn}\})
&= \prod_{k=1}^{K} q(\varphi_k \mid \mu_k)
\prod_{m=1}^{M} q(\theta_m \mid \gamma_m)
\prod_{m=1}^{M} \prod_{n=1}^{N_m} q(z_{mn} \mid \eta_{mn}) \\
&= \prod_{k=1}^{K} \text{Dir}(\varphi_k \mid \mu_k)
\prod_{m=1}^{M} \text{Dir}(\theta_m \mid \gamma_m)
\prod_{m=1}^{M} \prod_{n=1}^{N_m} \text{Mult}(z_{mn} \mid \eta_{mn})
\end{aligned}\tag{121} q ( z , φ 1 : K , θ 1 : M ∣ μ 1 : K , γ 1 : M , { η mn }) = k = 1 ∏ K q ( φ k ∣ μ k ) m = 1 ∏ M q ( θ m ∣ γ m ) m = 1 ∏ M n = 1 ∏ N m q ( z mn ∣ η mn ) = k = 1 ∏ K Dir ( φ k ∣ μ k ) m = 1 ∏ M Dir ( θ m ∣ γ m ) m = 1 ∏ M n = 1 ∏ N m Mult ( z mn ∣ η mn ) ( 121 )
展开证据下界
ELBO = E q ( z , φ 1 : K , θ 1 : M ∣ μ 1 : K , γ 1 : M , { η m n } ) [ log p ( w , z , φ 1 : K , θ 1 : M ∣ α , β ) ] − E q ( z , φ 1 : K , θ 1 : M ∣ μ 1 : K , γ 1 : M , { η m n } ) [ log q ( z , φ 1 : K , θ 1 : M ∣ μ 1 : K , γ 1 : M , { η m n } ) ] = ∑ m = 1 M E q ( θ m ∣ γ m ) [ log p ( θ m ∣ α ) ] + ∑ k = 1 K E q ( φ k ∣ μ k ) [ log p ( φ k ∣ β ) ] + ∑ m = 1 M ∑ n = 1 N m E q ( z m n , θ m ∣ η m n , γ m ) [ log p ( z m n ∣ θ m ) ] + ∑ m = 1 M ∑ n = 1 N m E q ( φ 1 : K , z m n ∣ μ 1 : K , η m n ) [ log p ( w m n ∣ φ 1 : K , z m n ) ] − ∑ k = 1 K E q ( φ k ∣ μ k ) [ log q ( φ k ∣ μ k ) ] − ∑ m = 1 M E q ( θ m ∣ γ m ) [ log q ( θ m ∣ γ m ) ] − ∑ m = 1 M ∑ n = 1 N m E q ( z m n ∣ η m n ) [ log q ( z m n ∣ η m n ) ] (122) \begin{aligned}
\text{ELBO} &= E_{q(\mathbf{z}, \varphi_{1:K}, \theta_{1:M} \mid \mu_{1:K}, \gamma_{1:M}, \{ \eta_{mn} \})} \left[ \log p(\mathbf{w}, \mathbf{z}, \varphi_{1:K}, \theta_{1:M} \mid \alpha, \beta) \right] \\
&\quad - E_{q(\mathbf{z}, \varphi_{1:K}, \theta_{1:M} \mid \mu_{1:K}, \gamma_{1:M}, \{\eta_{mn} \})} \left[ \log q(\mathbf{z}, \varphi_{1:K}, \theta_{1:M} \mid \mu_{1:K}, \gamma_{1:M}, \{\eta_{mn}\}) \right] \\
&= \sum_{m=1}^{M} E_{q(\theta_m \mid \gamma_m)} \left[ \log p(\theta_m \mid \alpha) \right] + \sum_{k=1}^{K} E_{q(\varphi_k \mid \mu_k)} \left[ \log p(\varphi_k \mid \beta) \right] + \sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q(z_{mn}, \theta_m \mid \eta_{mn},\gamma_m)} \left[ \log p(z_{mn} \mid \theta_m) \right] \\
&\quad + \sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q(\varphi_{1:K}, z_{mn} \mid \mu_{1:K}, \eta_{mn})} \left[ \log p(w_{mn} \mid \varphi_{1:K}, z_{mn}) \right] - \sum_{k=1}^{K} E_{q(\varphi_k \mid \mu_k)} \left[ \log q(\varphi_k \mid \mu_k) \right] \\
&\quad - \sum_{m=1}^{M} E_{q(\theta_m \mid \gamma_m)} \left[ \log q(\theta_m \mid \gamma_m) \right] - \sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q(z_{mn} \mid \eta_{mn})} \left[ \log q(z_{mn} \mid \eta_{mn}) \right]
\end{aligned}\tag{122} ELBO = E q ( z , φ 1 : K , θ 1 : M ∣ μ 1 : K , γ 1 : M , { η mn }) [ log p ( w , z , φ 1 : K , θ 1 : M ∣ α , β ) ] − E q ( z , φ 1 : K , θ 1 : M ∣ μ 1 : K , γ 1 : M , { η mn }) [ log q ( z , φ 1 : K , θ 1 : M ∣ μ 1 : K , γ 1 : M , { η mn }) ] = m = 1 ∑ M E q ( θ m ∣ γ m ) [ log p ( θ m ∣ α ) ] + k = 1 ∑ K E q ( φ k ∣ μ k ) [ log p ( φ k ∣ β ) ] + m = 1 ∑ M n = 1 ∑ N m E q ( z mn , θ m ∣ η mn , γ m ) [ log p ( z mn ∣ θ m ) ] + m = 1 ∑ M n = 1 ∑ N m E q ( φ 1 : K , z mn ∣ μ 1 : K , η mn ) [ log p ( w mn ∣ φ 1 : K , z mn ) ] − k = 1 ∑ K E q ( φ k ∣ μ k ) [ log q ( φ k ∣ μ k ) ] − m = 1 ∑ M E q ( θ m ∣ γ m ) [ log q ( θ m ∣ γ m ) ] − m = 1 ∑ M n = 1 ∑ N m E q ( z mn ∣ η mn ) [ log q ( z mn ∣ η mn ) ] ( 122 )
第一项:
∑ m = 1 M E q ( θ m ∣ γ m ) [ log p ( θ m ∣ α ) ] = ∑ m = 1 M E q ( θ m ∣ γ m ) [ log ( Γ ( ∑ k = 1 K α k ) ∏ k = 1 K Γ ( α k ) ∏ k = 1 K θ m k α k − 1 ) ] = ∑ m = 1 M E q ( θ m ∣ γ m ) [ log Γ ( ∑ k = 1 K α k ) − ∑ k = 1 K log Γ ( α k ) + ∑ k = 1 K ( α k − 1 ) log θ m k ] = ∑ m = 1 M log Γ ( ∑ k = 1 K α k ) − ∑ m = 1 M ∑ k = 1 K log Γ ( α k ) + ∑ m = 1 M ∑ k = 1 K ( α k − 1 ) E q ( θ m ∣ γ m ) [ log θ m k ] = ∑ m = 1 M log Γ ( ∑ k = 1 K α k ) − ∑ m = 1 M ∑ k = 1 K log Γ ( α k ) + ∑ m = 1 M ∑ k = 1 K ( α k − 1 ) [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] (123) \begin{aligned}
&\sum_{m=1}^{M} E_{q(\theta_m | \gamma_m)} \left[ \log p(\theta_m \mid \alpha) \right] \\
&= \sum_{m=1}^{M} E_{q(\theta_m | \gamma_m)} \left[ \log \left( \frac{\Gamma\left(\sum_{k=1}^{K} \alpha_k\right)}{\prod_{k=1}^{K} \Gamma(\alpha_k)} \prod_{k=1}^{K} \theta_{mk}^{\alpha_k - 1} \right) \right] \\
&= \sum_{m=1}^{M} \mathbb{E}_{q(\theta_m | \gamma_m)} \left[ \log \Gamma\left( \sum_{k=1}^{K} \alpha_k \right) - \sum_{k=1}^{K} \log \Gamma(\alpha_k) + \sum_{k=1}^{K} (\alpha_k - 1) \log \theta_{mk} \right] \\
&= \sum_{m=1}^{M} \log \Gamma\left( \sum_{k=1}^{K} \alpha_k \right) - \sum_{m=1}^{M} \sum_{k=1}^{K} \log \Gamma(\alpha_k) + \sum_{m=1}^{M} \sum_{k=1}^{K} (\alpha_k - 1) E_{q(\theta_m | \gamma_m)} \left[ \log \theta_{mk} \right] \\
&= \sum_{m=1}^{M} \log \Gamma\left( \sum_{k=1}^{K} \alpha_k \right) - \sum_{m=1}^{M} \sum_{k=1}^{K} \log \Gamma(\alpha_k) + \sum_{m=1}^{M} \sum_{k=1}^{K} (\alpha_k - 1) \left[ \psi(\gamma_{mk}) - \psi\left( \sum_{l=1}^{K} \gamma_{ml} \right) \right]
\end{aligned}\tag{123} m = 1 ∑ M E q ( θ m ∣ γ m ) [ log p ( θ m ∣ α ) ] = m = 1 ∑ M E q ( θ m ∣ γ m ) log ∏ k = 1 K Γ ( α k ) Γ ( ∑ k = 1 K α k ) k = 1 ∏ K θ mk α k − 1 = m = 1 ∑ M E q ( θ m ∣ γ m ) [ log Γ ( k = 1 ∑ K α k ) − k = 1 ∑ K log Γ ( α k ) + k = 1 ∑ K ( α k − 1 ) log θ mk ] = m = 1 ∑ M log Γ ( k = 1 ∑ K α k ) − m = 1 ∑ M k = 1 ∑ K log Γ ( α k ) + m = 1 ∑ M k = 1 ∑ K ( α k − 1 ) E q ( θ m ∣ γ m ) [ log θ mk ] = m = 1 ∑ M log Γ ( k = 1 ∑ K α k ) − m = 1 ∑ M k = 1 ∑ K log Γ ( α k ) + m = 1 ∑ M k = 1 ∑ K ( α k − 1 ) [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] ( 123 )
此处用到迪利克雷分布作为指数族分布的性质:对数规范化因子对自然参数的导数等于充分统计量的数学期望,ψ \psi ψ 是 digamma 函数,即对数伽马函数的一阶导数。
第二项:
∑ k = 1 K E q ( φ k ∣ μ k ) [ log p ( φ k ∣ β ) ] = ∑ k = 1 K log Γ ( ∑ v = 1 V β v ) − ∑ k = 1 K ∑ v = 1 V log Γ ( β v ) + ∑ k = 1 K ∑ v = 1 V ( β v − 1 ) [ ψ ( μ k v ) − ψ ( ∑ s = 1 V μ k s ) ] (124) \begin{aligned}
&\sum_{k=1}^{K} E_{q\left(\varphi_{k} \mid \mu_{k}\right)}\left[\log p\left(\varphi_{k} \mid \boldsymbol{\beta}\right)\right] \\
&=\sum_{k=1}^{K} \log \Gamma\left(\sum_{v=1}^{V} \beta_{v}\right)-\sum_{k=1}^{K} \sum_{v=1}^{V} \log \Gamma\left(\beta_{v}\right)+\sum_{k=1}^{K} \sum_{v=1}^{V}\left(\beta_{v}-1\right)\left[\psi\left(\mu_{k v}\right)-\psi\left(\sum_{s=1}^{V} \mu_{k s}\right)\right]
\end{aligned}\tag{124} k = 1 ∑ K E q ( φ k ∣ μ k ) [ log p ( φ k ∣ β ) ] = k = 1 ∑ K log Γ ( v = 1 ∑ V β v ) − k = 1 ∑ K v = 1 ∑ V log Γ ( β v ) + k = 1 ∑ K v = 1 ∑ V ( β v − 1 ) [ ψ ( μ k v ) − ψ ( s = 1 ∑ V μ k s ) ] ( 124 )
第三项:
∑ m = 1 M ∑ n = 1 N m E q ( z m n , θ m ∣ η m n , γ m ) [ log p ( z m n ∣ θ m ) ] = ∑ m = 1 M ∑ n = 1 N m E q ( z m n , θ m ∣ η m n , γ m ) [ log ∏ k = 1 K ( θ m k ) I ( z m n = k ) ] = ∑ m = 1 M ∑ n = 1 N m E q ( z m n , θ m ∣ η m n , γ m ) [ ∑ k = 1 K I ( z m n = k ) log θ m k ] = ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K E q ( z m n , θ m ∣ η m n , γ m ) [ I ( z m n = k ) log θ m k ] = ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K E q ( z m n ∣ η m n ) [ I ( z m n = k ) ] E q ( θ m ∣ γ m ) [ log θ m k ] = ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K η m n k [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] (125) \begin{aligned}
&\sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q(z_{mn}, \theta_m \mid \eta_{mn}, \gamma_m)} [\log p(z_{mn} \mid \theta_m)] \\
&= \sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q(z_{mn}, \theta_m \mid \eta_{mn}, \gamma_m)} \left[ \log \prod_{k=1}^{K} (\theta_{mk})^{\mathbb{I}(z_{mn}=k)} \right] \\
&= \sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q(z_{mn}, \theta_m \mid \eta_{mn}, \gamma_m)} \left[ \sum_{k=1}^{K} \mathbb{I}(z_{mn}=k) \log \theta_{mk} \right] \\
&= \sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} E_{q(z_{mn}, \theta_m \mid \eta_{mn}, \gamma_m)} [\mathbb{I}(z_{mn}=k) \log \theta_{mk}] \\
&= \sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} E_{q(z_{mn} \mid \eta_{mn})} [\mathbb{I}(z_{mn}=k)] E_{q(\theta_m \mid \gamma_m)} [\log \theta_{mk}] \\
&= \sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk} \left[ \psi(\gamma_{mk}) - \psi \left( \sum_{l=1}^{K} \gamma_{ml} \right) \right]
\end{aligned}\tag{125} m = 1 ∑ M n = 1 ∑ N m E q ( z mn , θ m ∣ η mn , γ m ) [ log p ( z mn ∣ θ m )] = m = 1 ∑ M n = 1 ∑ N m E q ( z mn , θ m ∣ η mn , γ m ) [ log k = 1 ∏ K ( θ mk ) I ( z mn = k ) ] = m = 1 ∑ M n = 1 ∑ N m E q ( z mn , θ m ∣ η mn , γ m ) [ k = 1 ∑ K I ( z mn = k ) log θ mk ] = m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K E q ( z mn , θ m ∣ η mn , γ m ) [ I ( z mn = k ) log θ mk ] = m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K E q ( z mn ∣ η mn ) [ I ( z mn = k )] E q ( θ m ∣ γ m ) [ log θ mk ] = m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K η mnk [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] ( 125 )
第四项:
∑ m = 1 M ∑ n = 1 N m E q ( φ 1 : K , z m n ∣ μ 1 : K , η m n ) [ log p ( w m n ∣ φ 1 : K , z m n ) ] = ∑ m = 1 M ∑ n = 1 N m E q ( φ 1 : K , z m n ∣ μ 1 : K , η m n ) [ log ∏ k = 1 K φ k , i ( w m n ) I ( z m n = k ) ] = ∑ m = 1 M ∑ n = 1 N m E q ( φ 1 : K , z m n ∣ μ 1 : K , η m n ) [ ∑ k = 1 K I ( z m n = k ) log φ k , i ( w m n ) ] = ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K E q ( φ k , z m n ∣ μ k , η m n ) [ I ( z m n = k ) log φ k , i ( w m n ) ] = ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K E q ( z m n ∣ η m n ) [ I ( z m n = k ) ] E q ( φ k ∣ μ k ) [ log φ k , i ( w m n ) ] = ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K η m n k [ ψ ( μ k , i ( w m n ) ) − ψ ( ∑ s = 1 V μ k s ) ] (126) \begin{aligned}
&\sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q\left(\boldsymbol{\varphi}_{1: K}, z_{mn} \mid {\mu}_{1: K}, {\eta}_{mn}\right)}\left[\log p\left(w_{mn} \mid {\varphi}_{1: K}, {z}_{mn}\right)\right] \\
&=\sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q\left({\varphi}_{1: K}, {z}_{mn} \mid {\mu}_{1: K}, {\eta}_{mn}\right)}\left[\log \prod_{k=1}^{K} \varphi_{k, i\left(w_{mn}\right)}^{\mathbb{I}\left(z_{mn}=k\right)}\right] \\
&=\sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q\left({\varphi}_{1: K}, {z}_{mn} \mid {\mu}_{1: K}, {\eta}_{mn}\right)}\left[\sum_{k=1}^{K} \mathbb{I}\left(z_{mn}=k\right) \log \varphi_{k, i\left(w_{mn}\right)}\right] \\
&=\sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} E_{q\left(\varphi_{k}, z_{mn} \mid \mu_{k}, \eta_{mn}\right)}\left[\mathbb{I}\left(z_{mn}=k\right) \log \varphi_{k, i\left(w_{mn}\right)}\right] \\
&=\sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} E_{q\left(z_{mn} \mid \eta_{mn}\right)}\left[\mathbb{I}\left(z_{mn}=k\right)\right] E_{q\left(\varphi_{k} \mid \mu_{k}\right)}\left[\log \varphi_{k, i\left(w_{mn}\right)}\right] \\
&=\sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk}\left[\psi\left(\mu_{k, i\left(w_{mn}\right)}\right)-\psi\left(\sum_{s=1}^{V} \mu_{k s}\right)\right]
\end{aligned}\tag{126} m = 1 ∑ M n = 1 ∑ N m E q ( φ 1 : K , z mn ∣ μ 1 : K , η mn ) [ log p ( w mn ∣ φ 1 : K , z mn ) ] = m = 1 ∑ M n = 1 ∑ N m E q ( φ 1 : K , z mn ∣ μ 1 : K , η mn ) [ log k = 1 ∏ K φ k , i ( w mn ) I ( z mn = k ) ] = m = 1 ∑ M n = 1 ∑ N m E q ( φ 1 : K , z mn ∣ μ 1 : K , η mn ) [ k = 1 ∑ K I ( z mn = k ) log φ k , i ( w mn ) ] = m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K E q ( φ k , z mn ∣ μ k , η mn ) [ I ( z mn = k ) log φ k , i ( w mn ) ] = m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K E q ( z mn ∣ η mn ) [ I ( z mn = k ) ] E q ( φ k ∣ μ k ) [ log φ k , i ( w mn ) ] = m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K η mnk [ ψ ( μ k , i ( w mn ) ) − ψ ( s = 1 ∑ V μ k s ) ] ( 126 )
式中 i ( w m n ) ∈ { 1 , … , V } i(w_{mn})\in \{1, \dots, V\} i ( w mn ) ∈ { 1 , … , V } 表示单词 w m n w_{mn} w mn 的索引。
第五项:
− ∑ k = 1 K E q ( φ k ∣ μ k ) [ log q ( φ k ∣ μ k ) ] = − ∑ k = 1 K E q ( φ k ∣ μ k ) [ log ( Γ ( ∑ v = 1 V μ k v ) ∏ v = 1 V Γ ( μ k v ) ∏ v = 1 V φ k v μ k v − 1 ) ] = − ∑ k = 1 K E q ( φ k ∣ μ k ) [ log Γ ( ∑ v = 1 V μ k v ) − ∑ v = 1 V log Γ ( μ k v ) + ∑ v = 1 V ( μ k v − 1 ) log φ k v ] = − ∑ k = 1 K log Γ ( ∑ v = 1 V μ k v ) + ∑ k = 1 K ∑ v = 1 V log Γ ( μ k v ) − ∑ k = 1 K ∑ v = 1 V ( μ k v − 1 ) E q ( φ k ∣ μ k ) [ log φ k v ] = − ∑ k = 1 K log Γ ( ∑ v = 1 V μ k v ) + ∑ k = 1 K ∑ v = 1 V log Γ ( μ k v ) − ∑ k = 1 K ∑ v = 1 V ( μ k v − 1 ) [ ψ ( μ k v ) − ψ ( ∑ s = 1 V μ k s ) ] (127) \begin{aligned}
&-\sum_{k=1}^{K} E_{q\left(\varphi_{k} \mid \mu_{k}\right)}\left[\log q\left(\varphi_{k} \mid \mu_{k}\right)\right] \\
&=-\sum_{k=1}^{K} E_{q\left(\varphi_{k} \mid \mu_{k}\right)}\left[\log \left(\frac{\Gamma\left(\sum_{v=1}^{V} \mu_{k v}\right)}{\prod_{v=1}^{V} \Gamma\left(\mu_{k v}\right)} \prod_{v=1}^{V} \varphi_{k v}^{\mu_{k v}-1}\right)\right] \\
&=-\sum_{k=1}^{K} E_{q\left(\varphi_{k} \mid \mu_{k}\right)}\left[\log \Gamma\left(\sum_{v=1}^{V} \mu_{k v}\right)-\sum_{v=1}^{V} \log \Gamma\left(\mu_{k v}\right)+\sum_{v=1}^{V}\left(\mu_{k v}-1\right) \log \varphi_{k v}\right] \\
&=-\sum_{k=1}^{K} \log \Gamma\left(\sum_{v=1}^{V} \mu_{k v}\right)+\sum_{k=1}^{K} \sum_{v=1}^{V} \log \Gamma\left(\mu_{k v}\right)-\sum_{k=1}^{K} \sum_{v=1}^{V}\left(\mu_{k v}-1\right) E_{q\left(\varphi_{k} \mid \mu_{k}\right)}\left[\log \varphi_{k v}\right] \\
&=-\sum_{k=1}^{K} \log \Gamma\left(\sum_{v=1}^{V} \mu_{k v}\right)+\sum_{k=1}^{K} \sum_{v=1}^{V} \log \Gamma\left(\mu_{k v}\right)-\sum_{k=1}^{K} \sum_{v=1}^{V}\left(\mu_{k v}-1\right)\left[\psi\left(\mu_{k v}\right)-\psi\left(\sum_{s=1}^{V} \mu_{k s}\right)\right]
\end{aligned}\tag{127} − k = 1 ∑ K E q ( φ k ∣ μ k ) [ log q ( φ k ∣ μ k ) ] = − k = 1 ∑ K E q ( φ k ∣ μ k ) log ∏ v = 1 V Γ ( μ k v ) Γ ( ∑ v = 1 V μ k v ) v = 1 ∏ V φ k v μ k v − 1 = − k = 1 ∑ K E q ( φ k ∣ μ k ) [ log Γ ( v = 1 ∑ V μ k v ) − v = 1 ∑ V log Γ ( μ k v ) + v = 1 ∑ V ( μ k v − 1 ) log φ k v ] = − k = 1 ∑ K log Γ ( v = 1 ∑ V μ k v ) + k = 1 ∑ K v = 1 ∑ V log Γ ( μ k v ) − k = 1 ∑ K v = 1 ∑ V ( μ k v − 1 ) E q ( φ k ∣ μ k ) [ log φ k v ] = − k = 1 ∑ K log Γ ( v = 1 ∑ V μ k v ) + k = 1 ∑ K v = 1 ∑ V log Γ ( μ k v ) − k = 1 ∑ K v = 1 ∑ V ( μ k v − 1 ) [ ψ ( μ k v ) − ψ ( s = 1 ∑ V μ k s ) ] ( 127 )
第六项:
− ∑ m = 1 M E q ( θ m ∣ γ m ) [ log q ( θ m ∣ γ m ) ] = − ∑ m = 1 M log Γ ( ∑ k = 1 K γ m k ) + ∑ m = 1 M ∑ k = 1 K log Γ ( γ m k ) − ∑ m = 1 M ∑ k = 1 K ( γ m k − 1 ) [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] (128) \begin{aligned}
&-\sum_{m=1}^{M} E_{q\left(\theta_{m} \mid \gamma_{m}\right)}\left[\log q\left(\theta_{m} \mid \gamma_{m}\right)\right] \\
&=-\sum_{m=1}^{M} \log \Gamma\left(\sum_{k=1}^{K} \gamma_{m k}\right)+\sum_{m=1}^{M} \sum_{k=1}^{K} \log \Gamma\left(\gamma_{m k}\right)-\sum_{m=1}^{M} \sum_{k=1}^{K}\left(\gamma_{m k}-1\right)\left[\psi\left(\gamma_{m k}\right)-\psi\left(\sum_{l=1}^{K} \gamma_{m l}\right)\right]
\end{aligned}\tag{128} − m = 1 ∑ M E q ( θ m ∣ γ m ) [ log q ( θ m ∣ γ m ) ] = − m = 1 ∑ M log Γ ( k = 1 ∑ K γ mk ) + m = 1 ∑ M k = 1 ∑ K log Γ ( γ mk ) − m = 1 ∑ M k = 1 ∑ K ( γ mk − 1 ) [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] ( 128 )
第七项:
− ∑ m = 1 M ∑ n = 1 N m E q ( z m n ∣ η m n ) [ log q ( z m n ∣ η m n ) ] = − ∑ m = 1 M ∑ n = 1 N m E q ( z m n ∣ η m n ) [ log ∏ k = 1 K η m n k I ( z m n = k ) ] = − ∑ m = 1 M ∑ n = 1 N m E q ( z m n ∣ η m n ) [ ∑ k = 1 K I ( z m n = k ) log η m n k ] = − ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K E q ( z m n ∣ η m n ) [ I ( z m n = k ) ] ⋅ log η m n k = − ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K η m n k log η m n k (129) \begin{aligned}
&-\sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q(z_{mn} \mid \eta_{mn})} [\log q(z_{mn} \mid \eta_{mn})] \\
&= -\sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q(z_{mn} \mid \eta_{mn})} \left[ \log \prod_{k=1}^{K} \eta_{mnk}^{\mathbb{I}(z_{mn}=k)} \right] \\
&= -\sum_{m=1}^{M} \sum_{n=1}^{N_m} E_{q(z_{mn} \mid \eta_{mn})} \left[ \sum_{k=1}^{K} \mathbb{I}(z_{mn}=k) \log \eta_{mnk} \right] \\
&= -\sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} E_{q(z_{mn} \mid \eta_{mn})} [\mathbb{I}(z_{mn}=k)] \cdot \log \eta_{mnk} \\
&= -\sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk} \log \eta_{mnk}
\end{aligned}\tag{129} − m = 1 ∑ M n = 1 ∑ N m E q ( z mn ∣ η mn ) [ log q ( z mn ∣ η mn )] = − m = 1 ∑ M n = 1 ∑ N m E q ( z mn ∣ η mn ) [ log k = 1 ∏ K η mnk I ( z mn = k ) ] = − m = 1 ∑ M n = 1 ∑ N m E q ( z mn ∣ η mn ) [ k = 1 ∑ K I ( z mn = k ) log η mnk ] = − m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K E q ( z mn ∣ η mn ) [ I ( z mn = k )] ⋅ log η mnk = − m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K η mnk log η mnk ( 129 )
上述七项合并得到
ELBO ( μ 1 : K , γ 1 : M , { η m n } , α , β ) = L ( μ 1 : K , γ 1 : M , { η m n } , α , β ) = ∑ m = 1 M log Γ ( ∑ k = 1 K α k ) − ∑ m = 1 M ∑ k = 1 K log Γ ( α k ) + ∑ m = 1 M ∑ k = 1 K ( α k − 1 ) [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] + ∑ k = 1 K log Γ ( ∑ v = 1 V β v ) − ∑ k = 1 K ∑ v = 1 V log Γ ( β v ) + ∑ k = 1 K ∑ v = 1 V ( β v − 1 ) [ ψ ( μ k v ) − ψ ( ∑ s = 1 V μ k s ) ] + ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K η m n k [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] + ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K η m n k [ ψ ( μ k , i ( w m n ) ) − ψ ( ∑ s = 1 V μ k s ) ] − ∑ k = 1 K log Γ ( ∑ v = 1 V μ k v ) + ∑ k = 1 K ∑ v = 1 V log Γ ( μ k v ) − ∑ k = 1 K ∑ v = 1 V ( μ k v − 1 ) [ ψ ( μ k v ) − ψ ( ∑ s = 1 V μ k s ) ] − ∑ m = 1 M log Γ ( ∑ k = 1 K γ m k ) + ∑ m = 1 M ∑ k = 1 K log Γ ( γ m k ) − ∑ m = 1 M ∑ k = 1 K ( γ m k − 1 ) [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] − ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K η m n k log η m n k (130) \begin{aligned}
&\text{ELBO}({\mu}_{1: K}, {\gamma}_{1: M} , \{\eta_{mn}\}, \alpha, {\beta}) \\
&=\mathcal{L}({\mu}_{1: K}, {\gamma}_{1: M} , \{\eta_{mn}\}, \alpha, {\beta}) \\
&=\sum_{m=1}^{M} \log \Gamma\left(\sum_{k=1}^{K} \alpha_{k}\right)-\sum_{m=1}^{M} \sum_{k=1}^{K} \log \Gamma\left(\alpha_{k}\right)+\sum_{m=1}^{M} \sum_{k=1}^{K}\left(\alpha_{k}-1\right)\left[\psi\left(\gamma_{m k}\right)-\psi\left(\sum_{l=1}^{K} \gamma_{m l}\right)\right] \\
&+\sum_{k=1}^{K} \log \Gamma\left(\sum_{v=1}^{V} \beta_{v}\right)-\sum_{k=1}^{K} \sum_{v=1}^{V} \log \Gamma\left(\beta_{v}\right)+\sum_{k=1}^{K} \sum_{v=1}^{V}\left(\beta_{v}-1\right)\left[\psi\left(\mu_{k v}\right)-\psi\left(\sum_{s=1}^{V} \mu_{k s}\right)\right] \\
&+\sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk}\left[\psi\left(\gamma_{m k}\right)-\psi\left(\sum_{l=1}^{K} \gamma_{m l}\right)\right] \\
&+\sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk}\left[\psi\left(\mu_{k, i\left(w_{mn}\right)}\right)-\psi\left(\sum_{s=1}^{V} \mu_{k s}\right)\right] \\
&-\sum_{k=1}^{K} \log \Gamma\left(\sum_{v=1}^{V} \mu_{k v}\right)+\sum_{k=1}^{K} \sum_{v=1}^{V} \log \Gamma\left(\mu_{k v}\right)-\sum_{k=1}^{K} \sum_{v=1}^{V}\left(\mu_{k v}-1\right)\left[\psi\left(\mu_{k v}\right)-\psi\left(\sum_{s=1}^{V} \mu_{k s}\right)\right] \\
&-\sum_{m=1}^{M} \log \Gamma\left(\sum_{k=1}^{K} \gamma_{m k}\right)+\sum_{m=1}^{M} \sum_{k=1}^{K} \log \Gamma\left(\gamma_{m k}\right)-\sum_{m=1}^{M} \sum_{k=1}^{K}\left(\gamma_{m k}-1\right)\left[\psi\left(\gamma_{m k}\right)-\psi\left(\sum_{l=1}^{K} \gamma_{m l}\right)\right] \\
&-\sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk} \log \eta_{mnk}
\end{aligned}\tag{130} ELBO ( μ 1 : K , γ 1 : M , { η mn } , α , β ) = L ( μ 1 : K , γ 1 : M , { η mn } , α , β ) = m = 1 ∑ M log Γ ( k = 1 ∑ K α k ) − m = 1 ∑ M k = 1 ∑ K log Γ ( α k ) + m = 1 ∑ M k = 1 ∑ K ( α k − 1 ) [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] + k = 1 ∑ K log Γ ( v = 1 ∑ V β v ) − k = 1 ∑ K v = 1 ∑ V log Γ ( β v ) + k = 1 ∑ K v = 1 ∑ V ( β v − 1 ) [ ψ ( μ k v ) − ψ ( s = 1 ∑ V μ k s ) ] + m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K η mnk [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] + m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K η mnk [ ψ ( μ k , i ( w mn ) ) − ψ ( s = 1 ∑ V μ k s ) ] − k = 1 ∑ K log Γ ( v = 1 ∑ V μ k v ) + k = 1 ∑ K v = 1 ∑ V log Γ ( μ k v ) − k = 1 ∑ K v = 1 ∑ V ( μ k v − 1 ) [ ψ ( μ k v ) − ψ ( s = 1 ∑ V μ k s ) ] − m = 1 ∑ M log Γ ( k = 1 ∑ K γ mk ) + m = 1 ∑ M k = 1 ∑ K log Γ ( γ mk ) − m = 1 ∑ M k = 1 ∑ K ( γ mk − 1 ) [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] − m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K η mnk log η mnk ( 130 )
目标函数 L ( μ 1 : K , γ 1 : M , { η m n } , α , β ) \mathcal{L}(\mu_{1:K}, \gamma_{1:M}, \{\eta_{mn}\}, \alpha,\beta) L ( μ 1 : K , γ 1 : M , { η mn } , α , β ) 中关于 μ k \mu_k μ k 的部分:
L [ μ k ] = ∑ v = 1 V ( β v − 1 ) [ ψ ( μ k v ) − ψ ( ∑ s = 1 V μ k s ) ] + ∑ m = 1 M ∑ n = 1 N m η m n k [ ψ ( μ k , i ( w m n ) ) − ψ ( ∑ s = 1 V μ k s ) ] − log Γ ( ∑ v = 1 V μ k v ) + ∑ v = 1 V log Γ ( μ k v ) − ∑ v = 1 V ( μ k v − 1 ) [ ψ ( μ k v ) − ψ ( ∑ s = 1 V μ k s ) ] = ∑ v = 1 V [ ψ ( μ k v ) − ψ ( ∑ s = 1 V μ k s ) ] ( β v + ∑ m = 1 M ∑ n = 1 N m η m n k I ( i ( w m n ) = v ) − μ k v ) − log Γ ( ∑ v = 1 V μ k v ) + ∑ v = 1 V log Γ ( μ k v ) (131) \begin{aligned}
\mathcal{L}_{[{\mu}_k]} &= \sum_{v=1}^{V} (\beta_v - 1) \left[ \psi(\mu_{kv}) - \psi\left(\sum_{s=1}^{V} \mu_{ks}\right) \right] + \sum_{m=1}^{M} \sum_{n=1}^{N_m} \eta_{mnk} \left[ \psi(\mu_{k, i(w_{mn})}) - \psi\left(\sum_{s=1}^{V} \mu_{ks}\right) \right] \\
& \quad - \log \Gamma\left(\sum_{v=1}^{V} \mu_{kv}\right) + \sum_{v=1}^{V} \log \Gamma(\mu_{kv}) - \sum_{v=1}^{V} (\mu_{kv} - 1) \left[ \psi(\mu_{kv}) - \psi\left(\sum_{s=1}^{V} \mu_{ks}\right) \right] \\
&= \sum_{v=1}^{V} \left[ \psi(\mu_{kv}) - \psi\left(\sum_{s=1}^{V} \mu_{ks}\right) \right] \left( \beta_v + \sum_{m=1}^{M} \sum_{n=1}^{N_m} \eta_{mnk} \mathbb{I}(i(w_{mn}) = v) - \mu_{kv} \right) \\
& \quad - \log \Gamma\left(\sum_{v=1}^{V} \mu_{kv}\right) + \sum_{v=1}^{V} \log \Gamma(\mu_{kv})
\end{aligned}\tag{131} L [ μ k ] = v = 1 ∑ V ( β v − 1 ) [ ψ ( μ k v ) − ψ ( s = 1 ∑ V μ k s ) ] + m = 1 ∑ M n = 1 ∑ N m η mnk [ ψ ( μ k , i ( w mn ) ) − ψ ( s = 1 ∑ V μ k s ) ] − log Γ ( v = 1 ∑ V μ k v ) + v = 1 ∑ V log Γ ( μ k v ) − v = 1 ∑ V ( μ k v − 1 ) [ ψ ( μ k v ) − ψ ( s = 1 ∑ V μ k s ) ] = v = 1 ∑ V [ ψ ( μ k v ) − ψ ( s = 1 ∑ V μ k s ) ] ( β v + m = 1 ∑ M n = 1 ∑ N m η mnk I ( i ( w mn ) = v ) − μ k v ) − log Γ ( v = 1 ∑ V μ k v ) + v = 1 ∑ V log Γ ( μ k v ) ( 131 )
分别关于 μ k v \mu_{kv} μ k v ,v = 1 , … , V v=1,\dots,V v = 1 , … , V 求偏导,得到
\left[\sum_{m=1}^M \sum_{n=1}^{N_m} \mathbb{I}(i(w_{mn})=v)\cdot \eta_{mnk}+\beta_v -\mu_{kv} \right]\cdot \psi'(\mu_{kv}) + \left[-\sum_{m=1}^M \sum_{n=1}^{N_m} \eta_{mnk}+\sum_{s=1}^V (\mu_{ks}-\beta_s) \right] \cdot \psi'(\sum_{s=1}^V \mu_{ks}) \tag{132}
因为 KL 散度为 q ( z ) q(z) q ( z ) 的凸函数,而对单个变分参数的优化等价于优化一个 KL 散度加一个常数(见式(73)),所以令偏导数为零,得到 μ k v \mu_{kv} μ k v 的更新公式
\mu_{kv} = \beta_v +\sum_{m=1}^M \sum_{n=1}^{N_m} \eta_{mnk} \mathbb{I}(i(w_{mn}=v))\tag{133}
目标函数 L ( μ 1 : K , γ 1 : M , { η m n } , α , β ) \mathcal{L}(\mu_{1:K}, \gamma_{1:M}, \{\eta_{mn}\}, \alpha,\beta) L ( μ 1 : K , γ 1 : M , { η mn } , α , β ) 中关于 γ m \gamma_m γ m 的部分:
L [ γ m ] = ∑ k = 1 K ( α k − 1 ) [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] + ∑ n = 1 N m ∑ k = 1 K η m n k [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] − log Γ ( ∑ k = 1 K γ m k ) + ∑ k = 1 K log Γ ( γ m k ) − ∑ k = 1 K ( γ m k − 1 ) [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] = ∑ k = 1 K [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] ( α k + ∑ n = 1 N m η m n k − γ m k ) − log Γ ( ∑ k = 1 K γ m k ) + ∑ k = 1 K log Γ ( γ m k ) (134) \begin{aligned}
\mathcal{L}_{[\boldsymbol{\gamma}_m]} &= \sum_{k=1}^{K} (\alpha_k - 1) \left[ \psi(\gamma_{mk}) - \psi \left( \sum_{l=1}^{K} \gamma_{ml} \right) \right] + \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk} \left[ \psi(\gamma_{mk}) - \psi \left( \sum_{l=1}^{K} \gamma_{ml} \right) \right] \\
& \quad - \log \Gamma \left( \sum_{k=1}^{K} \gamma_{mk} \right) + \sum_{k=1}^{K} \log \Gamma (\gamma_{mk}) - \sum_{k=1}^{K} (\gamma_{mk} - 1) \left[ \psi(\gamma_{mk}) - \psi \left( \sum_{l=1}^{K} \gamma_{ml} \right) \right] \\
&= \sum_{k=1}^{K} \left[ \psi(\gamma_{mk}) - \psi \left( \sum_{l=1}^{K} \gamma_{ml} \right) \right] \left( \alpha_k + \sum_{n=1}^{N_m} \eta_{mnk} - \gamma_{mk} \right) \\
& \quad - \log \Gamma \left( \sum_{k=1}^{K} \gamma_{mk} \right) + \sum_{k=1}^{K} \log \Gamma (\gamma_{mk})
\end{aligned}\tag{134} L [ γ m ] = k = 1 ∑ K ( α k − 1 ) [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] + n = 1 ∑ N m k = 1 ∑ K η mnk [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] − log Γ ( k = 1 ∑ K γ mk ) + k = 1 ∑ K log Γ ( γ mk ) − k = 1 ∑ K ( γ mk − 1 ) [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] = k = 1 ∑ K [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] ( α k + n = 1 ∑ N m η mnk − γ mk ) − log Γ ( k = 1 ∑ K γ mk ) + k = 1 ∑ K log Γ ( γ mk ) ( 134 )
分别关于 γ m k \gamma_{mk} γ mk ,k = 1 , … , K k=1,\dots, K k = 1 , … , K 求偏导,得到
\left[\sum_{n=1}^{N_m} \eta_{mnk}+\alpha_k-\gamma_{mk} \right]\cdot \psi'(\gamma_{mk}) + \left[-\sum_{n=1}^{N_m} \sum_{l=1}^K \eta_{mnl} -\sum_{l=1}^{K}(\alpha_l-1) + \sum_{l=1}^K (\gamma_{ml}-1) \right] \cdot \psi'(\sum_{l=1}^K \gamma_{ml}) \tag{135}
令偏导数为零,得到 γ m k \gamma_{mk} γ mk 的更新公式
\gamma_{mk} = \alpha_k + \sum_{n=1}^{N_m} \eta_{mnk} \tag{136}
目标函数中关于 η m n \eta_{mn} η mn 的部分:
L { η m n } = ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K η m n k [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] + ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K η m n k [ ψ ( μ k , i ( w m n ) ) − ψ ( ∑ s = 1 V μ k s ) ] − ∑ m = 1 M ∑ n = 1 N m ∑ k = 1 K η m n k log η m n k (137) \begin{aligned}
\mathcal{L}_{\{\eta_{mn}\}} &= \sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk} \left[ \psi(\gamma_{mk}) - \psi \left( \sum_{l=1}^{K} \gamma_{ml} \right) \right] + \sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk} \left[ \psi(\mu_{k, i(w_{mn})}) - \psi \left( \sum_{s=1}^{V} \mu_{ks} \right) \right] \\
&- \sum_{m=1}^{M} \sum_{n=1}^{N_m} \sum_{k=1}^{K} \eta_{mnk} \log \eta_{mnk}
\end{aligned}\tag{137} L { η mn } = m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K η mnk [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] + m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K η mnk [ ψ ( μ k , i ( w mn ) ) − ψ ( s = 1 ∑ V μ k s ) ] − m = 1 ∑ M n = 1 ∑ N m k = 1 ∑ K η mnk log η mnk ( 137 )
考虑约束 ∑ l = 1 K η m n l = 1 \sum_{l=1}^K \eta_{mnl}=1 ∑ l = 1 K η mn l = 1 ,构造约束优化问题的拉格朗日函数,并分别关于 η m n k \eta_{mnk} η mnk ,k = 1 , … , K k=1,\dots,K k = 1 , … , K 求偏导,得到
\psi(\gamma_{mk})-\psi(\sum_{l=1}^K \gamma_{ml})+\psi(\mu_{k,i(w_{mn})}) - \psi(\sum_{s=1}^V \mu_{ks})-\log \eta_{mnk}-1+\lambda \tag{138}
令偏导数为零,得到 η m n k \eta_{mnk} η mnk 的更新公式
\eta_{mnk}=\frac{\exp \left\{ \psi(\gamma_{mk}) - \psi(\sum_{l=1}^K \gamma_{ml}) + \psi(\mu_{k,i(w_{mn})})-\psi(\sum_{s=1}^V \mu_{ks}) \right\}}{\sum_{t=1}^K \left(\exp \left\{ \psi(\gamma_{mt}) - \psi(\sum_{l=1}^K \gamma_{ml}) + \psi(\mu_{t,i(w_{mn})})-\psi(\sum_{s=1}^V \mu_{ts}) \right\}\right)}\tag{139}
目标函数中关于 α \alpha α 的部分:
\mathcal{L}_{[{\alpha}]} = \sum_{m=1}^{M} \log \Gamma\left(\sum_{k=1}^{K} \alpha_{k}\right) - \sum_{m=1}^{M} \sum_{k=1}^{K} \log \Gamma\left(\alpha_{k}\right) + \sum_{m=1}^{M} \sum_{k=1}^{K} (\alpha_{k} - 1) \left[ \psi(\gamma_{mk}) - \psi \left( \sum_{l=1}^{K} \gamma_{ml} \right) \right] \tag{140}
分别关于 α k \alpha_k α k ,k = 1 , … , K k=1,\dots,K k = 1 , … , K 求一阶和二阶偏导,得到
∂ L ∂ α k = M [ ψ ( ∑ l = 1 K α l ) − ψ ( α k ) ] + ∑ m = 1 M [ ψ ( γ m k ) − ψ ( ∑ l = 1 K γ m l ) ] ∂ 2 L ∂ α k ∂ α t = M [ ψ ′ ( ∑ l = 1 K α l ) − I ( k = t ) ψ ′ ( α k ) ] (141) \begin{aligned}
\frac{\partial \mathcal{L}}{\partial \alpha_k} &= M \left[ \psi\left(\sum_{l=1}^{K} \alpha_l\right) - \psi(\alpha_k) \right] + \sum_{m=1}^{M} \left[ \psi(\gamma_{mk}) - \psi \left( \sum_{l=1}^{K} \gamma_{ml} \right) \right] \\
\frac{\partial^2 \mathcal{L}}{\partial \alpha_k \partial \alpha_t} &= M \left[ \psi'\left(\sum_{l=1}^{K} \alpha_l\right) - \mathbb{I}(k=t) \psi'(\alpha_k) \right]
\end{aligned}\tag{141} ∂ α k ∂ L ∂ α k ∂ α t ∂ 2 L = M [ ψ ( l = 1 ∑ K α l ) − ψ ( α k ) ] + m = 1 ∑ M [ ψ ( γ mk ) − ψ ( l = 1 ∑ K γ m l ) ] = M [ ψ ′ ( l = 1 ∑ K α l ) − I ( k = t ) ψ ′ ( α k ) ] ( 141 )
由此得到目标函数关于 α \alpha α 的梯度 g ( α ) g(\alpha) g ( α ) 和 Hessian 矩阵 H ( α ) H(\alpha) H ( α ) ,应用牛顿法求目标函数关于 α \alpha α 的最大化,根据以下公式迭代
\alpha_{\text{new}} = \alpha_{\text{old}} - H(\alpha_{\text{old}})^{-1} g(\alpha_{\text{old}}) \tag{142}
目标函数中关于 β \beta β 的部分:
\mathcal{L}_{[{\beta}]} = \sum_{k=1}^{K} \log \Gamma\left(\sum_{v=1}^{V} \beta_{v}\right) - \sum_{k=1}^{K} \sum_{v=1}^{V} \log \Gamma(\beta_{v}) + \sum_{k=1}^{K} \sum_{v=1}^{V} (\beta_{v} - 1) \left[ \psi(\mu_{kv}) - \psi\left(\sum_{s=1}^{V} \mu_{ks}\right) \right] \tag{143}
分别关于 β v \beta_v β v ,v = 1 , … , V v=1,\dots, V v = 1 , … , V 求一阶和二阶偏导,得到
∂ L ∂ β v = K [ ψ ( ∑ s = 1 V β s ) − ψ ( β v ) ] + ∑ k = 1 K [ ψ ( μ k v ) − ψ ( ∑ s = 1 V μ k s ) ] ∂ 2 L ∂ β v ∂ β l = K [ ψ ′ ( ∑ s = 1 V β s ) − I ( v = l ) ψ ′ ( β v ) ] (144) \begin{aligned}
\frac{\partial \mathcal{L}}{\partial \beta_v} &= K \left[ \psi\left(\sum_{s=1}^{V} \beta_s\right) - \psi(\beta_v) \right] + \sum_{k=1}^{K} \left[ \psi(\mu_{kv}) - \psi\left(\sum_{s=1}^{V} \mu_{ks}\right) \right] \\
\frac{\partial^2 \mathcal{L}}{\partial \beta_v \partial \beta_l} &= K \left[ \psi'\left(\sum_{s=1}^{V} \beta_s\right) - \mathbb{I}(v=l) \psi'(\beta_v) \right]
\end{aligned}\tag{144} ∂ β v ∂ L ∂ β v ∂ β l ∂ 2 L = K [ ψ ( s = 1 ∑ V β s ) − ψ ( β v ) ] + k = 1 ∑ K [ ψ ( μ k v ) − ψ ( s = 1 ∑ V μ k s ) ] = K [ ψ ′ ( s = 1 ∑ V β s ) − I ( v = l ) ψ ′ ( β v ) ] ( 144 )
由此得到目标函数关于 β \beta β 的梯度 g ( β ) g(\beta) g ( β ) 和 Hessian 矩阵 H ( β ) H(\beta) H ( β ) ,应用牛顿法求目标函数关于 β \beta β 的最大化,根据以下公式迭代
\beta_{\text{new}} = \beta_{\text{old}} - H(\beta_{\text{old}})^{-1} g(\beta_{\text{old}}) \tag{145}
注意:超参数可以不进行更新,以及论文中推荐先更新局部参数至收敛再更新全局参数[2003 Latent dirichlet allocation]。
2.6 随机变分推断
Reference: [2013 Stochastic Variational Inference]
利用指数族分布的良好性质,采用自然梯度代替一般梯度,解决参数向量之间的欧氏距离与它们所代表的概率分布之间的实际统计差异不成比例的问题,并使用批量更新提高效率。
2.7 结构化随机变分推断
Reference: [2015 Structured Stochastic Variational Inference]
放松平均场近似,以允许全局参数和局部隐藏变量之间的任意依赖关系,通过减少偏差、对局部最优解的敏感性和对超参数的敏感性来产生更好的参数估计。