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