目录
最大似然估计算法
EM算法是一种最大似然估计(Max imum Likel ihood Est imation)算法,传统的最大似然估计算法是根据已知的观察数据来评估模型参数
最大似然估计的一般步骤如下:
首先确保采集得到的样本数据是独立同分布的,这是最大似然估计的前提,这样才可以对于数据建立统一的概率分布模型。在这个前提下对于概率分布模型做出估计
根据所假设的概率分布模型写出关于模型中的未知参数的似然函数。也就是概率关于未知参数的函数,问题就转变成了求解使得概率最大的未知参数的值
为了简化求导过程中的运算,对似然函数取对数,将其中的指数运算进行简化
将步骤3中得到的式子做关于未知参数的求导运算,为了求得概率的极值,使得导数为0,得到关于未知参数的方程
求解步骤4中得到的关于未知参数的方程,得到能够使得概率最大的参数值
最大似然估计例子
某公司想要对公司员工的身体状况做一次抽样调查,其中一项为体重的检查,其中一项统计数据是统计男女员工中体重50kg以上的员工分别占的比例。得到的三组数据如下:
男(kg) 49 60 70 48 47 55 80 62 64 78
女(kg) 45 46 45 52 60 49 47 53 55 64
男(kg) 58 62 49 63 72 90 64 69 59 57
根据数据得到三组中比例分别为0.7,0.5,0.9
由此得到的男女员工中体重50kg以上所占比例分别为0.8以及0.5
但是由于数据没有及时存储,所以数据出现了一些损耗,其中三次抽样时抽取的性别的信息丢失了,为了能够较为准确的得到目标比例,采用EM算法来进行迭代,首先假设在男性中的比例为0.6,在女性中的比例为0.4,则根据这一假设进行E步,计算出各组实验性别的后验概率,依次为
更新参数后用同样的E步以及M步迭代,得到参数为0.78以及0.60,再迭代一次,得到的参数为0.79以及0.60,可以看到这次迭代与上一次迭代之间得到的参数之间的差距已经很小了,可以近似认为得到的男女员工中体重50kg以上的员工所占比例分别为0.79以及0.60。
发现男性中的体重比例是较为准确的,而女性员工中的体重比例误差较大,这是由于在这组样本的三组数据中体重比例都是不小于女性中实际的体重比例的,所以在不能够准确知道哪组是女性数据的情况下得到的比例一定是偏大的。
最大似然估计算法存在的问题
在男女员工体重比例的例子中,在初始化参数的时候假设男性中比例为0.6,女性中比例为0.4。
假设男性中比例为0.4,女性中比例为0. 6,那么得到的结果就会是刚好相反的结果的,所以说EM算法的聚类结果受初始值的影响较大,会有比较大的波动,这就需要有一定的专业领域知识才可以根据自己的经验较好的对于参数进行初始化。
而且EM算法可能会出现陷入局部最优解的情况,所以在使用EM算法的时候可以考虑多次随机初始化的方法