算法-机器学习-EM

待……

EM算法

EM算法(Expectation Maximization Algorithm, 最大期望算法)
是一种迭代类型的算法
是一种在概率模型中寻找参数最大似然估计或最大后验估计的算法
其中概率模型依赖于无法观测的隐藏变量

步骤:

  1. 初始化分布参数
  2. 重复下面两个步骤直到收敛
    • E步骤:估计隐藏变量的概率分布期望函数;
    • M步骤:根据期望函数重新估计分布参数;

原理:

  1. m m m个训练样本 { X ( 1 ) , X ( 2 ) , … , X ( m ) } \{X^{(1)},X^{(2)},\dots,X^{(m)}\} {X(1),X(2),,X(m)},样本间独立,找出样本的模型参数 θ \theta θ,极大化模型分布的对数似然函数,如下:
    θ = a r g m a x θ ∑ i = 1 m l o g ( P ( x ( i ) θ ) ) \theta={argmax \atop \theta}\displaystyle\sum_{i=1}^{m}log(P(x^{(i)}\theta)) θ=θargmaxi=1mlog(P(x(i)θ))

  2. 嘉定样本数据中存在隐含数据 z = { z ( 1 ) , z ( 2 ) , … , z ( k ) } z=\{z^{(1)},z^{(2)},\dots,z^{(k)}\} z={z(1),z(2),,z(k)},此时极大化模型分布的对数似然函数,如下:没看懂
    θ = a r g m a x θ ∑ i = 1 m l o g ( P ( x ( i ) θ ) ) = a r g m a x θ ∑ i = 1 m l o g ( ∑ z ( i ) P ( z ( i ) ) P ( x ( i ) ∣ z ( i ) ; θ ) = a r g m a x θ ∑ i = 1 m l o g ( ∑ z ( i ) P ( x ( i ) , z ( i ) ; θ ) ) \begin{aligned} \theta &={argmax \atop \theta}\displaystyle\sum_{i=1}^{m}log(P(x^{(i)}\theta))\\ &={argmax \atop \theta}\displaystyle\sum_{i=1}^{m}log(\displaystyle\sum_{z^{(i)}}P(z^{(i)})P(x^{(i)}|z^{(i)};\theta)\\ &={argmax \atop \theta}\displaystyle\sum_{i=1}^{m}log(\displaystyle\sum_{z^{(i)}}P(x^{(i)},z^{(i)};\theta)) \end{aligned} θ=θargmaxi=1mlog(P(x(i)θ))=θargmaxi=1mlog(z(i)P(z(i))P(x(i)z(i);θ)=θargmaxi=1mlog(z(i)P(x(i),z(i);θ))

  3. z z z的分布为 Q ( z ; θ ) Q(z;\theta) Q(z;θ),[ ∑ z Q ( z ; θ ) = 1 \displaystyle\sum_{z}Q(z;\theta)=1 zQ(z;θ)=1],并且 Q ( z ; θ ) ≥ 0 Q(z;\theta)\ge 0 Q(z;θ)0;那么有公式,如下:

    l ( θ ) = ∑ i = 1 m l o g ∑ z p ( x , z ; θ ) = ∑ i = 1 m l o g ∑ z Q ( z ; θ ) ⋅ p ( x , z ; θ ) Q ( z ; θ ) = ∑ i = 1 m l o g ( E Q ( p ( x , z ; θ ) Q ( z ; θ ) ) ) ≥ ∑ i = 1 m E Q ( l o g ( p ( x , z ; θ ) Q ( z ; θ ) ) ) [ J e n s e n 不 等 式 ] = ∑ i = 1 m ∑ z Q ( z ; θ ) l o g ( p ( x , z ; θ ) Q ( z ; θ ) ) \begin{aligned} l(\theta) &=\displaystyle\sum_{i=1}^{m}log\displaystyle\sum_{z}p(x,z;\theta)\\ &=\displaystyle\sum_{i=1}^{m}log\displaystyle\sum_{z}Q(z;\theta)\cdot\frac{p(x,z;\theta)}{Q(z;\theta)}\\ &=\displaystyle\sum_{i=1}^{m}log(E_Q(\frac{p(x,z;\theta)}{Q(z;\theta)}))\\ &\ge\displaystyle\sum_{i=1}^{m}E_Q(log(\frac{p(x,z;\theta)}{Q(z;\theta)}))[Jensen不等式]\\ &=\displaystyle\sum_{i=1}^{m}\displaystyle\sum_{z}Q(z;\theta)log(\frac{p(x,z;\theta)}{Q(z;\theta)})\\ \end{aligned} l(θ)=i=1mlogzp(x,z;θ)=i=1mlogzQ(z;θ)Q(z;θ)p(x,z;θ)=i=1mlog(EQ(Q(z;θ)p(x,z;θ)))i=1mEQ(log(Q(z;θ)p(x,z;θ)))[Jensen]=i=1mzQ(z;θ)log(Q(z;θ)p(x,z;θ))

  4. θ \theta θ求解
    θ = a r g m a x θ l ( θ ) = a r g m a x θ ∑ i = 1 m ∑ z Q ( z ; θ ) l o g ( p ( x , z ; θ ) Q ( z ; θ ) ) = a r g m a x θ ∑ i = 1 m ∑ z Q ( z ∣ x ; θ ) l o g ( p ( x , z ; θ ) Q ( z ∣ x ; θ ) ) = a r g m a x θ ∑ i = 1 m ∑ z Q ( z ∣ x ; θ ) l o g ( p ( x , z ; θ ) ) \begin{aligned} \theta &={argmax \atop \theta}l(\theta)\\ &={argmax \atop \theta}\displaystyle\sum_{i=1}^{m}\displaystyle\sum_{z}Q(z;\theta)log(\frac{p(x,z;\theta)}{Q(z;\theta)})\\ &={argmax \atop \theta}\displaystyle\sum_{i=1}^{m}\displaystyle\sum_{z}Q(z|x;\theta)log(\frac{p(x,z;\theta)}{Q(z|x;\theta)})\\ &={argmax \atop \theta}\displaystyle\sum_{i=1}^{m}\displaystyle\sum_{z}Q(z|x;\theta)log(p(x,z;\theta))\\ \end{aligned} θ=θargmaxl(θ)=θargmaxi=1mzQ(z;θ)log(Q(z;θ)p(x,z;θ))=θargmaxi=1mzQ(zx;θ)log(Q(zx;θ)p(x,z;θ))=θargmaxi=1mzQ(zx;θ)log(p(x,z;θ))

EM算法流程
样本数据: X = { X ( 1 ) , X ( 2 ) , … , X ( m ) } X=\{X^{(1)},X^{(2)},\dots,X^{(m)}\} X={X(1),X(2),,X(m)}
联合分布: p ( x , z ; θ ) p(x,z;\theta) p(x,z;θ)
条件分布: p ( z ∣ x ; θ ) p(z|x;\theta) p(zx;θ)
最大迭代次数: J J J

  1. 随机初始化模型参数 θ = θ 0 \theta=\theta^0 θ=θ0
  2. EM算法的迭代处理
    • E步骤:计算联合分布的条件概率期望:
      Q j = p ( z ∣ x ; θ j ) Q^j=p(z|x;\theta^j) Qj=p(zx;θj)
      l ( θ ) = ∑ i = 1 m ∑ z Q j l o g ( p ( x , z ; θ j ) ) l(\theta)=\displaystyle\sum_{i=1}^{m}\displaystyle\sum_{z}Q^jlog(p(x,z;\theta^j)) l(θ)=i=1mzQjlog(p(x,z;θj))

    • M步骤:极大化 l l l函数,得到 θ j + 1 \theta^{j+1} θj+1
      θ j + 1 = a r g m a x θ l ( θ ) \theta^{j+1}={argmax \atop \theta}l(\theta) θj+1=θargmaxl(θ)

    • 如果 θ j + 1 \theta^{j+1} θj+1已经收敛,则算法结束,输出最终模型参数 θ \theta θ,否则继续迭代处理

EM算法收敛证明
证明对数似然函数的值在迭代的过程中是增加的 即可
在这里插入图片描述
X
在这里插入图片描述

GMM(Gaussian Mixture Model, 高斯混合模型)
指该算法由多个高斯模型线 性叠加混合而成。每个高斯模型称之为component。GMM算法描述的是数据的 本身存在的一种分布。
GMM算法常用于聚类应用中,component的个数就可以认为是类别的数量。

假定GMM由k个Gaussian分布线性叠加而成,那么概率密度函数如下:
在这里插入图片描述
在这里插入图片描述
对数似然函数
在这里插入图片描述
GMM-EM算法求解
E步骤
在这里插入图片描述
M步骤
在这里插入图片描述
对均值求偏导
在这里插入图片描述
在这里插入图片描述
对方差求偏导
在这里插入图片描述
对概率使用拉格朗日乘子法求解
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxx_id

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值