![深度学习500问:AI工程师面试宝典](https://wfqqreader-1252317822.image.myqcloud.com/cover/753/36511753/b_36511753.jpg)
2.14 EM算法
最大期望算法(Expectation-Maximization Algorithm,EM算法),是一类通过迭代进行极大似然估计的优化算法,通常作为牛顿迭代法的替代,用于对包含隐变量或缺失数据的概率模型进行参数估计。
2.14.1 EM算法的基本思想
EM算法的基本思想经过两个步骤交替计算。
(1)计算期望(下文称为“E步”),利用对隐藏变量的现有估计值,计算其极大似然估计值。
(2)最大化(下文称为“M步”),最大化在E步上求得的极大似然值来计算参数的值。
M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。
2.14.2 EM算法推导
对于m个样本观察数据,现在想找出样本的模型参数θ,其极大化模型分布的对数似然函数为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-2.jpg?sign=1739905557-bbXXNslUfAxCKvoB7ddwAesX2W8loWX5-0-38a7c610a8c36dfff402bb2dce96c3af)
如果得到的观察数据有未观察到的隐含数据,那么极大化模型分布的对数似然函数则为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-4.jpg?sign=1739905557-S5PxVAMvoFVFDDvePDn7Q8TmhoR6bMyh-0-b1c2bac636f1ac0e5bb41eeeff61736d)
因为上式不能直接求出θ,所以采用缩放技巧:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-5.jpg?sign=1739905557-OXVI1l6a7kQ3Ngnfotp4membzyev2zqx-0-194638bf3905ea96325fb9fbb7996e91)
上式用到了Jensen不等式:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-6.jpg?sign=1739905557-hbmGC8503d3RpjxPr6GT9Ge1QaP6Rt0n-0-eb044ade02e12ec11fd1efa5706007e5)
并且引入了一个未知的新分布。
此时,如果需要满足Jensen不等式中的等号,所以有:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-1.jpg?sign=1739905557-oNvQ4Odn4ZODXRPn6qfJarwFCKpYcr2U-0-25c2e8c5b0e38c929bbde24b5f4cdd16)
由于是一个分布,所以满足
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-3.jpg?sign=1739905557-12dZvHoJanXfE2wH5CjsXUzJn5tV2tRo-0-f9de2078a8b6ce26b3103a781a2f958a)
综上,可得:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-4.jpg?sign=1739905557-MFsdQH71Dzjccwua02wg120Ds1iOS5f0-0-4625604b20745b1152413a7e8895e707)
如果,则式(2-90)是我们的包含隐藏数据的对数似然的一个下界。如果能极大化这个下界,则也在尝试极大化对数似然。即需要最大化下式:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-6.jpg?sign=1739905557-0cm3uYV1tKThTilPjqtcfWYAdL354Bxn-0-083fe9af1e24e83d522c7782a3a463c8)
简化得:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-7.jpg?sign=1739905557-RcXAPFWoL7a1EYKvtZ4yMlPZyXNLlorZ-0-250c1f6db78012a4a85ed7a2dbe2f552)
以上即为EM算法的M步。此外,注意到上式中是一个分布,因此
可理解为
基于条件概率分布
的期望,即为E步。
2.14.3 图解EM算法
考虑到式(2-89)中存在隐变量,直接找到参数估计比较困难,我们通过EM算法迭代求解下界的最大值到收敛为止。EM算法求解示意图如图2-23所示。
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-12.jpg?sign=1739905557-BJ3q8kJ4SSU4TooW2NBB6i8wrblxlXdF-0-5d1d472c6f76e9c807b8e8d96199e196)
图2-23 EM算法求解示意图
在图2-23中,目标模型p(x|θ)复杂,难以求解析解,为了消除隐变量的影响,可以选择一个不包含
的模型r(x|θ),使其满足条件
。
求解步骤如下。
(1)选取θ1,使得,然后对此时的r求取最大值,得到极值点θ2,实现参数的更新。
(2)重复以上过程到收敛为止,在更新过程中始终满足r≤p。
2.14.4 EM算法流程
输入:观察数据,联合分布p(x,z;θ),条件分布p(z|x;θ),最大迭代次数J。
(1)随机初始化模型参数θ的初值θ0。
(2)设当前迭代次数为j,j从1到J进行迭代:
• E步。计算联合分布的条件概率期望:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-107-5.jpg?sign=1739905557-AA52vybBkXljBbUeOaCpTxa4fLMD1t05-0-9fcdb4f74b95e0f2726f51c7f8fbfbfc)
• M步。极大化L(θ,θj),得到θj+1
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-107-6.jpg?sign=1739905557-nJ4PU2BMVPf0ldEh3pqiwLfFK09U62uk-0-48f605fa175c28cce025eda6790d5688)
• 如果θj+1收敛,则算法结束,否则继续进行E步迭代。
输出:模型参数θ。