EM算法在高斯混合模型学习中的应用
一、高斯混合模型
1、定义:高斯混合模型是指具有以下形式的概率分布模型:
P(y|θ)=∑k=1Kαkϕ(y|θk)
其中,
αk
是系数,有
∑k=1Kαk=1,αk≥0
;
ϕ(y|θk)
是高斯分布密度,
θk=(μk,σ2k)
2、EM算法的应用
假设观测数据是由高斯混合模型生成的,我们需要利用EM算法来估计参数
θ
(1)明确隐变量,写出完全数据的对数似然函数
我们已知一个观测数据
yi
但不知道是由哪个分模型产生的,以隐变量
γjk
来表示,其定义为:
当第j个观测来自第k个分模型时,隐变量取1,否则取0
所以完全数据的似然函数为:
P(y,γ|θ)=∏j=1NP(yj,γj1,γj2,⋯,γjk|θ)=∏k=1N∏j=1N[αkϕ(yj|θk)]γjk=∏k=1Kαnkk∏j=1N[12π√σkexp(−(yj−μk)22σ2k)]γjk
由此可以求出完全似然函数。
(2)确定Q函数
Q(θ,θ(i))=E[logP(y,γ|θ)|y,θ(i)]
(3)求极大值
经过一系列的推导,具体可以参考《统计学习方法》第163,最终总结如下:
E步:计算分模型对观测数据的响应度:
γˆjk=αkϕ(yj|θk)∏k=1Kαkϕ(yj|θk)
M步:计算迭代参数:
μˆk=∑j=1Nγˆjkyj∑j=1Nγˆjk
σˆ2k=∑j=1Nγˆjk(yj−μk)2∑j=1Nγˆjk
αˆk=∑j=1NγˆjkN
重复迭代,直至收敛