EM算法、GMM、K-means

本文深入探讨了EM算法的原理与应用,包括算法的引入、推导、收敛性及在高斯混合模型中的参数估计。同时,通过实例讲解了EM算法在K-means聚类中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


   (2019.6.30)这篇博客本来是简单的记录了在读《统计学习方法》——EM算法部分的读后感,但最近因为阅读了《百面机器学习》,让我对EM算法有了更进一步的理解,特对博文进行了更新。
  EM算法是一种迭代算法,用于含有隐含变量的概率模型参数的极大似然估计,或者极大后验概率估计。EM算法的每次迭代由两步组成:E步,求expection;M步,求maximization. 此算法也成为期望极大算法(expection maximization),EM算法。
  EM算法与初值的选取有关,选择不同的初值可能得到不同的参数估计值。一般用 Y Y Y代表观测随机变量的数据, Z Z Z表示隐随机变量的数据。 Y Y Y Z Z Z连在一起称为完全数据,观测数据 Y Y Y又称为不完全数据。

1. EM 算法的引入

1.1 EM 算法

   假设给定观测数据 Y Y Y,其概率分布是 P ( Y ∣ θ ) P(Y|\theta) P(Yθ),其中 θ \theta θ是需要估计的模型参数,那么不完全数据 Y Y Y的似然函数是 P ( Y ∣ θ ) P(Y|\theta) P(Yθ),对数似然函数是 L ( θ ) = l o g P ( Y ∣ θ ) L(\theta)=logP(Y|\theta) L(θ)=logP(Yθ);假设 Y Y Y Z Z Z的联合概率分布是 P ( Y , Z ∣ θ ) P(Y,Z|\theta) P(Y,Zθ),那么完全数据的对数似然函数是 l o g P ( Y , Z ∣ θ ) logP(Y,Z|\theta) logP(Y,Zθ).

  • EM算法
      EM算法是通过迭代求 L ( θ ) = l o g P ( Y ∣ θ ) L(\theta)=logP(Y|\theta) L(θ)=logP(Yθ)的极大似然估计,每次迭代均分为E步,求期望;M步,求极大化,流程如下:
    输入:观测变量 Y Y Y,隐变量数据 Z Z Z,联合分布 P ( Y , Z ∣ θ ) P(Y,Z|\theta) P(Y,Zθ),条件分布 P ( Y ∣ Z , θ ) P(Y|Z,\theta) P(YZ,θ);
    输出:模型参数 θ \theta θ.
    (1)选择参数的初值 θ ( 0 ) \theta^{(0)} θ(0),开始迭代;
    (2)E步:记 θ ( i ) \theta^{(i)} θ(i)为第 i i i次迭代参数 θ \theta θ的估计值,在第 i + 1 i+1 i+1次迭代的 E E E步,计算 Q ( θ , θ ( i ) ) = E Z [ l o g P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] Q(\theta,\theta^{(i)})=E_Z[logP(Y,Z|\theta)|Y,\theta^{(i)}] Q(θ,θ(i))=EZ[logP(Y,Zθ)Y,θ(i)]
    = ∑ Z l o g P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) =\sum_ZlogP(Y,Z|\theta)P(Z|Y,\theta^{(i)}) =ZlogP(Y,Zθ)P(ZY,θ(i))这里的 P ( Z ∣ Y , θ ( i ) ) P(Z|Y,\theta^{(i)}) P(ZY,θ(i))是在给定观测数据 Y Y Y和当前的参数估计 θ ( i ) \theta^{(i)} θ(i)下的隐变量数据 Z Z Z的条件概率分布;
    (3)M步:求使 Q ( θ , θ ( i ) ) Q(\theta,\theta^{(i)}) Q(θ,θ(i))极大化的 θ \theta θ,确定第 I + 1 I+1 I+1次迭代的参数的估计值 θ ( i + 1 ) \theta^{(i+1)} θ(i+1) θ ( i + 1 ) = a r g   m a x θ   Q ( θ , θ ( i ) ) \theta^{(i+1)}=arg\ max_\theta \ Q(\theta,\theta^{(i)}) θ(i+1)=arg maxθ Q(θ,θ(i))
    (4)重复第(2)步和第(3)步,直到收敛。
    其中函数 Q ( θ , θ ( i ) ) Q(\theta,\theta^{(i)}) Q(θ,θ(i))是EM算法的核心,成为Q函数。
  • Q函数定义:完全数据的对数似然函数 l o g P ( Y , Z ∣ θ ) logP(Y,Z|\theta) logP(Y,Zθ)关于在给定观测数据 Y Y Y和当前参数 θ ( i ) \theta^{(i)} θ(i)下对未观测数据 Z Z Z的条件概率分布 P ( Z ∣ Y , θ ( i ) ) P(Z|Y,\theta^{(i)}) P(ZY,θ(i))的期望称为Q函数,即 Q ( θ , θ ( i ) ) = E Z [ l o g P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] Q(\theta,\theta^{(i)})=E_Z[logP(Y,Z|\theta)|Y,\theta^{(i)}] Q(θ,θ(i))=EZ[logP(Y,Zθ)Y,θ(i)]
    = ∑ Z l o g P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) =\sum_ZlogP(Y,Z|\theta)P(Z|Y,\theta^{(i)}) =ZlogP(Y,Zθ)P(ZY,θ(i))
  • 关于EM算法的几点说明:
    步骤(1)参数的初值可以任意选取,但需注意EM算法对初值选取比较敏感;
    步骤(2)E步求 Q ( θ , θ ( i ) ) Q(\theta,\theta^{(i)}) Q(θ,θ(i)). Q Q Q函数式中 Z Z Z是未观测数据, Y Y Y是观测数据.
    步骤(3)M步求 Q ( θ , θ ( i ) ) Q(\theta,\theta^{(i)}) Q(θ,θ(i))的极大化,得到 θ ( i + 1 ) \theta^{(i+1)} θ(i+1),完成一次迭代,每次迭代使似然函数增大或达到局部最大值;
    步骤(4)给出停止迭代的条件,一般是对比较小的正数 ε 1 , ε 2 \varepsilon_1,\varepsilon_2 ε1,ε2,若满足 ∣ ∣ θ ( i + 1 ) − θ ( i ) ∣ ∣ &lt; ε 1 o r ∣ ∣ Q ( θ ( i + 1 ) , θ ( i ) ) − Q ( θ ( i ) , θ ( i ) ) ∣ ∣ &lt; ε 2 ||\theta^{(i+1)}-\theta^{(i)}||&lt;\varepsilon_1 or ||Q(\theta^{(i+1)},\theta^{(i)})-Q(\theta^{(i)},\theta^{(i)})||&lt;\varepsilon_2 θ(i+1)θ(i)<ε1orQ(θ(i+1),θ(i))Q(θ(i),θ(i))<ε2则停止迭代.

1.2 EM算法的推导

1.2.1 《统计学习方法》中的推导

      通过近似求解观测数据的对数似然函数的极大化问题导出EM算法,从而清楚的看到EM算法的作用。对于一个含有隐变量的概率模型,目标是极大化观测数据 Y Y Y关于参数 θ \theta θ的对数似然函数,即极大化
L ( θ ) = l o g P ( Y ∣ θ ) = l o g ∑ Z P ( Y , Z ∣ θ ) = l o g ( ∑ Z P ( Y ∣ Z , θ ) P ( Z ∣ θ ) ) L(\theta)=logP(Y|\theta)=log\sum_{Z}P(Y,Z|\theta)=log(\sum_ZP(Y|Z,\theta)P(Z|\theta)) L(θ)=logP(Yθ)=logZP(Y,Zθ)=log(ZP(YZ,θ)P(Zθ))
      难点在于上式中有未观测数据并有包含和的对数,而EM算法是通过迭代逐步近似极大化 L ( θ ) L(\theta) L(θ).假设第 i i i次迭代后 θ \theta θ的估计值是 θ ( i ) \theta^{(i)} θ(i).希望新的估计值 θ \theta θ能使 L ( θ ) L(\theta) L(θ)增加,即 L ( θ ) &gt; L ( θ ( i ) ) L(\theta)&gt;L(\theta^{(i)}) L(θ)>L(θ(i)),进而逐步达到最大值.两者的差为:
L ( θ ) − L ( θ ( i ) ) = l o g ( ∑ Z P ( Y ∣ Z , θ ) ) − l o g P ( Y ∣ θ ( i ) ) L(\theta)-L(\theta^{(i)})=log(\sum_ZP(Y|Z,\theta))-logP(Y|\theta^{(i)}) L(θ)L(θ(i))=log(ZP(YZ,θ))logP(Yθ(i))
根据Jensen不等式:(Jensen不等式是许多不等式推导的基础) l o g ∑ j λ j y j ≥ ∑ j λ j l o g y j log\sum_j\lambda_jy_j \geq \sum_j\lambda_jlogy_j logjλjyjjλjlogyj其中 λ j ≥ 0 , ∑ j λ j = 1 \lambda_j \geq0,\sum_j\lambda_j=1 λj0,jλj=1. 能够推导出 L ( θ ) − L ( θ ( i ) ) L(\theta)-L(\theta^{(i)}) L(θ)L(θ(i))的下界:
L ( θ ) − L ( θ ( i ) ) = l o g [ ∑ Z P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) ] − l o g P ( Y ∣ θ ( i ) ) L(\theta)-L(\theta^{(i)})=log[\sum_ZP(Z|Y,\theta^{(i)})\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}]-logP(Y|\theta^{(i)}) L(θ)L(θ(i))=log[ZP(ZY,θ(i))P(ZY,θ(i))P(YZ,θ)P(Zθ)]logP(Yθ(i))
≥ ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) − l o g P ( Y ∣ θ ( i ) ) \geq\sum_ZP(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}-logP(Y|\theta^{(i)}) ZP(ZY,θ(i))logP(ZY,θ(i))P(YZ,θ)P(Zθ)logP(Yθ(i)) = ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) =\sum_ZP(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})} =ZP(ZY,θ(i))logP(ZY,θ(i))P(Yθ(i))P(YZ,θ)P(Zθ) B ( θ , θ ( i ) ) = ^ L ( θ ( i ) ) + ∑ Z P ( Z , Y ∣ θ ( i ) ) l o g P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) B(\theta,\theta^{(i)})\hat=L(\theta^{(i)})+\sum_ZP(Z,Y|\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})} B(θ,θ(i))=^L(θ(i))+ZP(Z,Yθ(i))logP(ZY,θ(i))P(Yθ(i))P(YZ,θ)P(Zθ)
L ( θ ) ≥ B ( θ , θ ( i ) ) L(\theta)\geq B(\theta,\theta^{(i)}) L(θ)B(θ,θ(i))
函数 B ( θ , θ ( i ) ) B(\theta,\theta^{(i)}) B(θ,θ(i)) L ( θ ) L(\theta) L(θ)的一个下界,且 L ( θ ( i ) ) = B ( θ ( i ) , θ ( i ) ) L(\theta^{(i)})=B(\theta^{(i)},\theta^{(i)}) L(θ(i))=B(θ(i),θ(i))
因此,任何可以使 B ( θ , θ ( i ) ) B(\theta,\theta^{(i)}) B(θ,θ(i))增大的 θ \theta θ,也可以增大 L ( θ ) L(\theta) L(θ).为了使 L ( θ ) L(\theta) L(θ)有尽可能大的增长,选择 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)使 B ( θ , θ ( i ) ) B(\theta,\theta^{(i)}) B(θ,θ(i))达到极大,即 θ ( i + 1 ) = a r g   m a x θ B ( θ , θ ( i ) ) \theta^{(i+1)}=arg\ max_\theta B(\theta,\theta^{(i)}) θ(i+1)=arg maxθB(θ,θ(i))
省去对参数 θ \theta θ来说是常数的项: θ ( i + 1 ) = a r g   m a x θ [ L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) ] \theta^{(i+1)}=arg\ max_\theta[L(\theta^{(i)})+\sum_ZP(Z|Y,\theta^{(i)})log \frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})}] θ(i+1)=arg maxθ[L(θ(i))+ZP(ZY,θ(i))logP(ZY,θ(i))P(Yθ(i))P(YZ,θ)P(Zθ)]
= a r g   m a x [ ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y ∣ Z , θ ) P ( Z ∣ θ ) ] =arg\ max[\sum_ZP(Z|Y,\theta^{(i)})log P(Y|Z,\theta)P(Z|\theta)] =arg max[ZP(ZY,θ(i))logP(YZ,θ)P(Zθ)]
= a r g   m a x [ ∑ Z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) ] =arg\ max[\sum_ZP(Z|Y,\theta^{(i)})logP(Y,Z|\theta)] =arg max[ZP(ZY,θ(i))logP(Y,Zθ)]
回忆一下期望表达式: E ( g ( Z ) ) = ∑ Z k P ( Z = Z k ) g ( Z k ) E(g(Z))=\sum_{Z_k}P(Z=Z_k)g(Z_k) E(g(Z))=ZkP(Z=Zk)g(Zk)所以上式可化为
θ ( i + 1 ) = a r g   m a x θ Q ( θ , θ ( i ) ) \theta^{(i+1)}=arg\ max_\theta Q(\theta,\theta^{(i)}) θ(i+1)=arg maxθQ(θ,θ(i))
对应了EM算法中 Q Q Q函数的定义,上式为等价于EM算法的一次迭代,即求 Q Q Q函数及其极大化。EM算法是不断求解下界的极大化逼近求解对数似然函数极大化算法。

1.2.2 另外一种理解方式

  给出的不完全观测数据 { y 1 , y 2 , ⋯ &ThinSpace; , y N } \lbrace y_1,y_2,\cdots,y_N \rbrace {y1,y2,,yN},极大化不完全观测数据对数似然函数:
∑ i l o g P ( y i ; θ ) = ∑ i l o g ∑ z ( i ) P ( y i , z ( i ) ; θ ) \sum_ilogP(y_i;\theta)=\sum_ilog\sum_{z^{(i)}}P(y_i,z^{(i)};\theta) ilogP(yi;θ)=ilogz(i)P(yi,z(i);θ)
直接使用Jensen不等式,且 H ( z ( i ) ) H(z^{(i)}) H(z(i))是隐变量的一个分布, ∑ z ( i ) H ( z ( i ) ) = 1 \sum_{z^{(i)}}H(z^{(i)})=1 z(i)H(z(i))=1:
∑ i l o g ∑ z ( i ) P ( y i , z ( i ) ; θ ) = ∑ i l o g ∑ z ( i ) H ( z ( i ) ) P ( y i , z ( i ) ; θ ) H ( z ( i ) ) ≥ ∑ i ∑ z ( i ) H ( z ( i ) ) l o g P ( y i , z ( i ) ; θ ) H ( z ( i ) ) \sum_ilog\sum_{z^{(i)}}P(y_i,z^{(i)};\theta)=\sum_ilog\sum_{z^{(i)}}H(z^{(i)})\frac {P(y_i,z^{(i)};\theta)}{H(z^{(i)})}\geq\sum_i\sum_{z^{(i)}}H(z^{(i)})log\frac{P(y_i,z^{(i)};\theta)}{H(z^{(i)})} ilogz(i)P(yi,z(i);θ)=ilogz(i)H(z(i))H(z(i))P(yi,z(i);θ)iz(i)H(z(i))logH(z(i))P(yi,z(i);θ)
P ( y i , z ( i ) ; θ ) H ( z ( i ) ) = c o n s t \frac{P(y_i,z^{(i)};\theta)}{H(z^{(i)})}=const H(z(i))P(yi,z(i);θ)=const(常数)的时候,Jensen不等式取等号,在这里将问题转化为极大化对数似然函数的下界 ∑ i ∑ z ( i ) H ( z ( i ) ) l o g P ( y i , z ( i ) ; θ ) H ( z ( i ) ) \sum_i\sum_{z^{(i)}}H(z^{(i)})log\frac{P(y_i,z^{(i)};\theta)}{H(z^{(i)})} iz(i)H(z(i))logH(z(i))P(yi,z(i);θ),从而极大化对数似然函数。根据分布 H ( z ( i ) ) H(z^{(i)}) H(z(i))的概率和是1,以及上述不等式等号成立条件,可以得到 H ( z ( i ) ) = P ( z ( i ) ; y i , θ ) H(z^{(i)})=P(z^{(i)};y_i,\theta) H(z(i))=P(z(i);yi,θ).
  所以EM算法首先计算出在当前给定的观测数据Y以及当前参数 θ \theta θ下的隐变量概率分布 H ( z ( i ) ) = P ( z ( i ) ; y i , θ ) H(z^{(i)})=P(z^{(i)};y_i,\theta) H(z(i))=P(z(i);yi,θ),然后极大化对数似然函数下界 θ = a r g m a x θ ∑ i ∑ z ( i ) H ( z ( i ) ) l o g P ( y i , z ( i ) ; θ ) H ( z ( i ) ) \theta=arg max _\theta \sum_i\sum_{z^{(i)}}H(z^{(i)})log\frac{P(y_i,z^{(i)};\theta)}{H(z^{(i)})} θ=argmaxθiz(i)H(z(i))logH(z(i))P(yi,z(i);θ)

1.3 EM算法的收敛性

  EM算法提供一种近似计算含有隐变量概率模型的极大似然估计的方法。下面给出EM算法收敛性的两个定理。

定理一

  设 P ( Y ∣ θ ) P(Y|\theta) P(Yθ)为观测数据的似然函数, θ ( i ) ( i = 1 , 2 , ⋅ ⋅ ⋅ ) \theta^{(i)}(i=1,2,\cdot\cdot\cdot) θ(i)(i=1,2,)为EM算法得到的参数估计序列, P ( Y ∣ θ ( i ) ) ( i = 1 , 2 , ⋅ ⋅ ⋅ ) P(Y|\theta^{(i)})(i=1,2,\cdot\cdot\cdot) P(Yθ(i))(i=1,2,)为对应的对数似然函数序列,则 P ( Y ∣ θ ( i ) ) P(Y|\theta^{(i)}) P(Yθ(i))是单调递增的,即 P ( Y ∣ θ ( i + 1 ) ) ≥ P ( Y ∣ θ ( i ) ) P(Y|\theta^{(i+1)})\geq P(Y|\theta^{(i)}) P(Yθ(i+1))P(Yθ(i))
  证明:由于 P ( Y ∣ θ ) = P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ) P(Y|\theta)=\frac{P(Y,Z|\theta)}{P(Z|Y,\theta)} P(Yθ)=P(ZY,θ)P(Y,Zθ)
取对数有, l o g P ( Y ∣ θ ) = l o g P ( Y , Z ∣ θ ) − l o g P ( Z ∣ Y , θ ) logP(Y|\theta)=logP(Y,Z|\theta)-logP(Z|Y,\theta) logP(Yθ)=logP(Y,Zθ)logP(ZY,θ)
由于 Q ( θ , θ ( i ) ) = ∑ Z l o g P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) Q(\theta,\theta^{(i)})=\sum_ZlogP(Y,Z|\theta)P(Z|Y,\theta^{(i)}) Q(θ,θ(i))=ZlogP(Y,Zθ)P(ZY,θ(i))
H ( θ , θ ( i ) ) = ∑ Z l o g P ( Z ∣ Y , θ ) P ( Z ∣ Y , θ ( i ) ) H(\theta,\theta^{(i)})=\sum_ZlogP(Z|Y,\theta)P(Z|Y,\theta^{(i)}) H(θ,θ(i))=ZlogP(ZY,θ)P(ZY,θ(i))
于是可以将对数似然函数写成 l o g P ( Y ∣ θ ) = Q ( θ , θ ( i ) ) − H ( θ , θ ( i ) ) logP(Y|\theta)=Q(\theta,\theta^{(i)})-H(\theta,\theta^{(i)}) logP(Yθ)=Q(θ,θ(i))H(θ,θ(i))
分别取 θ \theta θ θ ( i ) \theta^{(i)} θ(i) θ ( i + 1 ) \theta^{(i+1)} θ(i+1)并相减,有 l o g P ( Y ∣ θ ( i + 1 ) ) − l o g P ( Y ∣ θ ( i ) ) logP(Y|\theta^{(i+1)})-logP(Y|\theta^{(i)}) logP(Yθ(i+1))logP(Yθ(i)) = [ Q ( θ ( i + 1 ) , θ ( i ) ) − Q ( θ ( i ) , θ ( i ) ) ] − [ H ( θ ( i + 1 ) , θ ( i ) ) − H ( θ ( i ) , θ ( i ) ) ] =[Q(\theta^{(i+1)},\theta^{(i)})-Q(\theta^{(i)},\theta^{(i)})]-[H(\theta^{(i+1)},\theta^{(i)})-H(\theta^{(i)},\theta^{(i)})] =[Q(θ(i+1),θ(i))Q(θ(i),θ(i))][H(θ(i+1),θ(i))H(θ(i),θ(i))]
式子右端的第1项,由于 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)使 Q ( θ , θ ( i ) ) Q(\theta,\theta^{(i)}) Q(θ,θ(i))达到极大,所以有 Q ( θ ( i + 1 ) , θ ( i ) ) ≥ 0 Q(\theta^{(i+1)},\theta^{(i)})\geq 0 Q(θ(i+1),θ(i))0
右端第二项:
H ( θ ( i + 1 ) , θ ( i ) ) = ∑ Z [ l o g P ( Y ∣ Z , θ ( i + 1 ) ) P ( Z ∣ Y , θ ( i ) ) ] P ( Z ∣ y , θ ( i ) ) H(\theta^{(i+1)},\theta^{(i)})=\sum_Z[log\frac{P(Y|Z,\theta^{(i+1)})}{P(Z|Y,\theta^{(i)})}]P(Z|y,\theta^{(i)}) H(θ(i+1),θ(i))=Z[logP(ZY,θ(i))P(YZ,θ(i+1))]P(Zy,θ(i))
≤ l o g [ ∑ Z P ( Z ∣ Y , θ ( i + 1 ) ) P ( Z ∣ Y , θ ( i ) ) P ( Z ∣ Y , θ ( i ) ] \leq log[\sum_Z \frac{P(Z|Y,\theta^{(i+1)})}{P(Z|Y,\theta^{(i)})}P(Z|Y,\theta^{(i)}] log[ZP(ZY,θ(i))P(ZY,θ(i+1))P(ZY,θ(i)]
= l o g ( ∑ Z P ( Z ∣ Y , θ ( i + 1 ) ) ) = 0 =log(\sum_ZP(Z|Y,\theta^{(i+1)}))=0 =log(ZP(ZY,θ(i+1)))=0定理一得证。

定理二

  设 L ( θ ) = l o g P ( Y ∣ θ ) L(\theta)=logP(Y|\theta) L(θ)=logP(Yθ)为观测数据的对数似然函数, θ ( i ) ( i = 1 , 2 , ⋅ ⋅ ⋅ ) \theta^{(i)}(i=1,2,\cdot\cdot\cdot) θ(i)(i=1,2,)为EM算法得到的参数估计序列, L ( θ ( i ) ) ( i = 1 , 2 , ⋅ ⋅ ⋅ ) L(\theta^{(i)})(i=1,2,\cdot\cdot\cdot) L(θ(i))(i=1,2,)为对应的对数似然函数序列.
(1)如果 P ( Y ∣ θ ) P(Y|\theta) P(Yθ)有上界,则 L ( θ ( i ) ) = l o g P ( Y ∣ θ ( i ) ) L(\theta^{(i)})=logP(Y|\theta^{(i)}) L(θ(i))=logP(Yθ(i))收敛到某一值 L ∗ L^* L;
(2)在函数 Q ( θ , θ ′ ) Q(\theta,\theta^{&#x27;}) Q(θ,θ) L ( θ ) L(\theta) L(θ)满足一定条件下,由EM算法得到的参数估计序列 θ ( i ) \theta^{(i)} θ(i)的收敛值 θ ∗ \theta^* θ L ( θ ) L(\theta) L(θ)的稳定点.

2. 高斯混合模型

2.1 高斯混合模型

  • 定义9.2(高斯混合模型) 高斯混合模型是指具有如下形式的概率分布模型: P ( y ∣ θ ) = ∑ k = 1 K α k ϕ ( y ∣ θ k ) P(y|\theta)=\sum_{k=1}^K\alpha_k\phi(y|\theta_k) P(yθ)=k=1Kαkϕ(yθk)其中 α k \alpha_k αk是系数, α k ≥ 0 , ∑ k = 1 K α k = 1 ; ϕ ( y ∣ θ k ) \alpha_k\geq0,\sum_{k=1}^K\alpha_k=1;\phi(y|\theta_k) αk0,k=1Kαk=1;ϕ(yθk)是高斯分布密度, θ k = ( μ k , σ k 2 ) \theta_k=(\mu_k,\sigma_k^2) θk=(μk,σk2), ϕ ( y ∣ θ k ) = 1 2 π σ k e x p ( − ( y − μ k ) 2 2 σ k 2 ) \phi(y|\theta_k)=\frac{1}{\sqrt[]{2\pi}\sigma_k}exp(-\frac{(y-\mu_k)^2}{2\sigma_k^2}) ϕ(yθk)=2π σk1exp(2σk2(yμk)2)称为第 k k k个模型。

2.2 高斯混合模型参数估计的EM算法

    假设观测数据 y 1 , y 2 , ⋯ &ThinSpace; , y N y_1,y_2,\cdots,y_N y1,y2,,yN由高斯混合模型生成 P ( y ∣ θ ) = ∑ k = 1 K α k ϕ ( y ∣ θ k ) P(y|\theta)=\sum_{k=1}^K\alpha_k\phi(y|\theta_k) P(yθ)=k=1Kαkϕ(yθk)其中, θ = ( α 1 , α 2 , ⋯ &ThinSpace; , α K ; θ 1 , θ 2 , ⋯ &ThinSpace; , θ K ) , θ i = ( μ i , σ i 2 ) ,   θ \theta=(\alpha_1,\alpha_2,\cdots,\alpha_K;\theta_1,\theta_2,\cdots,\theta_K),\theta_i=(\mu_i,\sigma_i^2),\ \theta θ=(α1,α2,,αK;θ1,θ2,,θK)θi=(μi,σi2), θ就是高斯混合模型中需要确定的参数。
     对于多个高斯分布混合模型的EM算法理解,可以在单个高斯模型的基础上进行等价考虑。

  • 高斯混合模型的EM算法:
        采用EM算法对高斯混合模型参数进行迭代求解,根据当前模型参数,定义分模型 k k k对观测数据 y j y_j yj的影响度(当前的 y j y_j yj的百分之多少是来自模型 j j j
    γ ^ j k = α k ϕ ( y j ∣ θ k ) ∑ k = 1 K α k ϕ ( y j ∣ θ k ) \hat\gamma_{jk}=\frac{\alpha_k\phi(y_j|\theta_k)}{\sum_{k=1}^K\alpha_k\phi(y_j|\theta_k)} γ^jk=k=1Kαkϕ(yjθk)αkϕ(yjθk)表示当前模型下第 j j j个数据来自第 k k k个分模型的概率。
        然后参数 μ ^ k 、 σ ^ k 2 、 α ^ k \hat\mu_k、\hat\sigma_k^2、\hat\alpha_k μ^kσ^k2α^k的公式为: μ ^ k = ∑ j = 1 N γ ^ j k y j ∑ j = 1 N γ ^ j k \hat\mu_k=\frac{\sum_{j=1}^N\hat\gamma_{jk}y_j}{\sum_{j=1}^N\hat\gamma_{jk}} μ^k=j=1Nγ^jkj=1Nγ^jkyj
    σ ^ k 2 = ∑ j = 1 N γ ^ j k ( y j − μ ^ k ) 2 ∑ j = 1 N γ ^ j k \hat\sigma_k^2=\frac{\sum_{j=1}^N\hat\gamma_{jk}(y_j-\hat\mu_k)^2}{\sum_{j=1}^N\hat\gamma_{jk}} σ^k2=j=1Nγ^jkj=1Nγ^jk(yjμ^k)2
    α ^ k = ∑ j = 1 N γ ^ j k N \hat\alpha_k=\frac{\sum_{j=1}^N\hat\gamma_{jk}}{N} α^k=Nj=1Nγ^jk
    重复上面的步骤,直到达到迭代停止条件。

3. K-means

书中例题

   将可观测数据表示为 Y = ( Y 1 , Y 2 , ⋅ ⋅ ⋅ , Y n ) T Y=(Y_1,Y_2,\cdot\cdot\cdot,Y_n)^T Y=(Y1,Y2,,Yn)T,未观测数据表示为 Z = ( Z 1 , Z 2 , ⋅ ⋅ ⋅ , Z n ) T Z=(Z_1,Z_2,\cdot\cdot\cdot,Z_n)^T Z=(Z1,Z2,,Zn)T,则观测数据的似然函数为 P ( Y ∣ θ ) = ∑ Z P ( Z ∣ θ ) P ( Y ∣ Z , θ ) P(Y|\theta)=\sum_ZP(Z|\theta)P(Y|Z,\theta) P(Yθ)=ZP(Zθ)P(YZ,θ) P ( Y ∣ θ ) = ∏ j = 1 n [ π p y i ( 1 − p ) 1 − y i + ( 1 − π ) q y i ( 1 − q ) 1 − y i ] P(Y|\theta)=\prod_{j=1}^n[\pi p^{yi}(1-p)^{1-y_i}+(1-\pi)q^{y_i}(1-q)^{1-y_i}] P(Yθ)=j=1n[πpyi(1p)1yi+(1π)qyi(1q)1yi]
考虑求模型参数 θ = ( π , p , q ) \theta=(\pi ,p,q) θ=(π,p,q)的极大似然估计,即 θ ^ = a r g   m a x θ   l o g P ( Y ∣ θ ) \hat\theta =arg\ max_\theta \ logP(Y|\theta) θ^=arg maxθ logP(Yθ)这个问题没有解析解,只有通过迭代的方法求解,EM就是可以求解这类问题的一种算法。

  • 书中示例的 EM算法求解过程:
      首先选取参数的初值,记作 θ ( 0 ) = ( π ( 0 ) , p ( 0 ) , q ( 0 ) ) \theta^{(0)}=(\pi^{(0)},p^{(0)},q^{(0)}) θ(0)=(π(0),p(0),q(0)),通过下面步骤迭代计算参数的估计值直到收敛为止。记第 i i i次迭代参数的估计值为 θ ( i ) = ( π ( i ) , p ( i ) , q ( i ) ) \theta^{(i)}=(\pi^{(i)},p^{(i)},q^{(i)}) θ(i)=(π(i),p(i),q(i)).EM算法的第 i + 1 i+1 i+1次迭代如下:
    E E E步:计算在模型参数 π ( i ) , p ( i ) , q ( i ) \pi^{(i)},p^{(i)},q^{(i)} π(i),p(i),q(i)下观测数据 y i y_i yi来自掷硬币 B B B的概率 μ j ( i + 1 ) = π ( i ) ( p ( i ) ) y j ( 1 − p ( i ) ) 1 − y j π ( i ) ( p i ) y j ( 1 − p ( i ) ) 1 − y i + ( 1 − π ( i ) ) ( q ( i ) ) y j ( 1 − q ( i ) ) 1 − y i \mu _j^{(i+1)}=\frac {\pi^{(i)}(p^{(i)})^{y_j}(1-p^{(i)})^{1-y_j}} {\pi^{(i)}(p^{i})^{y_j}(1-p^{(i)})^{1-y_i}+(1-\pi^{(i)})(q^{(i)})^{y_j}(1-q^{(i)})^{1-y_i}} μj(i+1)=π(i)(pi)yj(1p(i))1yi+(1π(i))(q(i))yj(1q(i))1yiπ(i)(p(i))yj(1p(i))1yj
    M M M步:计算模型参数的新估计值: π ( i + 1 ) = 1 n ∑ j = 1 n μ j ( i + 1 ) \pi^{(i+1)}= \frac {1}{n} \sum_{j=1}^n \mu_j^{(i+1)} π(i+1)=n1j=1nμj(i+1) p ( i + 1 ) = ∑ j = 1 n μ j ( i + 1 ) y i ∑ j = 1 n μ j ( i + 1 ) p^{(i+1)}=\frac {\sum_{j=1}^n\mu_j^{(i+1)}y_i}{\sum_{j=1}^n\mu_j^{(i+1)}} p(i+1)=j=1nμj(i+1)j=1nμj(i+1)yi q ( i + 1 ) = ∑ j = 1 n ( 1 − μ j ( i + 1 ) ) y j ∑ j = 1 n ( 1 − μ j ( i + 1 ) ) q^{(i+1)}=\frac {\sum_{j=1}^{n}(1-\mu_j^{(i+1)})y_j}{\sum_{j=1}^n(1-\mu_j^{(i+1)})} q(i+1)=j=1n(1μj(i+1))j=1n(1μj(i+1))yj
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值