EM算法(Expectation-Maximization algorithm)是一类通过迭代进行极大似然估计的优化算法,今天翻出了之前的笔记,在这里也放一下吧。
EM算法背景
EM(expectation-maximization)算法是Dempster,Laird和Rubin(DLR)三个人在1977年正式提出的.主要是用于在不完全数据的情况下计算最大似然估计.在EM算法正式提出以来,人们对EM算法的性质有更加深入的研究.并且在此基础上,提出了很多改进的算法.在数理统计,数据挖掘,机器学习以及模式识别等领域有广泛的应用.
问题背景
给定一些观察数据y,假设y符合如下的高斯分布:
p(y)=∑k=1KθkN(y∣μk,Σk)p(y)=\sum_{k=1}^{K} \theta_{k} N\left(y \mid \mu_{k}, \Sigma_{k}\right) p(y)=k=1∑KθkN(y∣μk,Σk)
需要求出混合高斯分布的三组参数:θk,μk,Σk\theta_{k}, \mu_{k}, \Sigma_{k}θk,μk,Σk
我们注意到,该混合高斯分布一共有K个分布函数,对于每一个观察到的样本y,如果知道它是属于K中的哪个分布,那么求这些参数就会变得很简单。因此我们考虑引入一组新的变量z,用ziz_{i}zi来表示这些高斯分布,那么我们的样本集就会变为{
(y1,z2),(y2,z5),(y3,z1),…}\left\{\left(y_{1}, z_{2}\right),\left(y_{2}, z_{5}\right),\left(y_{3}, z_{1}\right), \ldots\right\}{
(y1,z2),(y2,z5),(y3,z1),…}
隐变量
上面提到的新的变量z就是隐藏变量,这是由于实际问题中我们往往不知道每个y属于哪个分布,我们观察不到z.我们引入:Z={
b1,b2,…,bK}Z=\left\{b_{1}, b_{2}, \ldots, b_{K}\right\}Z={
b1,b2,…,bK}这里的bKb_{K}bK取0或1,那么就有:p(zk=1)=θkp\left(z_{k}=1\right)=\theta_{k}p(zk=1)=θk,更进一步我们可以得到:
p(Z)=∏k=1Kθkzkp\left(Z\right)=\prod_{k=1}^{K} \theta_{k}^{z_{k}}p(Z)=k=1∏Kθkzk
最终,我们可以得到:
p(y∣zk=1)=N(y∣μk,Σk)⇒p(y∣Z)=∏k=1KN(y∣uk,Σk)zkp\left(y \mid z_{k}=1\right)=N\left(y \mid \mu_{k}, \Sigma_{k}\right)\\ \Rightarrow p\left(y \mid Z\right)=\prod_{k=1}^{K} N\left(y \mid u_{k}, \Sigma_{k}\right)^{z_{k}}p(y<

EM算法是一种用于不完全数据的最大似然估计优化算法,由Dempster等人在1977年提出。它通过迭代求解混合高斯分布的参数,涉及隐变量的概念。在数据挖掘、机器学习等领域有广泛应用。算法包括E-step(期望步骤)和M-step(最大化步骤),可能面临收敛速度慢和依赖初始值的问题。
最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



