EM
  YS70eVTgu2rK 12天前 22 0

EM Algorithm

1. GMM 引入

若数据服从一个高斯分布,可以用 MLE + 偏导为 0 的方法求解参数,其中框架如下

\[\theta = \{ \mu, \Sigma \} = \arg \max_{\theta} \sum_{i=1}^N \log p(x_i | \theta) \]

而由于单个高斯分布概率密度函数为 convex,因此整体的似然函数也是 convex 的,梯度为 0 点即为最优解。

然而,若数据服从多个高斯分布,density function 为

\[p(x) = \sum_{k=1}^K \alpha_k \mathcal{N}(x | \mu_k, \Sigma_k) \\ \quad s.t. \sum_{k=1}^K \alpha_k = 1 \]

若使用 MLE 方法,log likelihood 为

\[LL = \sum_{i=1}^N \log p(x_i) = \sum_{i=1}^N \log \sum_{k=1}^K \alpha_k \mathcal{N}(x_i | \mu_k, \Sigma_k) \]

由于 density function 不再是凸函数,同时等式直接计算复杂,因此无法直接求解最优解,此时可以引入 EM 算法,为一个迭代算法。

2. EM 算法收敛性

EM 算法的迭代过程如下

\[\begin{align} \theta^{(t+1)} = \arg \max_{\theta} \text{E}_{p(z|x;\theta^{(t)})}[\text{log} p(x,z;\theta)] = \arg \max_{\theta} \int_z p(Z | X, \theta^{(t)}) \log p(X, Z | \theta) \end{align} \]

迭代算法欲证明收敛性,只需要证明每次迭代后的 log likelihood 均不减少即可,即:

\[LL(\theta^{(t+1)}) \geq LL(\theta^{(t)}) \\ p(X|\theta^{(t+1)}) \geq p(X|\theta^{(t)}) \\ \text{log} p(X|\theta^{(t+1)}) \geq \text{log} p(X|\theta^{(t)}) \]

\(proof\):

\[\text{log} p(X|\theta) = \text{log} p(X,Z|\theta) - \text{log} p(Z|X,\theta) \\ \]

对两边求期望,有

\[\text{E}_{p(Z|X,\theta^{(t)})}[\text{log} p(X|\theta)] = \text{E}_{p(Z|X,\theta^{(t)})}[\text{log} p(X,Z|\theta)] - \text{E}_{p(Z|X,\theta^{(t)})}[\text{log} p(Z|X,\theta)] \]

由于左边与\(Z\)无关,因此有

\[\text{log} p(X|\theta) = \text{E}_{p(Z|X,\theta^{(t)})}[\text{log} p(X,Z|\theta)] - \text{E}_{p(Z|X,\theta^{(t)})}[\text{log} p(Z|X,\theta)] \]

右边展开为积分形式,有

\[\text{log} p(X|\theta) = \underbrace{\int p(Z|X,\theta^{(t)}) \text{log} p(X,Z|\theta) dz}_{Q(\theta,\theta^{(t)})} - \underbrace{\int p(Z|X,\theta^{(t)}) \text{log} p(Z|X,\theta) dz}_{H(\theta,\theta^{(t)})} \]

由于 EM 算法的形式,可知最大化 \(Q\)项,因此有

\[Q(\theta^{t+1},\theta^{(t)}) \geq Q(\theta,\theta^{(t)}) \]

即有

\[Q(\theta^{(t+1)},\theta^{(t)}) \geq Q(\theta^{(t)},\theta^{(t)}) \]

那么若要证明 EM 算法的收敛性,只需要证明 \(H\) 项的减少即可。

\[H(\theta^{(t+1)},\theta^{(t)}) \leq H(\theta^{(t)},\theta^{(t)}) \]

即证

\[H(\theta,\theta^{(t)}) \leq H(\theta^{(t)},\theta^{(t)}) \\ H(\theta^{(t)},\theta^{(t)}) - H(\theta,\theta^{(t)}) \geq 0 \]

展开即有

\[\int p(Z|X,\theta^{(t)}) \text{log} \frac{p(Z|X,\theta^{(t)})}{p(Z|X,\theta)} dz = KL(p(Z|X,\theta^{(t)})\| p(Z|X,\theta)) \geq 0 \]

收敛性得证,但无法证明收敛到全局最优解。

3. EM 算法公式导出

对于 n 个数据\((x_1, \dots,x_N)\),MLE 如下:

\[\theta = \arg \max_{\theta}\sum_N \log p(x_i|\theta) \]

若带有隐变量\(z=(z_1,\dots,z_k)\),则有

\[\theta = \arg \max_{\theta}\sum_N \log p(x_i|\theta) = \arg \max_{\theta}\sum_N \log \sum_z p(x_i,z_j|\theta) \]

由于直接求解困难,因此使用\(z\)的分布放缩:

\[\sum_N \log \sum_z p(x_i,z|\theta) = \sum_N \log \sum_z q_i(z_j) \frac{p(x_i,z_j|\theta)}{q_i(z_j)} \geq \sum_N \sum_z q_i(z_j) \log \frac{p(x_i,z_j|\theta)}{q_i(z_j)} \]

其中每一个样本\(x_i\)都有一个对应的\(q_i(z)\)分布

上述过程描述了\(LL(\theta)\)的下界,而我们希望\(\arg \max LL(\theta)\),因此我们希望下界能取到等号,即我们希望等式成立,根据 Jensen 不等式,等式成立当且仅当\(\frac{p(x_i,z_j|\theta)}{q(z_j)} = c\),\(c\)为常数,且\(\sum q_i(z_j) = 1\),因此有

\[q_i(z_j) = \frac{p(x_i,z_i,\theta)}{\sum p(x_i,z_i,\theta)} = p(z_j|x_i,\theta) \]

  • 因此在 E 步,我们需要求解\(q_i(z_j)\)的分布,尽可能使得\(LL(\theta)\)的下界取到最大值,
  • 而在 M 步,我们获取了\(q_i(z_j)\)的分布之后,可以对\(LL(\theta)\)求导,得到最优解\(\theta\),即为 EM 算法。

参考

EM 算法详解
徐亦达机器学习:Expectation Maximization EM 算法 【2015 年版-全集】

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 12天前 0

暂无评论

推荐阅读
EM
  YS70eVTgu2rK   12天前   22   0   0 机器学习
HMM
  YS70eVTgu2rK   12天前   21   0   0 机器学习
YS70eVTgu2rK
作者其他文章 更多
EM

2024-05-08

HMM

2024-05-08

最新推荐 更多