因为用到了变分,所以常常是先看VI,再看VAE。
都 是 对 M L E 无 法 处 理 的 情 况 进 行 处 理 \color{red}都是对MLE无法处理的情况进行处理 都是对MLE无法处理的情况进行处理。明确参数的意义:
P ( x ) P(x) P(x)可以表示为:
p ( x ) = ∑ Z p ( x , Z ) = ∑ k = 1 K p ( x , z = C k ) = ∑ k = 1 K p ( z = C k ) ⋅ p ( x ∣ z = C k ) = ∑ k = 1 K p k ⋅ N ( x ∣ μ k , Σ k ) (2.1) \begin{aligned}p(x)&= \sum_Z p(x,Z) \\ & = \sum_{k=1}^K p(x,z = C_k) \\ & = \sum_{k=1}^K p(z = C_k)\cdot p(x|z=C_k) \\ & = \sum_{k=1}^K p_k \cdot \mathcal{N}(x|\mu_k,\Sigma_k)\end{aligned}\tag{2.1} p(x)=Z∑p(x,Z)=k=1∑Kp(x,z=Ck)=k=1∑Kp(z=Ck)⋅p(x∣z=Ck)=k=1∑Kpk⋅N(x∣μk,Σk)(2.1)
对比公式(11.1.1)可见几何角度的结果中的 α k \alpha_k αk就是混合模型中的 p k p_k pk,权重即概率。
尝试使用MLE求解GMM参数
尝试使用MLE求解GMM参数的解析解。
实际上GMM一般使用EM算法求解, 因 为 使 用 M L E 求 导 后 , 无 法 求 出 具 体 解 析 解 \color{blue}因为使用MLE求导后,无法求出具体解析解 因为使用MLE求导后,无法求出具体解析解。所以接下来我们来看看为什么MLE无法求出解析解。
θ ^ M L E = a r g m a x θ l o g p ( X ) = a r g m a x θ l o g ∏ i = 1 N p ( x i ) = a r g m a x θ ∑ i = 1 N l o g p ( x i ) = a r g m a x θ ∑ i = 1 N l o g ∑ k = 1 K p k ⋅ N ( x i ∣ μ k , Σ k ) (2.2) \begin{aligned}\hat{\theta }_{MLE}&=\underset{\theta }{argmax}\; log\; p(X)\\ &=\underset{\theta }{argmax}\; log\prod_{i=1}^{N}p(x_{i})\\ &=\underset{\theta }{argmax}\sum_{i=1}^{N}log\; p(x_{i})\\ &=\underset{\theta }{argmax}\sum_{i=1}^{N}{\color{Red}{log\sum _{k=1}^{K}}}p_{k}\cdot N(x_{i}|\mu _{k},\Sigma _{k})\end{aligned}\tag{2.2} θ^MLE=θargmaxlogp(X)=θargmaxlogi=1∏Np(xi)=θargmaxi=1∑Nlogp(xi)=θargmaxi=1∑Nlogk=1∑Kpk⋅N(xi∣μk,Σk)(2.2)
想要求的 θ \theta θ包括, θ = { p 1 , ⋯ , p K , μ 1 , ⋯ , μ K , Σ 1 , ⋯ , Σ K } \color{blue}\theta=\{ p_1, \cdots, p_K, \mu_1, \cdots, \mu_K,\Sigma_1,\cdots,\Sigma_K \} θ={p1,⋯,pK,μ1,⋯,μK,Σ1,⋯,ΣK}。
有以下数据:
记 z z z为隐变量和参数的集合。接着变换概率 p ( x ) p(x) p(x)的形式然后引入分布 q ( z ) q(z) q(z):
l o g p ( x ) = l o g p ( x , z ) − l o g p ( z ∣ x ) = l o g p ( x , z ) q ( z ) − l o g p ( z ∣ x ) q ( z ) (2.4) \color{blue}log\; p(x)=log\; p(x,z)-log\; p(z|x)=log\; \frac{p(x,z)}{q(z)}-log\; \frac{p(z|x)}{q(z)}\tag{2.4} logp(x)=logp(x,z)−logp(z∣x)=logq(z)p(x,z)−logq(z)p(z∣x)(2.4)
3. 公式简化
对公式(12.2.1)进行简化,式子两边同时对 q ( z ) q(z) q(z)求积分(期望):
左 边 = ∫ z q ( z ) ⋅ l o g p ( x ∣ θ ) d z = l o g p ( x ∣ θ ) ∫ z q ( z ) d z = l o g p ( x ∣ θ ) (2.5) 左边=\int _{z}q(z)\cdot log\; p(x |\theta )\mathrm{d}z=log\; p(x|\theta )\int _{z}q(z )\mathrm{d}z=log\; p(x|\theta )\tag{2.5} 左边=∫zq(z)⋅logp(x∣θ)dz=logp(x∣θ)∫zq(z)dz=logp(x∣θ)(2.5)
右 边 = ∫ z q ( z ) l o g p ( x , z ∣ θ ) q ( z ) d z ⏟ E L B O ( e v i d e n c e l o w e r b o u n d ) − ∫ z q ( z ) l o g p ( z ∣ x , θ ) q ( z ) d z ⏟ K L ( q ( z ) ∣ ∣ p ( z ∣ x , θ ) ) = L ( q ) ⏟ 变 分 + K L ( q ∣ ∣ p ) ⏟ ≥ 0 (2.6) 右边=\underset{ELBO(evidence\; lower\; bound)}{\underbrace{\int _{z}q(z)log\; \frac{p(x,z|\theta )}{q(z)}\mathrm{d}z}}\underset{KL(q(z)||p(z|x,\theta ))}{\underbrace{-\int _{z}q(z)log\; \frac{p(z|x,\theta )}{q(z)}\mathrm{d}z}}=\underset{变分}{\underbrace{L(q)}} + \underset{\geq 0}{\underbrace{KL(q||p)}}\tag{2.6} 右边=ELBO(evidencelowerbound) ∫zq(z)logq(z)p(x,z∣θ)dzKL(q(z)∣∣p(z∣x,θ)) −∫zq(z)logq(z)p(z∣x,θ)dz=变分 L(q)+≥0 KL(q∣∣p)(2.6)
Evidence Lower Bound (ELBO)是变分, L ( q ) L(q) L(q)和 K L ( q ∣ ∣ p ) KL(q||p) KL(q∣∣p)被记为:
{ L ( q ) = ∫ z q ( z ) log p ( x , z ∣ θ ) q ( z ) d z K L ( q ∣ ∣ p ) = − ∫ z q ( z ) log p ( z ∣ x ) q ( z ) d z \color{blue}\{ \begin{array}{ll}L(q)&=\int_z q(z)\log\ \frac{p(x,z|\theta)}{q(z)}dz\\ KL(q||p)&= - \int_z q(z)\log\ \frac{p(z|x)}{q(z)}dz \end{array} {L(q)KL(q∣∣p)=∫zq(z)log q(z)p(x,z∣θ)dz=−∫zq(z)log q(z)p(z∣x)dz
在把 log p ( x ) \log p(x) logp(x)转换为公式(2.7)后,
l o g p ( x ∣ θ ) = E L B O + K L ( q ( z ) ∣ ∣ p ( z ∣ x , θ ) ) (2.7) \color{red}log\; p(x|\theta )=ELBO+KL(q(z)||p(z|x,\theta ))\tag{2.7} logp(x∣θ)=ELBO+KL(q(z)∣∣p(z∣x,θ))(2.7)
EM算法是(EM算法实例):
固定 θ ( t ) \theta^{(t)} θ(t),改变 q ( z ) q(z) q(z),使得 K L ( q ( z ) ∣ ∣ p ( z ∣ x , θ ) ) = − ∫ z q ( z ) l o g p ( z ∣ x , θ ) q ( z ) d z = 0 {KL(q(z)||p(z|x,\theta ))}={-\int _{z}q(z)log\; \frac{p(z|x,\theta )}{q(z)}\mathrm{d}z}=0 KL(q(z)∣∣p(z∣x,θ))=−∫zq(z)logq(z)p(z∣x,θ)dz=0,求期望。即:
log p ( x ∣ θ ( t ) ) = ∫ z q ( z ) l o g p ( x , z ∣ θ ) q ( z ) d z = E L B O . (2.8) \color{red}\log\; p(x|\theta ^{(t)})={\int _{z}q(z)log\; \frac{p(x,z|\theta )}{q(z)}\mathrm{d}z}=ELBO.\tag{2.8} logp(x∣θ(t))=∫zq(z)logq(z)p(x,z∣θ)dz=ELBO.(2.8)
固定 q ( z ) q(z) q(z),将期望最大化.极大化:
θ ( t + 1 ) = arg max θ E z ∼ P ( z ∣ x , θ ( t ) ) [ log P ( x , z ∣ θ ) ] (2.9) \color{red}\theta^{(t+1)} = \arg\underset{\theta}{\max} \mathbb{E}_{z\sim P(z|x,\theta^{(t)})}\left[ \log P(x,z|\theta) \right]\tag{2.9} θ(t+1)=argθmaxEz∼P(z∣x,θ(t))[logP(x,z∣θ)](2.9)
在把 log p ( x ) \log p(x) logp(x)转换为公式(2.7)后,
l o g p ( x ∣ θ ) = E L B O + K L ( q ( z ) ∣ ∣ p ( z ∣ x , θ ) ) (2.7) \color{red}log\; p(x|\theta )=ELBO+KL(q(z)||p(z|x,\theta ))\tag{2.7} logp(x∣θ)=ELBO+KL(q(z)∣∣p(z∣x,θ))(2.7)
VI算法使用平均场理论,再进一步分布求解。
平均场理论:把多维变量的不同维度分为 M M M组,组与组之间是相互独立的:
q ( z ) = ∏ i = 1 M q i ( z i ) (2.10) \color{red}q(z)=\prod_{i=1}^{M}q_{i}(z_{i})\tag{2.10} q(z)=i=1∏Mqi(zi)(2.10)
L ( θ , ϕ ; x ( i ) ) = ∑ z q ϕ ( z ∣ x ( i ) ) log ( p θ ( x , z ) q ϕ ( z ∣ x ( i ) ) ) = ∑ z q ϕ ( z ∣ x ( i ) ) log ( p θ ( x ( i ) ∣ z ) p θ ( z ) q ϕ ( z ∣ x ( i ) ) ) = ∑ z q ϕ ( z ∣ x ( i ) ) [ log ( p θ ( x ( i ) ∣ z ) ) + log ( p θ ( z ) q ϕ ( z ∣ x ( i ) ) ) ] = − D K L ( q ϕ ( z ∣ x ( i ) ) ∣ ∣ p θ ( z ) ) + E q ϕ ( z ∣ x ( i ) ) [ log p θ ( x ( i ) ∣ z ) ] (3.1) \begin{aligned}\color{red}\mathcal{L}(\theta,\phi;\mathtt{x}^{(i)}) &=\sum_{\mathbf{z}} q_{\phi}(\mathtt{z}|\mathtt{x}^{(i)}) \log \left(\frac{p_{\theta}(\mathbf{x}, \mathbf{z})}{q_{\phi}(\mathtt{z}|\mathtt{x}^{(i)})}\right)=\sum_{\mathtt{z}} q_{\phi}(\mathtt{z}|\mathtt{x}^{(i)}) \log \left(\frac{p_{\theta}(\mathtt{x}^{(i)}| \mathtt{z}) p_{\theta}(\mathtt{z})}{q_{\phi}(\mathtt{z}|\mathtt{x}^{(i)})}\right) \\ &=\sum_{\mathbf{z}} q_{\phi}(\mathtt{z}|\mathtt{x}^{(i)})\left[\log \left(p_{\theta }(\mathtt{x}^{(i)}|\mathtt{z})\right)+\log \left(\frac{p_{\theta}(\mathbf{z})}{q_{\phi}(\mathtt{z}|\mathtt{x}^{(i)})}\right)\right] \\ &\color{red}= -D_{KL}(q_{\phi}(\mathtt{z}|\mathtt{x}^{(i)})||p_{\theta}(\mathtt{z}))+ \mathbb{E}_{q_{\phi}(\mathtt{z}|\mathtt{x}^{(i)})}[\log p_{\theta }(\mathtt{x}^{(i)}|\mathtt{z})]\end{aligned}\tag{3.1} L(θ,ϕ;x(i))=z∑qϕ(z∣x(i))log(qϕ(z∣x(i))pθ(x,z))=z∑qϕ(z∣x(i))log(qϕ(z∣x(i))pθ(x(i)∣z)pθ(z))=z∑qϕ(z∣x(i))[log(pθ(x(i)∣z))+log(qϕ(z∣x(i))pθ(z))]=−DKL(qϕ(z∣x(i))∣∣pθ(z))+Eqϕ(z∣x(i))[logpθ(x(i)∣z)](3.1)
先 验 分 布 p θ ∗ ( z ) 生 成 一 个 z ( i ) \color{red}先验分布p_{\theta^*}(\mathtt{z})生成一个\mathtt{z}^{(i)} 先验分布pθ∗(z)生成一个z(i);
条 件 分 布 p θ ∗ ( x ∣ z ) 生 成 一 个 x ( i ) \color{red}条件分布p_{\theta^*}(\mathtt{x|z})生成一个\mathtt{x}^{(i)} 条件分布pθ∗(x∣z)生成一个x(i)。