1. 最大期望EM
最大期望(Expectation Maximum)算法是一种迭代优化算法,如果概率模型的变量都是观测变量,那么给定数据,可以直接用最大似然估计法或者贝叶斯估计法去估计模型的参数。但是,当模型含有隐变量时,就不能简单的使用这些估计方法。EM算法就是含有隐变量的概率模型参数估计的最大似然估计法。
最大期望算法经过两个步骤交替进行计算,第一步是计算期望(E),也就是将隐藏变量象能够观测到的一样包含在内,从而计算最大似然的期望值;另外一步是最大化(M),也就是最大化在 E 步上找到的最大似然的期望值从而计算参数的最大似然估计。M 步上找到的参数然后用于另外一个 E 步计算,这个过程不断交替进行。
期望最大算法是一种从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。
EM算法的流程:
输入:观察数据
,联合分布
, 条件分布
, 最大迭代次数 。
1) 随机初始化模型参数 的初值 。
2) for j from 1 to J开始EM算法迭代:
a) E步:计算联合分布的条件概率期望:
b) M步:极大化
,得到
c) 如果
已收敛,则算法结束。否则继续回到步骤a)进行E步迭代。
输出:模型参数 。
2. 高斯混合模型
高斯混合模型可以看作是由 K 个单高斯模型组合而成的模型,这 K 个子模型是混合模型的隐变量(Hidden variable)。一般来说,一个混合模型可以使用任何概率分布,这里使用高斯混合模型是因为高斯分布具备很好的数学性质以及良好的计算性能。
举个不是特别稳妥的例子,比如我们现在有一组狗的样本数据,不同种类的狗,体型、颜色、长相各不相同,但都属于狗这个种类,此时单高斯模型可能不能很好的来描述这个分布,因为样本数据分布并不是一个单一的椭圆,所以用混合高斯分布可以更好的描述这个问题,如下图所示:
首先定义如下信息:
1. 表示第 j个观测数据,
2. K是混合模型中子高斯模型的数量,
3. 是观测数据属于第 个子模型的概率,
4.
是第 k 个子模型的高斯分布密度函数,
。其展开形式与上面介绍的单高斯模型相同
5. 表示第 j 个观测数据属于第 k 个子模型的概率
高斯混合模型的概率分布为:
对这个模型而言,参数
,就是每个子模型的期望、方差(或协方差)、在混合模型中发生的概率。