GMM模型简介
GMM(Gaussian Mixture Model)也叫高斯混合模型。我们(1)可以把它看做是高斯分量的简单线性叠加,其目标是提供一种比单独的高斯分布(GSM,Gaussian Single Model)更为强大的概率模型;(2)也可以利用离散隐变量来描述GMM,并从EM算法层面给出GMM模型的一种优雅解法。
首先,给出高斯混合模型的概率公式(考虑单样本):
p(x|π,μ,Σ)=∑kπkN(x|μk,Σk)
在第(1)种理解中,我们认为
πk
是各单独高斯分布
N(x|μk,Σk)
所占权重。这里,我们将其作为一个隐变量
z
的先验分布的概率值。对于该离散隐变量
离散变量
z
是一个K维的二值随机变量,即
而原先被认为是单独高斯分布的 N(x|μk,Σk) 则被认为是基于先验分布下的条件高斯分布 p(x|zk=1,μk,Σk)=N(x|μk,Σk) 。
GMM与EM算法的联系
借鉴贝努利分布和狄里克雷分布中表示方法(1-of-K表示法),我们换一种方式对上述分布进行重新表示:
(1)先验分布:
p(z|π)=∏kp(zk=1)zk=∏kπkzk
(2)条件高斯分布:
p(x|z,μ,Σ)=∏k[p(x|zk=1)]zk=∏k[N(x|μk,Σk)]zk
所以,高斯混合模型GMM(单样本)可表示为:
p(x|π,μ,Σ)=∑kπkN(x|μk,Σk)=∑k(∏kπkzk)(∏kN(x|μk,Σk)zk)=∑zp(z|π)p(x|z,μ,Σ)=∑zp(x,z|π,μ,Σ)
假设,我们有样本集 {xn,n=1,..,N} ,则边缘概率 p(X|π,μ,Σ)=∏np(xn|π,μ,Σ)=∏n∑znp(zn|π)p(xn|zn,μ,Σ) 。概率模型中存在隐变量 {zn},n=1,...,N ,其中 zn=(zn1,zn2,...,znK) 。也就是说,对于每一个样本 xn ,都存在一组隐变量 zn 。在GMM中,我们的目标同样是 argmax(π,μ,Σ)p(X|π,μ,Σ) ,但因为 lnp(X|π,μ,Σ)=∑nln[∑znp(zn|π)p(xn|zn,μ,Σ)] ,求和符号在内部,对其求导比较困难。
GMM利用EM算法求解
这与EM算法需要解决的问题完全契合,所以,我们自然而然地想到利用EM算法求解GMM问题。
(1)E步骤:固定参数
θold={π,μ,Σ}
,计算条件概率分布
q(Z)=p(Z|X,θold)
,从而获取联合概率分布的对数期望
Q(θ,θold)=E[p(X,Z|θold)]
;值得注意的是:在GMM中,对于每一个样本点
xn
都有相应的隐变量
zn=(zn1,zn2,...,znK)
,所以我们没法给出统一的
p(Z|X,θold)
表达式,但我们可以用概率集合
{p(znk=1|xn,π,μ,Σ)}
来间接表达。
(2)M步骤:固定 q(Z)=p(Z|X,θold) , argmaxθQ(θ,θold) ,其中 θ={π,μ,Σ} 。
具体做法为:
(1)E步骤:求解
p(Z|X,θold)={p(znk=1|xn,πold,μold,Σold)}
:
给定样本
{xn,n=1,...,N}
且样本之间相互独立,
p(znk=1|xn,π,μ,Σ)=p(znk=1,xn|π,μ,Σ)p(xn|π,μ,Σ)=p(znk=1|π)p(xn|znk=1,μk,Σk)p(xn|π,μ,Σ)=p(znk=1|π)p(xn|znk=1,μk,Σk)∑jp(znj=1|π)p(xn|znj=1,μj,Σj)
令
γnk=p(znk=1|xn,π,μ,Σ)=πkN(xn|μk,Σk)∑jπjN(xn|μj,Σj)
表示后验概率集合中的一个值,且对于单个样本
xn
有
∑kγnk=1
。
(2)M步骤:
argmaxθQ(θ,θold)
,其中
θ={π,μ,Σ}
:
Q(θ,θold)=∑Zp(Z|X,θold)ln[p(X,Z|θ)]=∑znkp(znk=1|xn,πold,μold,Σold)ln[p(xn,znk=1|π,μ,Σ)]=∑n∑kγnkln[πkN(xn|μk,Σk)]=∑n∑kγnk[lnπk+lnN(xn|μk,Σk)]
利用
μk,Σk
分别对
Q(θ,θold)
求导:
∂Q∂μk=∂∂μk(∑n∑kγnk[lnπk+lnN(xn|μk,Σk)])=∂∂μk(∑n∑kγnk(xn−μk)TΣ−1k(xn−μk))=2∑nγnkΣ−1k(xn−μk)=0
⇒2∑nγnkΣkΣ−1k(xn−μk)=Σk⋅0
⇒μk=∑nγnk⋅xn∑nγnk
∂Q∂Σk=∂∂Σk(∑n∑kγnk[lnπk+lnN(xn|μk,Σk)])=∂∂Σk(∑n∑kγnk(xn−μk)TΣ−1k(xn−μk))=0
⇒Σk=∑nγnk(xn−μk)(xn−μk)T∑nγnk
对于
πk
则需要考虑有限制条件
∑kπk=1
,引入拉格朗日乘数法,最大化量为
Q(θ,θold)+λ(∑kπk−1)
⇒∂∂πk[Q(θ,θold)+λ(∑kπk−1)]=∂∂πk[∑n∑kγnk(xn−μk)TΣ−1k(xn−μk)+λ(∑kπk−1)]=∑nγnk1πk+λ=0
两边同时乘以
πk
,并对等式求和
∑k
:
∑n∑kγnk+λ∑kπk=0
∵∑kγnk=1,∑kπk=1
∴λ=−N
⇒πk=∑nγnkN
令 Nk=∑nγnk ,则有
μk=1Nk∑nγnk⋅xn
Σk=1Nk∑nγnk(xn−μk)(xn−μk)T
πk=NkN
相关文章:
EM算法(期望最大化)——理论部分http://blog.csdn.net/tingyue_/article/details/70474042
EM算法(期望最大化)——从EM算法角度理解K-Means与GMM的区别http://blog.csdn.net/tingyue_/article/details/70739671