EM算法引言

在现实应用中,概率模型有时既含有观测变量(observable variable),又含有不能被观测到的变量,该变量称为隐变量(latent variable)。如果给定数据全都是观测变量,那么可以使用最大似然估计求解模型参数,但是在含有隐变量的情况下无法求解。EM算法就是用于求解在训练样本具有隐变量的情况下概率模型参数的最大似然估计。EM算法是对两种未知参数(隐变量分布和模型参数)交替优化的迭代算法,相当于在优化过程中,保持某一个变量不变,去优化另一个变量。首先给定模型参数,EM算法的每次迭代分为两步:E步,求隐变量的期望(expectation);M步,求模型参数的极大似然估计(maximization),所以这一算法称为期望极大算法(expectation maximization algorithm)。

实例:

emv计算公式 实例_迭代


从上面的例子中可以看出,参数的最大似然估计为emv计算公式 实例_emv计算公式 实例_02,此时由于观测值emv计算公式 实例_概率模型_03emv计算公式 实例_emv计算公式 实例_04无直接关系,需要加入隐变量,即为:

emv计算公式 实例_概率模型_05

emv计算公式 实例_emv计算公式 实例_06相当于全概公式。

emv计算公式 实例_最大似然估计_07


将观测数据表示为emv计算公式 实例_最大似然估计_08,隐藏数据表表示为emv计算公式 实例_emv计算公式 实例_09,则观测数据的似然函数为:

emv计算公式 实例_概率模型_10

即:

emv计算公式 实例_迭代_11

求模型参数emv计算公式 实例_迭代_12

上述问题没有解析解,只有通过迭代的方法求解,EM算法就是求解此问题的迭代算法。

EM算法推导

给定观测数据emv计算公式 实例_最大似然估计_13,则模型的最大似然估计为:

emv计算公式 实例_emv计算公式 实例_14

emv计算公式 实例_迭代_15

Jensen不等式:

emv计算公式 实例_最大似然估计_16


EM算法通过逐步迭代最大化emv计算公式 实例_emv计算公式 实例_17,假设第emv计算公式 实例_最大似然估计_18次迭代之后的估计值为emv计算公式 实例_概率模型_19,我们希望新估计的值emv计算公式 实例_emv计算公式 实例_04能使emv计算公式 实例_emv计算公式 实例_17增大逐步达到极大值。考虑两者的差值:

emv计算公式 实例_最大似然估计_22

上式中,emv计算公式 实例_概率模型_23,左式的log里面的值相当于 emv计算公式 实例_emv计算公式 实例_24的期望。emv计算公式 实例_概率模型_25

由Jensen不等式可得:

emv计算公式 实例_迭代_26

所以可得到:

emv计算公式 实例_概率模型_27

emv计算公式 实例_概率模型_28
emv计算公式 实例_最大似然估计_29时,log项为0,此时emv计算公式 实例_概率模型_30
可以得到目标函数的下界为::emv计算公式 实例_emv计算公式 实例_31
emv计算公式 实例_迭代_32越大,可以使得emv计算公式 实例_emv计算公式 实例_17的下界越大,因为在该次迭代中我们无法得到emv计算公式 实例_emv计算公式 实例_17的最大值,我们只能取下界的最大的值:
emv计算公式 实例_最大似然估计_35
对于上式可以省去常数项简化公式:
emv计算公式 实例_最大似然估计_36
令:
emv计算公式 实例_最大似然估计_37
则:
emv计算公式 实例_emv计算公式 实例_38
该公式相当于EM算法对参数emv计算公式 实例_emv计算公式 实例_04的一次迭代求解,通过不断求解下界的极大化值来逼近最大化似然函数。在迭代过程中,emv计算公式 实例_emv计算公式 实例_17是不断增大的,但是EM算法并不能保证收敛到全局最优值。

EM算法总流程

1.初始化参数emv计算公式 实例_迭代_41

2.E步:求似然函数关于emv计算公式 实例_emv计算公式 实例_42的期望:emv计算公式 实例_迭代_43

3.M步:更新emv计算公式 实例_最大似然估计_44

emv计算公式 实例_最大似然估计_45

高斯混合聚类

EM算法作为一种求解思想,可以用于多种模型求解,高斯混合聚类是其典型应用。下图表明,在聚类中,一个高斯分布很难进行聚类,此时需要多个高斯分布进行聚类。

emv计算公式 实例_最大似然估计_46


对于emv计算公式 实例_emv计算公式 实例_47维空间中的随机变量emv计算公式 实例_最大似然估计_48遵从多元高斯分布,其概率密度为:

emv计算公式 实例_迭代_49

对于存在多个高斯分布的情况下,我们定义高斯混合分布:

emv计算公式 实例_最大似然估计_50

该分布有emv计算公式 实例_概率模型_51个高斯分布组成,也就是一共有emv计算公式 实例_概率模型_51个簇。emv计算公式 实例_emv计算公式 实例_53为混合系数,表明选择第emv计算公式 实例_最大似然估计_18个成分的概率,emv计算公式 实例_概率模型_55。某样本emv计算公式 实例_最大似然估计_48对应第emv计算公式 实例_emv计算公式 实例_57个成分的后验概率为:

emv计算公式 实例_概率模型_58

给定数据集emv计算公式 实例_emv计算公式 实例_59,此时我们可以通过最大似然估计求解模型参数emv计算公式 实例_最大似然估计_60.

emv计算公式 实例_最大似然估计_61

取对数似然函数:

emv计算公式 实例_emv计算公式 实例_62

对于上述带有emv计算公式 实例_emv计算公式 实例_63的形式,从经验来说求导很困难,此时可以EM算法求解。

首先明确隐变量

观测数据是已知的,但是数据来源于哪个成分是未知的。对于观测数据emv计算公式 实例_最大似然估计_64,使用隐变量emv计算公式 实例_最大似然估计_65表示来源于哪个成分。

emv计算公式 实例_概率模型_66

完全数据为:emv计算公式 实例_迭代_67

emv计算公式 实例_迭代_68emv计算公式 实例_emv计算公式 实例_69

在完全数据情况下的似然函数为:

emv计算公式 实例_最大似然估计_70


取对数似然:

emv计算公式 实例_概率模型_71


E步: 估计隐变量emv计算公式 实例_迭代_72

求Q函数:

emv计算公式 实例_emv计算公式 实例_73


上述式子中的emv计算公式 实例_概率模型_74和括号中的内容对于带入的不同的emv计算公式 实例_emv计算公式 实例_75是相同的,所以期望可有上述的代入方式。

emv计算公式 实例_最大似然估计_76

M步

emv计算公式 实例_概率模型_77


下面求解目标函数:

emv计算公式 实例_emv计算公式 实例_78

可以使用拉格朗日乘数法进行求解:

emv计算公式 实例_概率模型_79

emv计算公式 实例_emv计算公式 实例_80


emv计算公式 实例_概率模型_81


emv计算公式 实例_概率模型_82


类簇划分:

emv计算公式 实例_最大似然估计_83整体算法的伪代码:

emv计算公式 实例_概率模型_84