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重复上述计算,直到对数似然函数值不再收敛为止。
参考
李航 《统计学习方法》相关文章推荐
- EM算法 - 2 - EM算法在高斯混合模型学习中的应用
- EM算法在高斯混合模型中的应用
- EM算法 - 2 - EM算法在高斯混合模型学习中的应用
- EM算法的应用--高斯混合模型学习
- EM算法--应用到三个模型: 高斯混合模型 ,混合朴素贝叶斯模型,因子分析模型
- 【EM算法】在高斯混合模型中的应用及python示例
- EM算法与在高斯混合模型中的应用
- EM算法及其应用
- 一维高斯混合模型EM算法实现
- 斯坦福大学机器学习——EM算法求解高斯混合模型
- EM算法及其应用(代码)
- EM算法之高斯混合模型(二)
- 数字图像处理成长之路15:前景提取(最大似然估计EM算法与高斯混合模型)
- 高斯混合模型与EM算法
- EM算法求解高斯混合模型
- GMM高斯混合模型学习笔记(EM算法求解)
- EM算法入门及简单应用举例
- 最大似然估计,高斯分布,高斯混合模型,EM算法
- EM算法求高斯混合模型參数预计——Python实现
- EM算法及其应用(代码)