引言:
Em算法是一种迭代算法,用于对含有隐变量的概率模型参数的极大似然估计。或者极大后验概率。
E步,求解期望;M步,求解极大。也成为期望极大算法。
Em算法
首先解释隐变量,隐变量是指我们无法观测到的变量,这要是我们需要估计的。三个硬币,A硬币的为正面就第二次投掷B硬币,否则投掷C硬币。并且记录第二次投掷的结果作为观测值。因此我们可以想象,最终第二次的结果是可以被观测的,但是第一次投掷的结果其实是隐含在了第一次投掷的结果里。
如果Y表示观测数据,其中表示需要估计的参量。
从算法可以看出,我们实际上希望得到了一个关于完全数据的分布,并且我们通过最大化完全数据的期望,对隐变量数据进行了估计。
关于Em的推导可以参考这个链接
GMM高斯混合统计模型
这里观测量是多个高斯模型混合得到的数据,隐变量是来源于哪个独立高斯分布未知。
我们首先计算出来完全数据的分布函数,
其中,隐变量是我们未知的,我们需要对它进行估计,估计方法就是计算均值(E步),然后对均值最大化,注意,这时均值只与样本有关了,因此我们可以通过最大化这一步,得到参数的估计。进而进行迭代。
下式式计算均值进而得到对对的估计
然后进行M步,求导进行寻找实现最大化的参数
EM算法的思考
-
对EM算法的初始化研究
上面介绍的传统EM算法对初始值敏感,聚类结果随不同的初始值而波动较大。总的来说,EM算法收敛的优劣很大程度上取决于其初始参数。
有说法提出,先进行kmeans聚类计算中心,然后将中心作为初值 -
EM算法是否一定收敛?
结论:EM算法可以保证收敛到一个稳定点,即EM算法是一定收敛的。 -
如果EM算法收敛,能否保证收敛到全局最大值?
结论:EM算法可以保证收敛到一个稳定点,但是却不能保证收敛到全局的极大值点,因此它是局部最优的算法,当然,如果我们的优化目标是凸的,则EM算法可以保证收敛到全局最大值,这点和梯度下降法这样的迭代算法相同。