华电北风吹
日期:2016-05-07

高斯混合模型属于EM框架的经典应用,不懂EM的先看参考博客一。具体重复的地方本文不重复讲。

高斯混合模型是一个无监督学习的密度估计算法,主要用思路是利用EM算法对混合高斯分布进行极大似然估计。
模型缺点:高斯核个数实现难以确定,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服从高斯混合分布。

二、高斯混合模型介绍
在这一部分我们都先来看与混合高斯分布有关的两个问题。
1、若给出混合高斯分布的参数ϕ,μ,Σ,求采样样本为X={x(1),x(2),...,x(m)}的概率。
2、、只给出混合高斯分布的采样样本X={x(1),x(2),...,x(m)},求混合高斯分布的参数ϕ,μ,Σ。
这两个问题互为逆问题,第一个问题,由模型算样本概率第二个问题,由采样样本推算模型。第一个问题,一个全概率公式就可以搞定。第二个问题,就是本文要讨论的主要内容。

三、高斯混合模型
对于取样于高斯混合分布的m个随机取样样本X={x(1),x(2),...,x(m)},混合高斯模型的目标是利用EM算法求解混合高斯分布的模型参数ϕ,μ,Σ。
对于取样样本的对数似然函数为
l(ϕ,μ,Σ)=∑mi=1logp(x(i);ϕ,μ,Σ)(3-1)
由于每个样本x(i)可能来自于任意一个高斯核,在这里用一个隐变量z(i)表示样本i来自于高斯核z(i)。这样利用全概率公式公式(3-1)就可进一步写为
l(ϕ,μ,Σ)=∑mi=1logp(x(i);ϕ,μ,Σ)=∑mi=1log∑kz(i)=1p(x(i)|z(i);μ,Σ)p(z(i);ϕ)(3-2)
利用极大似然估计的方法直接对公式(3-2)求解的话,会发现似然函数求偏导的时候对数函数里面包含关于参数ϕ,μ,Σ的求和项,这使得极大似然求解特别麻烦。
而EM算法通过把似然函数转化为似然函数的一个如下形式的下确界,(具体细节,看参考博客)
J(Q,θ)=∑mi=1∑kz(i)=1Qi(z(i))logp(x(i)|z(i);μ,Σ)p(z(i);ϕ)Qi(z(i))(3-3)
在这个下确界形式中,对数函数里面不包含求和项,而使得极大似然估计变得容易。然后依次提高下确界形式的似然性达到求解原问题的目的。

EM迭代算法求解公式(3-2)的过程如下,
———————————————————————————-
AlgorithmGMM(EM)
给定初值ϕ0,μ0,Σ0
Repeatuntilconvergence
   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
———————————————————————————-
在AlgorithmGMM中,E−step不用多说,看不懂的先去看EM算法框架,求解方式如下
w(i)j=Qi(z(i)=j)=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;ϕ)(3-4)
若知道了隐变量参数z(i)的分布,利用EM算法就可以对公式(3-3)求极大似然估计
θ=argmaxθJ(Q,θ)=argmaxθ∑mi=1∑kz(i)=1Qi(z(i))logp(x(i)|z(i);μ,Σ)p(z(i);ϕ)Qi(z(i))(3-5)
通过极大似然估计求解更新模型参数进行提升。在AlgorithmGMM(EM)中,M−step就是据此利用极大似然估计对模型参数ϕ,μ,Σ进行更新。

四、M-step推导
这一部分主要推导一下怎么用公式(3-5)求导得到M-step更新公式.

算了,不写了,打字麻烦,作为给看博客的你的课下作业了。

参考博客:
1、EM算法框架