机器学习——EM算法 知识点与面试总结

提出:有时候任务中含有一些不能观察到的隐含变量,样本的产生和隐含变量有关,而求模型的参数时一般用最大似然估计,由于隐变量的存在,所以对似然函数参数求导是求不出来的,这时采用EM算法来求导。

总结:是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计。两个步骤交替计算:

E步:利用当前估计的参数值,求出在该参数下隐含变量的条件概率值(计算对数似然的期望值)

M步:结合E步求出的隐含变量条件概率,求出似然函数下界函数的最大值(寻找能使E步产生的似然期望最大化的参数值。)然后,新得到的参数值重新被用于E步.....直到收敛到局部最优解。(note:每次迭代实际在求Q函数及其极大,即每次迭代使似然函数增大或达到局部极值。)

通俗来讲:就是对于一个含有隐变量的概率模型,目标是极大化观测数据Y关于参数theta的对数似然函数。

优点:简单性和普适性,可看作是一种非梯度优化方法(解决梯度下降等优化方法的缺陷:求和的项数将随  着隐变量的数目以指数级上升,会给梯度计算带来麻烦)

缺点:对初始值敏感,不同的初值可能得到不同的参数估计值;不能保证找到全局最优值。

/------------------------------------------------------------------------------/

EM算法步骤: (统计学习方法书中 解释) 

 


/______________________________________面试篇:__________________________________/

1、EM求解原理:

因为在求解一个含有隐变量的概率模型时,目标是极大化观测数据关于参数的对数似然函数,而极大化的主要困难是含有未观测数据并有包含和的对数,而EM算法是通过迭代,不断求解下界的极大化,来逐步求解对数似然函数极大化。

 

2、EM算法在高斯混合模型中的应用:

高斯混合模型:


步骤:(1)明确隐变量,写出完全数据的对数似然函数。


    (2)EM算法的E步:确定Q函数(即:完全数据的对数似然函数关于在给定观测数据和参数的条件下对隐变量的条件概率的期望):  


3)M步:求Q函数对theta的极大值,即求新一轮迭代的模型参数。


4、采用EM算法求解的模型有哪些?为什么不用牛顿法或者梯度下降法?

一般有混合高斯、协同过滤、k-means。算法一定会收敛,但是可能会收敛到局部最优。求和的项数会随着隐变量的数目指数上升,会给梯度计算带来麻烦。EM算法是一种非梯度优化算法。

5、用EM算法推导解释K-means:

k-means算法是高斯混合聚类在混合成分方差相等,且每个样本仅指派一个混合成分时候的特例。k-means算法与EM算法的关系是这样的:

· k-means是两个步骤交替进行:确定中心点,对每个样本选择最近中心点--> E步和M步。

· E步中将每个点选择最近的类优化目标函数,分给中心距它最近的类(硬分配),可以看成是EM算法中E(软分配)的近似。

· M步中更新每个类的中心点,可以认为是在「各类分布均为单位方差的高斯分布」的假设下,最大化似然值; 

· 


· 

参考 :
《统计学习方法》,李航 
《机器学习》,周志华

· 

 

 

 

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页