机器学习_EM算法
Jesen不等式
若f是凸函数(如),则
一、EM算法
现实生活中,很多样本可能含有隐变量,这时候用似然法求模型参数是不现实的,我们考虑用EM算法。利用当前参数的估计值,来计算似然函数的期望;在计算使期望最大的值,反复迭代,至收敛。
1、EM算法推导
EM是一种解决存在隐含变量优化问题的有效方法。竟然不能直接最大化l(.),我们可以不断地建立l(.)的下界(E步),然后优化下界(M步)
由于隐变量未知,无法直接求得期望,下面,先直管认识下EM算法的构建思路:
- 取
- 计算为何值时,的最大值
- 利用得到的重新计算,…反复迭代,至收敛到局部最优。
下面我们将根据上图思路,给出EM的证明
上图推广到GMM模型
二、混合高斯分布(GMM)的参数估计(EM示例)
1、EM算法估计GMM参数估计
EM算法是期望最大法,是一种迭代算法,可以估计GMM的各模型的参数和样本属于哪个模型。基本步骤如下:
-
参数初始化
对需要估计的参数进行初始赋值,包括均值、方差、混合系数以及期望。 -
E-Step计算
利用概率分布公式计算后验概率,即期望。 -
M-step计算
重新估计参数,包括均值、方差、混合系数并且估计此参数下的期望值。 -
收敛性判断
将新的与旧的值进行比较,并与设置的阈值进行对比,判断迭代是否结束,若不符合条件,则返回到第2步,重新进行计算,直到收敛符合条件结束。
注意:
- 初值选择敏感,初值选择不好,可能得不到全局最优解。
2、示例