2024年6月5日发(作者:程筠)
EM(Expectation Maximum) 算法总结
EM算法,全称为Expectation Maximum Algorithm,是一个基础
算法,是很多机器学习领域算法的基础(如HMM,LDA等)。EM算法
是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其
中概率模型依赖于无法观测的隐含变量。
它经过两个步骤交替进行计算:
计算期望(E步),基于现有的模型参数(或者随机初始化的模型)
对隐含变量的值进行猜测(估计),利用隐含变量现有的估计值,计
算其最大似然的估计值。
最大化(M步),最大化在E步上求得的最大似然值来计算参数的
值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不
断交替进行。
EM解决的问题
我们经常会从样本观察数据中,找出样本的模型参数。其中最常
用的就是最大似然估计。但是在一些情况下,我们观察得到的数据有
未观察到的隐含数据,此时我们未知的有隐含数据和模型参数,因此
无法直接使用最大似然估计。
EM算法解决这个问题的思路是使用启发式的迭代方法。既然我们
无法直接求出模型的参数,那么我们可以先猜想隐含数据——E步,
接着基于观察数据和猜测的隐含数据一起来进行最大似然估计,进而
求得我们模型分布的参数——M步。由于我们之前的隐藏数据是猜测
的,所以此时得到的模型参数并不一定是最好的结果。因此,我们基
于当前得到的模型参数来继续猜测隐含数据,然后进行最大似然估计
求出模型分布参数。以此类推,不断迭代,直到模型分布参数基本不
变化或变化很小,算法收敛停止。
一个最直观的EM算法是K-Means聚类算法。在K-Means聚类时,
每个聚类的质心可以看成是隐含数据。我们会假设KKK个初始化质心,
即EM算法的E步;然后计算每个样本和KKK个质心之间的距离,并
把样本聚类到最近的那个质心类中,即EM算法的M步。重复这个E
步和M步质心不在变化为止。
EM算法的数学基础
极大似然估计
似然函数
在数理统计学中,似然函数是一种关于统计模型中参数的函数,
表示模型参数中的似然性(某种事件发生的可能性)。显然,极大似
然就是最大可能性的意思。
多数情况下我们是根据已知条件来推算结果,而最大似然估计是
已知结果来寻求使该结果出现的可能性最大的条件,以此作为估计值。
假定已知某个参数BBB时,推测事件AAA发生的概率为:
P(A∣B)=P(A,B)P(B)
P(A|B) = frac{P(A,B)}{P(B)}
P(A∣B)=P(B)P(A,B)?
由贝叶斯公式,可以得出:
2024年6月5日发(作者:程筠)
EM(Expectation Maximum) 算法总结
EM算法,全称为Expectation Maximum Algorithm,是一个基础
算法,是很多机器学习领域算法的基础(如HMM,LDA等)。EM算法
是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其
中概率模型依赖于无法观测的隐含变量。
它经过两个步骤交替进行计算:
计算期望(E步),基于现有的模型参数(或者随机初始化的模型)
对隐含变量的值进行猜测(估计),利用隐含变量现有的估计值,计
算其最大似然的估计值。
最大化(M步),最大化在E步上求得的最大似然值来计算参数的
值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不
断交替进行。
EM解决的问题
我们经常会从样本观察数据中,找出样本的模型参数。其中最常
用的就是最大似然估计。但是在一些情况下,我们观察得到的数据有
未观察到的隐含数据,此时我们未知的有隐含数据和模型参数,因此
无法直接使用最大似然估计。
EM算法解决这个问题的思路是使用启发式的迭代方法。既然我们
无法直接求出模型的参数,那么我们可以先猜想隐含数据——E步,
接着基于观察数据和猜测的隐含数据一起来进行最大似然估计,进而
求得我们模型分布的参数——M步。由于我们之前的隐藏数据是猜测
的,所以此时得到的模型参数并不一定是最好的结果。因此,我们基
于当前得到的模型参数来继续猜测隐含数据,然后进行最大似然估计
求出模型分布参数。以此类推,不断迭代,直到模型分布参数基本不
变化或变化很小,算法收敛停止。
一个最直观的EM算法是K-Means聚类算法。在K-Means聚类时,
每个聚类的质心可以看成是隐含数据。我们会假设KKK个初始化质心,
即EM算法的E步;然后计算每个样本和KKK个质心之间的距离,并
把样本聚类到最近的那个质心类中,即EM算法的M步。重复这个E
步和M步质心不在变化为止。
EM算法的数学基础
极大似然估计
似然函数
在数理统计学中,似然函数是一种关于统计模型中参数的函数,
表示模型参数中的似然性(某种事件发生的可能性)。显然,极大似
然就是最大可能性的意思。
多数情况下我们是根据已知条件来推算结果,而最大似然估计是
已知结果来寻求使该结果出现的可能性最大的条件,以此作为估计值。
假定已知某个参数BBB时,推测事件AAA发生的概率为:
P(A∣B)=P(A,B)P(B)
P(A|B) = frac{P(A,B)}{P(B)}
P(A∣B)=P(B)P(A,B)?
由贝叶斯公式,可以得出: