您的位置:首页 > 其它

EM算法在高斯混合模型中的应用

2017-12-17 14:46 357 查看

高斯混合模型GMM

高斯混合模型GMM
高斯混合模型定义

GMM参数估计的EM算法
明确隐变量写完全数据对数似然函数

EM算法的E步

EM算法的M步

参考

注:该文章与《统计学习方法》by 李航 中的章节大致相同。

回顾EM算法的可以参考EM算法

高斯混合模型定义

  高斯混合模型是指具有如下形式的概率分布模型:

P(y|θ)=∑k=1KαkΦ(y|θk)(1)   其中,αk是系数,αk⩾0,∑Kk=1αk=1;Φ(y|θk)是高斯分布密度,θk=(μk,σ2k),Φ(y|θk)=12π−−√σkexp[−(y−μk)22σ2k](2)  称为第k个模型。

一般可以用任意概率分布密度代替式(2)中的高斯分布。

GMM参数估计的EM算法

  假设观测数据y1,y2,...,yN由高斯混合模型生成,P(y|θ)=∑k=1KαkΦ(y|θk)

  其中,θ=(α1,α2,...,αK;θ1,θ2,...,θK)。我们使用EM算法估计高斯混合模型的参数θ。

1. 明确隐变量,写完全数据对数似然函数

  观测数据yj,j=1,2,...,N的是这样产生的:首先依概率αk选择第k个高斯分布模型Φ(y|θk);然后依得到的高斯分布产生观测数据yj。此时,观测数据yj,j=1,2,...,N已知,但是我们根据观测数据yj并不能判断出来它来自于哪个高斯分布,我们以隐变量γjk表示观测观测数据yj来自于第k个高斯分布,如果yj来自第k个高斯分布模型,则γjk=1,否则γjk=0。

  此时我们的完全数据(观测变量+隐变量)是:(yj,γj1,γj2,...,γjK), j=1,2,...,N

  我们可以写出完全数据的似然函数:P(y,γ|θ)=∏j=1NP(yj,γj1,γj2,...,γjK|θ) =∏k=1K∏j=1N[αkΦ(yj|θk)]γjk =∏k=1Kαnkk∏j=1N[Φ(yj|θk)]γjk =∏k=1Kαnkk∏j=1N[12π−−√σkexp[−(y−μk)22σ2k]]γjk  其中nk=∑Nj=1γjk, ∑Kk=1nk=N。

  那么完全数据的对数似然概率为:log P(y,γ|θ)=∑k=1K[nklogαk+∑<
23ff7
span class="mrow" id="MathJax-Span-45291">j=1Nγjk[log(12π−−√)−logσk−12σ2k(yj−μk)2]]

  准备工作算是做完了,然后开始使用EM算法进行求解参数θ。

2. EM算法的E步

  确定Q函数:Q(θ,θ(i))=E[logP(y,γ|θ)|y,θ(i)] =E[∑k=1K[nklogαk+∑j=1Nγjk[log(12π−−√)−logσk−12σ2k(yj−μk)2]]|y,θ(i)] =∑k=1K[∑j=1N(Eγjk)logαk+∑j=1N(Eγjk)[log(12π−−√)−logσk−12σ2k(yj−μk)2]]

  注意:这里的Eγjk=E(γjk|y,θ(i))!



  记γ^jk=Eγjk,则γ^jk的求解过程如下:γ^jk=E(γjk|y,θ(i))=P(γjk=1|y,θ(i)) =P(γjk,yi|θ(i))∑Kk=1P(γjk,yi|θ(i)) =P(yj|γjk=1,θ(i))P(γjk=1|θ(i))∑Kk=1P(yj|γjk=1,θ(i))P(γjk=1|θ(i)) =αkΦ(yj|θ(i)k)∑Kk=1αkΦ(yj|θ(i)k)(1)

  γ^jk是当前模型参数θ(i)下观测数据yj来自第k个高斯分布模型的概率,其中j=1,2,...,N; k=1,2,...,K

  将γ^jk=Eγjk以及nk=∑Nj=1γjk代入(1)式得:Q(θ,θ(i))=∑k=1K[nklogαk+∑j=1N(γ^jk)[log(12π−−√)−logσk−12σ2k(yj−μk)2]](2)

  现在我们可以看到,(2)式未知变量中只有μk,σk。下面就需要对该表达式进行极大化。

3. EM算法的M步

  在M步,我们只需要求解函数Q(θ,θ(i))对θ的极大值,即求解θ(i+1):θ(i+1)=argmaxθQ(θ,θ(i))  θ(i+1)=(μ^k,σ^2k,α^k), k=1,2,...,K,对各变量求偏导求极值可以求解得到变量值μ^k,σ^2k,在∑Kk=1αk=1条件下可以求偏导求极值得到变量α^k。结果如下:μ^k=∑Nj=1γ^jkyj∑Nj=1γ^jk, k=1,2,...,K σ^2k=∑Nj=1γ^jk(yj−μk)2∑Nj=1γ^jk, k=1,2,...,K α^k=nkN=∑Nj=1γ^jkN, k=1,2,...,K

  重复上述计算,直到对数似然函数值不再收敛为止。

参考

  李航 《统计学习方法》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息