Expectation Maximization Algorithm Intuition
之前写过一篇 Expectation-Maximization Algorithm,但是太细碎了,没有抓住核心。
Intuition 难以形成主要是因为 EM 其实是个非常 general 的算法,latent variable 的形式、内部的计算细节等等内容 EM 算法本身都不 care,但是不拿一些具体的例子出来你是很难找到 Intuition 的。
然后另外一点是要搞清楚 EM 是作用在哪个模型的哪个阶段。知道了这一点能帮助记忆算法的思想。
1. EM to incomplete training data is MLE to complete training dataPermalink
EM 算法最后输出的是:model 的参数。所以它理所当然是一个 estimate parameter 的算法。所以它和 Generative Models 里的 MLE 的角色是一样的。同理,按 Generative Models 的 training 框架,在
2. Latent variables varyPermalink
还有一个不太直观的点是:latent variable 的形式是不固定的。一般来说,hidden data 或者 latent variable 就只有一个 column,当然你有多个 column 也是可以的,只是更复杂了而已;然后这一个 column 可能是 label、可能是单个 feature、可能是 fully latent (全部 missing)、可能是 partially latent (部分 missing)
- 如果是 latent variable 是 label,然后 fully latent,那这变成了一个 unsupervised learning problem
- 如果是 latent variable 是 label,然后 partially latent,那这变成了一个 semi-supervised learning problem
- 如果是 latent variable 是 feature 的情况更复杂,但是思想还是一样的
下面是一个 latent label + partially latent 的情况:
… | ||||
---|---|---|---|---|
√ | √ | … | √ | √ |
√ | √ | … | √ | √ |
… | … | … | … | … |
√ | √ | … | √ | ? |
√ | √ | … | √ | ? |
3. Intuition: EM is like -meansPermalink
Expectation Maximization: how it works 这个视频讲得很好。他用的是一个及其简单的场景,只有一个 feature
这就成了一个 “先有鸡还是先有蛋” 的场景:
- 我需要
来估计这两个 Gaussian 的两组参数;但是我没有 - 反过来如果我知道这两个 Gaussian 的两组参数,我可以给你生成一组
;但是我没有参数
这个时候,EM 的作用就是:我随机给你两组参数,你先生成一组
4. latent label + partially latent 如何处理Permalink
还是上面视频里的例子。我们记 observed data
- A common choice of
is the MLE on the labeled dataset
然后在重新估新的参数的时候,你需要 ”照顾“ 到这些 labeled data,比如你可以令
5. 迭代目的:提升 的 lower boundPermalink
我们把 observed data 记做
- 这里要记住一点是 MLE 和 EM 的目地都是找尽可能大的
我们回头整理下 Expectation-Maximization Algorithm 里的公式:
- E-step:写出
。注意这是 general 的写法,具体对 latent label 的情况,有 - M-step:求
- Repeat E- and M-steps until
converges
Proof of correctnessPermalink
Generally
Therefore:
And then:
Further:
So at last:
也有其他的一些证明方式用的是 Jensen’s inequality,但其实本质是一样的(Gibbs’ inequality 是 Jensen’s inequality 的特殊形式);而且我觉得 Gibbs’ inequality 已经很好理解了。具体参 Wikipedia: Jensen’s inequality
Comments