华电北风吹
日期:2016-05-07
高斯混合模型是一个无监督学习算法,主要用思路是利用EM算法对混合高斯分布进行极大似然估计。
一、高斯混合分布
对于有k个高斯分布混合而成的混合高斯分布的概率密度函数有
p(x)=∑zp(x|z)p(z)(1)
对于随机变量z有z~Multinomial(?), 表示来自于不同的高斯分布的概率分别为?j,j=1,2,...,k,即p(z=j)=?j,其中?j≥0,∑kj=1?j=1。对于每个高斯分布有x|z~N(μj,Σj)。称满足以上分布的随机变量x服从高斯混合分布。
二、混合高斯模型
对于取样于混合高斯分布的m个随机取样样本X={x(1),x(2),...,x(m)},混合高斯模型的目标是利用EM算法求解混合高斯分布的模型参数?,μ,Σ。
对于取样样本的极大似然函数为
L(?,μ,Σ)=∏mi=1p(x(i);?,μ,Σ)=∏mi=1∑z(j)p(x(i)|z(j);μ,Σ)p(z(j);?)(2-1)
写成对数似然函数为
l(?,μ,Σ)=∑mi=1log∑z(j)p(x(i)|z(j);μ,Σ)p(z(j);?)(2-2)
直接对式(2-2)求导,按照普通的极大似然估计是不可解的。EM算法参考了kmeans算法的迭代思路可以很好的求解式(2-2)。
EM算法的过程如下
———————————————————————————-
Algorithm MixGM
给定初值?0,μ0,Σ0
Repeat until convergence
E?step: For each i,j set
w(i)j:=p(z(i)=j|x(i);?,μ,Σ)
M?step: Update the parameters
?j:=1m∑mi=1w(i)j
μj:=∑mi=1w(i)jx(i)∑mi=1w(i)j
Σj:=∑mi=1w(i)j(x(i)?μj)(x(i)?μj)T∑mi=1w(i)j
———————————————————————————-
在Algorithm MixGM中,E?step其实是根据贝叶斯公式对每个样本求解它在当前参数下来自于各个高斯分布的后验概率,求解方式如下
p(z(i)=j|x(i);μ,Σ)=p(x(i)|z(i)=j;?,μ,Σ)p(z(i)=j;?)∑kl=1p(x(i)|z(i)=l;?,μ,Σ)p(z(i)=l;?)(2-3)
对于公式(2-2)中,若知道了隐含变量z的分布,公式就是可以用极大似然估计求解的。在Algorithm MixGM中,M?step就是据此利用极大似然估计对模型参数?,μ,Σ进行更新。