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

来源:互联网 发布:淘宝网店怎么激活 编辑:程序博客网 时间:2024/05/19 19:14

高斯混合模型GMM


  • 高斯混合模型GMM
    • 高斯混合模型定义
    • GMM参数估计的EM算法
      • 明确隐变量写完全数据对数似然函数
      • EM算法的E步
      • EM算法的M步
    • 参考


注:该文章与《统计学习方法》by 李航 中的章节大致相同。
回顾EM算法的可以参考EM算法

高斯混合模型定义

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

P(y|θ)=k=1KαkΦ(y|θk)(1)
  其中,αk是系数,αk0,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=1Kj=1N[αkΦ(yj|θk)]γjk
=k=1Kαnkkj=1N[Φ(yj|θk)]γjk
=k=1Kαnkkj=1N[12πσkexp[(yμk)22σ2k]]γjk
  其中nk=Nj=1γjk, Kk=1nk=N
  那么完全数据的对数似然概率为:
log P(y,γ|θ)=k=1K[nklogαk+j=1Nγjk[log(12π)logσk12σ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σk12σ2k(yjμk)2]]|y,θ(i)]
=k=1K[j=1N(Eγjk)logαk+j=1N(Eγjk)[log(12π)logσk12σ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σk12σ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γ^jkyjNj=1γ^jk, k=1,2,...,K
σ^2k=Nj=1γ^jk(yjμk)2Nj=1γ^jk, k=1,2,...,K
α^k=nkN=Nj=1γ^jkN, k=1,2,...,K

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


参考

  李航 《统计学习方法》


原创粉丝点击