 
- UID
- 1029342
- 性别
- 男
|

概念
在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。
最大期望经常用在机器学习和计算机视觉的数据聚类(Data Clustering)领域。
可以有一些比较形象的比喻说法把这个算法讲清楚。
比如说食堂的大师傅炒了一份菜,要等分成两份给两个人吃,显然没有必要拿来天平一点一点的精确的去称分量,最简单的办法是先随意的把菜分到两个碗中,然后观察是否一样多,把比较多的那一份取出一点放到另一个碗中,这个过程一直迭代地执行下去,直到大家看不出两个碗所容纳的菜有什么分量上的不同为止。(来自百度百科)
EM算法就是这样,假设我们估计知道A和B两个参数,在开始状态下二者都是未知的,并且知道了A的信息就可以得到B的信息,反过来知道了B也就得到了A。可以考虑首先赋予A某种初值,以此得到B的估计值,然后从B的当前值出发,重新估计A的取值,这个过程一直持续到收敛为止。
EM 算法还是许多非监督聚类算法的基础(如 Cheeseman et al. 1988 ),而且它是用于学习部分可观察马尔可夫模型( Partially Observable Markov Model )的广泛使用的 Baum-Welch 前向后向算法的基础。
估计 k 个高斯分布的均值 介绍 EM 算法最方便的方法是通过一个例子。
考虑数据 D 是一实例集合,它由 k 个不同正态分布的混合所得分布所生成。该问题框架在下图中示出,其中 k =2 而且实例为沿着 x 轴显示的点。
每个实例使用一个两步骤过程形成。
首先了随机选择 k 个正态分布其中之一。
其次随机变量 x i 按照此选择的分布生成。
这一过程不断重复,生成一组数据点如图所示。为使讨论简单化,我们考虑一个简单情形,即单个正态分布的选择基于统一的概率进行选择,并且 k 个正态分布有相同的方差 σ 2 ,且 σ 2 已知。
学习任务是输出一个假设 h =< μ 1 … μ k > ,它描述了 k 个分布中每一个分布的均值。我们希望对这些均值找到一个极大似然假设,即一个使 P ( D | h ) 最大化的假设 h 。
注意到,当给定从一个正态分布中抽取的数据实例 x 1 , x 2 , …, x m 时,很容易计算该分布的均值的极大似然假设。
其中我们可以证明极大似然假设是使 m 个训练实例上的误差平方和最小化的假设。
使用当表述一下式,可以得到:
(公式一)
然而,在这里我们的问题涉及到 k 个不同正态分布的混合,而且我们不能知道哪个实例是哪个分布产生的。 因此这是一个涉及隐藏变量的典型例子 。 |
|