ML—高斯混合模型

华电北风吹
日期: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 ,其中 ϕj0,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=1z(j)p(x(i)|z(j);μ,Σ)p(z(j);ϕ)(2-1)
写成对数似然函数为
l(ϕ,μ,Σ)=mi=1logz(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
    Estep: For each i,j set
        w(i)j:=p(z(i)=j|x(i);ϕ,μ,Σ)
    Mstep: Update the parameters
        ϕj:=1mmi=1w(i)j
        μj:=mi=1w(i)jx(i)mi=1w(i)j
        Σj:=mi=1w(i)j(x(i)μj)(x(i)μj)Tmi=1w(i)j
———————————————————————————-
Algorithm MixGM 中, Estep 其实是根据贝叶斯公式对每个样本求解它在当前参数下来自于各个高斯分布的后验概率,求解方式如下
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 中, Mstep 就是据此利用极大似然估计对模型参数 ϕ,μ,Σ 进行更新。

你可能感兴趣的:(ML—高斯混合模型)