EM算法的主要思想
E步就是估计隐含类别y的期望,M步调整其他参数使得在给定类别y的情况下,极大似然估计p(x,y)能够达到极大值。
然后在其他参数确定的情况下,重新估计y,周而复始,直至收敛。
举个EM算法中比较常见的例子,有100个男同学和100个女同学,这200个同学的身高信息已知,但是性别信息丢失。
让我们分别求男同学和女同学的平均身高和方差。这个问题,我们先假设100个男同学的平均身高为175cm,方差为10;
100个女同学的平均身高为160cm,方差为10(假设肯定是不对的);在这个假设下,默认身高分布服从高斯分布,求出
令这个均值和方差极大释然的高斯分布。然后求出此时高斯分布的均值和方差,不断循环,直至均值和方差不在发生变化。
EM算法的数学推导
$ \mbox{令 }L(x)=\prod_{i=1}^Np(x_i;\theta),\theta=[\mu,\sigma]\mbox{表示高斯分布参数}$
$ \mbox{此时的极大似然估计:}H(\theta)=\ln L(\theta)=\sum_{i=1}^N \ln p(x_i;\theta)$
$ \mbox{我们可以将采样得到的数据表示成一个二元组:}(x_i,z_i),\mbox{其中}x_i\mbox{表示第i个人的身高,}z_i$
$ \mbox{表示这个被采样的人是男还是女,男用1表示,女用0表示,根据联合分布概率的概率和,我们有}$
$p(x_i;\theta)=\sum p(x_i,z_i;\theta)$
$H(\theta)=\sum_{i=1}^N\ln p(x_i;\theta)$
$H(\theta)=\sum_{i=1}^N\ln \sum p(x_i,z_i;\theta)$
$ 令Q_i表示变量Z_i的某种分布,且Q_i满足$
$\sum Q_i(Z_i)=1$
$Q_i(Z_i)\geq 0$
$可以将等式改写为:$
$H(\theta)=\sum_{i=1}^N\ln\sum Q_i(Z_i)\cdot \frac {p(x_i,z_i;\theta)}{Q_i(Z_i)} $
$H(\theta)\geq \sum_{i=1}^N \sum Q_i(Z_i)\ln \frac {p(x_i,z_i;\theta)}{Q_i(Z_i)}$
$等号成立条件:\frac {p(x_i,z_i;\theta)}{Q_i(Z_i)}=C$
$所以:p(x_i;\theta)=C$
$Q_i(Z_i)=\frac {p(x_i,z_i;\theta)}{p(x_i;\theta)}$
$Q_i(Z_i)=P(z_i|x_i;\theta)$
$E步:对于每一个i,计算Q_i(z_i)$
$M步:计算\theta=arg max \sum_{i=1}^N \sum Q_i(z_i) \ln \frac{p(x_i,z_i;\theta)}{Q_i(z_i)}$