![深度学习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=1739273242-Uo7Tp3x1hw1klWydgLtkLl21bT0bwFzF-0-74221bf40d7e518bb9b8d764d4cb4492)
如果得到的观察数据有未观察到的隐含数据,那么极大化模型分布的对数似然函数则为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-4.jpg?sign=1739273242-Wc8fy8bJ7TBO67aZ8AJjwKzzNt2a6ZkM-0-39e935e5c22a6d9b5d86159b1f937557)
因为上式不能直接求出θ,所以采用缩放技巧:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-5.jpg?sign=1739273242-w70fIsXPYu7TApQp8EIByS660XX9Vtlr-0-9165cbb18f964ef3bd273e631a795b34)
上式用到了Jensen不等式:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-6.jpg?sign=1739273242-nUKqhC8LkexCrciY4AIOOZpZOiw0Njjh-0-df9152cec8ea418c0afb9792b8dc4086)
并且引入了一个未知的新分布。
此时,如果需要满足Jensen不等式中的等号,所以有:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-1.jpg?sign=1739273242-l5h8j9n66pfwwFydOo7d0Kb0ydEX8Y6m-0-7599bbcd98ac9616cb2d9b208282ef8c)
由于是一个分布,所以满足
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-3.jpg?sign=1739273242-QfT6Qcancqj0LB0tBacRmFf3IepBwAHc-0-c8cc594cff855870fee0f24aab0cfb76)
综上,可得:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-4.jpg?sign=1739273242-56YXW2IMvSB8w96Ec2rwyqRvrL5znGj6-0-1caef87a074c9185ca73bdbb4ed97bf8)
如果,则式(2-90)是我们的包含隐藏数据的对数似然的一个下界。如果能极大化这个下界,则也在尝试极大化对数似然。即需要最大化下式:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-6.jpg?sign=1739273242-ygP5Vu0nk7qXLScvMXlB1ZPtv8h4eWrE-0-a8f3df18903c7caafdf12bac95f1be63)
简化得:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-7.jpg?sign=1739273242-u8CX0Ow3pYGPNIoozxdBWjPdw1jKvEA0-0-30688881c642f8c03997705e2128bcde)
以上即为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=1739273242-m1fZmPQ384iZcJzL9ycwMVB0B3590ecT-0-ca99bb62c71b495ca46fdd63f0eb5dc9)
图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=1739273242-FTaxdEDn1xv6Rtue8xAbXOr3U3thNn6F-0-7437f56bc72b6bb8690c1a2804fca20a)
• M步。极大化L(θ,θj),得到θj+1
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-107-6.jpg?sign=1739273242-65Kl45gCxDeYx0L3bLY15XdDcsTnKb6z-0-aaadfb372a4cb2cdfc28a8d96396803e)
• 如果θj+1收敛,则算法结束,否则继续进行E步迭代。
输出:模型参数θ。