机器学习:EM算法

  • 潜在变量模型

k均值聚类

混合高斯模型

  • 混合高斯模型=高斯分布的线性叠加

高斯分布的MLE

μ=1nixi
σ2=1ni(xiμ)2

  • 设随机变量X由K个高斯分布混合而成,取各个高斯分布的概率是 ϕ1,ϕ2,.....,ϕk ;其中第k个高斯分布的均值是 μi , 方差是 i ; 若观测到随机变量的一系列样本, x1,x2,.....,xn ; 估计参数 ϕ , μ ,

  • 算法

    1. 建立对数似然函数
      l(x)=Ni=1log(Nk=1πkN(xi|μk,k))

    2. 估算数据由每个组分生成的概率:对于数据 xi , 由 第 k个组分生成的概率是
      πk=

    γ(i,k)=πkN(xi|μk,k)kj=1πjN(xi|μj,j)

    1. xi 中有 γ(i,k)xi 部分是由组分k 生成的

4 对比最大似然估计,对比所有数据点,可以认为组分k生成了 γ(i,k)xi 这些点。组分K是一个标准的高斯分布。

μk=1NkNi=1γ(i,k)xi
k=1NkNi=1γ(i,k)(xiμk)(xiμk)T

πk=frac1NNi=1γ(i,k)
Nk=Nπk

EM算法

  • 设训练集: {x(1),......,x(m)} , 包含 m 个独立的样本,求解模型 p(x,z) 的参数
    其中:z 是隐变量

最大似然建立目标函数

l(θ)=mi=1logp(x;θ)=mi=1logzp(x,z;θ)

θ 是隐随机变量,建立 l(θ) 的下界,并求该下界的最大值;重复,直到收敛到最大

  • Qi 是 z 的某一个分布, Qi>=0 , 有:

ilogp(x(i);θ)=mi=1logzp(x,z;θ)

=ilogz(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))

>=iz(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))

等号成立的条件, 下式是常数:

p(x(i),z(i);θ)Qi(z(i))=c

=>

Qi(z(i))p(x(i),z(i);θ) ;     zQi(z(i))=1

Qi(z(i))=p(x(i),z(i);θ)zp(x(i),z;θ)

=p(z(i)|x(i);θ) ……………… 条件概率

EM算法

  • 对于每个 i 设置:
    Qi(z(i)):=p(z(i)|x(i);θ)

  • E-step (期望)
    Q(θ,θi)=iz(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))

  • M-step
    θ:=argmaxθQ(θ,θi)

GMM的EM算法

  • 拉格朗日乘子法,求极值

结论
μk=1NkNi=1γ(i,k)xi
k=1NkNi=1γ(i,k)(xiμk)(xiμk)T

πk=frac1NNi=1γ(i,k)
Nk=Nπk

伯努利分布的混合算法

  • 潜在类别分析

你可能感兴趣的:(机器学习:EM算法)