![深度学习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=1739297205-sliHiDrOiTlmIffVBa81VfeKfwOvsu9V-0-4cbab58b0bdbb9bbb9a3c3def4c3264b)
如果得到的观察数据有未观察到的隐含数据,那么极大化模型分布的对数似然函数则为:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-4.jpg?sign=1739297205-EZ5sMtkBJ0inKZy8AZHqWnZNBDM6rYch-0-f4281f68d26b67b1fc7ab65761e51682)
因为上式不能直接求出θ,所以采用缩放技巧:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-5.jpg?sign=1739297205-kAdNC5Vdl4YdocA6vcKl69pnWMiOTEcG-0-df05a2ec71f49c325358f894e17ba6d2)
上式用到了Jensen不等式:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-105-6.jpg?sign=1739297205-Et4KndkCOYahEUM9fUSPuq0GI14EOieP-0-36dc697d09a87458bb24774f85feb616)
并且引入了一个未知的新分布。
此时,如果需要满足Jensen不等式中的等号,所以有:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-1.jpg?sign=1739297205-jILXfzDs0oUf08rihD8AB7HSRuuMY1JT-0-ae1be450c84ebc607ffb5c0cd36311f1)
由于是一个分布,所以满足
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-3.jpg?sign=1739297205-AytXLd1W33qRfqNle4RqB9YMenowEVc1-0-5ae73dca60d1818fc6ee609d87ab6036)
综上,可得:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-4.jpg?sign=1739297205-nDqdeeHqUp9ad1xlOzi1CZ0ipySQAUUk-0-20ec5d4e4dc3c4df6e5949f7e7b70beb)
如果,则式(2-90)是我们的包含隐藏数据的对数似然的一个下界。如果能极大化这个下界,则也在尝试极大化对数似然。即需要最大化下式:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-6.jpg?sign=1739297205-OYtQP5BE5hek2dVdEzz4EAAdlheEEiz1-0-1bd4f947c050d11c718f6a43b0e68279)
简化得:
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-106-7.jpg?sign=1739297205-JJUTA6aq0xTMtp8iFmXL2UEuJI8mWbe8-0-d984db616aec72ee858091e5556e7705)
以上即为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=1739297205-KnKcnRKKYV7oOpCOlP6BgkoiZkT8lZaG-0-5975c63b91fe25c3ad9adce378485a2c)
图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=1739297205-QF9YTCO6l0I578a5BmKvTSiRA9kU7syG-0-29e0aed7e0e6006915dcbda148be5c20)
• M步。极大化L(θ,θj),得到θj+1
![](https://epubservercos.yuewen.com/738432/19391577501345406/epubprivate/OEBPS/Images/38937-00-107-6.jpg?sign=1739297205-FB0acnWlat33FUThrxoDkU4S3tdFoGrH-0-f14d46748c5991236987cc73a9211675)
• 如果θj+1收敛,则算法结束,否则继续进行E步迭代。
输出:模型参数θ。