深入的可以看原论文以及李航的统计学习方法。
------------------------------------------------------手动分割-------------------------------------------------------
--------------------------------↓↓↓以下内容,纯属个人理解,也不知道对不对的,正如题目所示,差不多吧。。。。↓↓↓-------------
在EM算法之前,首先需要介绍下最大似然估计。
显然,在有完全观测变量的情况下,模型参数的估计可以通过最大似然估计得到近似参数。但是,如果模型中含有隐藏变量,就不适用了。
举个例子。
有A,B两枚硬币,正面出现的概率分布为0.4,0.5。选择A的概率是0.3,B是0.7,提供有限的观测变量y,问一次结果为正面来自A,B的概率。在这种情况下,我们可以通过贝叶斯求出大部分我们想求的概率。
现在减少一个条件,有A,B两枚硬币,选择A的概率是0.3,B是0.7,提供有限的观测变量y,问一次结果为正面来自A,B的概率。。此时,可以通过最大似然估计求解参数,即选择A,B的正面概率。再由贝叶斯求解即可。
现在再减少一个条件,有A,B两枚硬币,提供有限的观测变量y,来一次结果为正面来自A,B的概率。这时,因为我们即不知道模型的参数,又不知道观测结果来自哪个分布。因此无法使用最大似然估计。此时就要用到EM算法,EM算法就是含有隐变量的概率模型参数的极大似然估计法。
EM算法的核心思想
先随机初始化参数。
E步:计算隐变量的期望。根据参数计算概率(结合上面的例子可以理解为先随便设选择两枚硬币的概率)。
M步:最大化。根据概率更新参数值。(结合上面例子就是每枚硬币正面出现的概率)。
如此迭代至收敛皆可。
例子1:K均值聚类
详细可以参照《百面机器学习》第五章,此处只给出简单理解。
参数是簇心,概率模型每个样本属于哪一类。
随机选定簇心。
E步:为每一个点找到最近的簇。(对应上面猜硬币,拿着概率猜样本分布)
M步:通过样本,找最优的中心点(对应上面硬币正面的概率,拿着样本分布改参数)
例子2:高斯混合分布聚类
首先,初始随机选择各参数的值。然后,重复下述两步,直到收敛。
-
E步。根据当前的参数,计算每个点由某个分类模型生成的概率。
-
M步。使用E步估计出来的概率,来改进每个分模型的均值,方差,和权重。
本文介绍了EM算法的基本原理及其在处理含有隐变量的概率模型参数极大似然估计中的应用,并通过两个具体的例子——K均值聚类和高斯混合分布聚类进行了说明。
12万+





