统计学习方法9—EM算法


title: EM算法
date: 2019-07-25 14:12:12
tags: [机器学习,EM算法]
categories: 机器学习

  EM算法是一种迭代算法,是一种用于计算包含隐变量概率模型的最大似然估计方法,或极大后验概率。EM即expectation maximization,期望最大化算法。

1. 极大似然估计

  在概率模型中,若已知事件服从的分布或者其他概率模型的参数,那么我们可以通过计算得到某事件发生的概率。而在估计中,这些变成了方向过程:已知一组数据发生的结果,相当于获得了经验概率,通过这组数据假设模型服从什么分布,再通过经验概率求解模型参数。
  比如统计学校学生身高服从的概率分布,抽样1000人得到他们的身高数据,再假设身高服从正态分布,于是只需要求解 u , σ u,\sigma u,σ即可。剩下的问题就是如何确定这两个参数,极大似然估计的思想就是求解在这两个参数下,得到的 这组样本发生的概率最大的情况便是这两个参数最有可能的取值。而抽取每个人的身高都是独立的,让每个p最大化就是让其乘积最大化,于是得到最大似然函数
L ( θ ) = ∏ x p ( x ∣ θ ) L(\theta) = \prod _xp(x | \theta) L(θ)=xp(xθ)
  再求解其关于 θ \theta θ的极大化问题便能得到一个对 θ \theta θ的估计
θ ^ = a r g m a x L ( θ ) \widehat \theta = argmaxL(\theta) θ =argmaxL(θ)

2.EM算法

  上面是模型变量都是可观测的情况,这种情况可以直接根据观测到的样本数据,使用极大似然估计对模型参数进行估计。但若模型中含有隐变量的时候,就不能简单的使用极大似然估计进行计算。EM算法就是针对含有隐变量的概率模型参数的极大似然估计方法。
例子:
  假设三枚硬币,记为A、B、C,它们正面向上的概率分别为n、p、q。实验如下:先抛A,根据A的结果选择B或者C再次抛,将这次正面向上的结果记为1,反面记为0,其中A正面向上则选择B,反面则选择C。经过n次实验后得到n个观测值,根据这n个观测值估计n、p、q的参数值。实验过程中只能观测到最后结果,并不能观察实验过程,也就是A的结果是未知的。该模型可以表示如下
P ( y ∣ θ ) = ∑ z P ( y , z ∣ θ ) = ∑ z P ( z ∣ θ ) P ( y ∣ z , θ ) P(y|\theta) = \sum_zP(y,z|\theta) = \sum_zP(z|\theta)P(y|z,\theta) P(yθ)=zP(y,zθ)=zP(zθ)P(yz,θ)
  其中y表示随机变量Y的观测值,表示该次结果是1或0。z代表隐变量,表示模型中未能观测到的A的结果, θ = ( n , p , q ) \theta=(n,p,q) θ=n,p,q)是模型参数。其中Y是不完全数据,Y+Z是完全数据。
  若是没有隐变量Z,那么可直接使用对数极大似然函数估计
θ ^ = a r g m a x θ L ( θ ) = a r g m a x θ ∑ y l o g P ( y ∣ θ ) \widehat \theta=arg\underset \theta {max}L(\theta)=arg\underset \theta {max}\sum_y logP(y|\theta) θ =argθmaxL(θ)=argθmaxylogP(yθ)
  加入隐变量后,对数极大似然函数变为
L ( θ , z ) = ∑ y l o g ∑ z P ( y , z ∣ θ ) L(\theta,z)=\sum_ylog\sum_zP(y,z|\theta) L(θ,z)=ylogzP(y,zθ)
  求解
θ ^ , z = a r g m a x θ , z L ( θ , z ) \widehat \theta,z=arg\underset {\theta,z} {max}L(\theta,z) θ ,z=argθ,zmaxL(θ,z)
  按照极大似然估计中的方法,似乎应该对 θ , z \theta,z θ,z求导然后令其为0解方程组,然后注意此时的 L ( θ , z ) L(\theta,z) L(θ,z)函数,log内含有求和运算,若是直接求导计算十分困难,因此退而求其次,既然要极大化 L ( θ , z ) L(\theta,z) L(θ,z),就先找到一个它的下界,再想办法提高这个下界,同样能达到极大化L的效果。使用Jense不等式对似然函数进行放缩。

  • Jense不等式(琴生不等式)

  凸函数:是定义在实数域上的函数,如果对于任意的实数,都有:
f ′ ′ ⩾ 0 f''\geqslant 0 f0
   则该函数是凸函数。
  当函数是凸函数的时候,Jense不等式的含义是函数的期望大于等于期望的函数(凹函数相反)。图下图所示

  二维情况下可用凸函数定义来解释,当一个函数是凸函数的时候,它满足
f ( a + b 2 ) ⩽ f ( a ) + f ( b ) 2 f(\frac {a+b} 2)\leqslant \frac {f(a)+f(b)} 2 f(2a+b)2f(a)+f(b)
  左边其实相当于其变量x先求期望后带入函数,右边是先求函数值再计算函数值的期望,也就是
f ( E ( x ) ) ⩽ E ( f ( x ) ) f(E(x))\leqslant E(f(x)) f(E(x))E(f(x))
  再回到 L ( θ , z ) L(\theta,z) L(θ,z)中来,目的是为了将对数函数中的和项去掉,便可利用 j e n s e jense jense不等式的性质,将期望的函数变为函数的期望。先进行放缩
L ( θ , z ) = ∑ y l o g ∑ z P ( y , z ∣ θ ) = ∑ y l o g ∑ z Q i ( z ) P ( y , z ∣ θ ) Q i ( z ) ⩾ ∑ y ∑ z Q i ( z ) l o g P ( y , z ∣ θ ) Q i ( z ) \begin{aligned} L(\theta,z)&=\sum_ylog\sum_zP(y,z|\theta)\\ &=\sum_ylog\sum_zQ_i(z)\frac {P(y,z|\theta)} {Q_i(z)}\\ &\geqslant \sum_y \sum_zQ_i(z)log\frac {P(y,z|\theta)} {Q_i(z)}\\ \end{aligned} L(θ,z)=ylogzP(y,zθ)=ylogzQi(z)Qi(z)P(y,zθ)yzQi(z)logQi(z)P(y,zθ)
  其中最后一步用到了 j e n s e jense jense不等式,因为对数函数是凹函数,所以不等号反了过来, f ( E ( x ) ) ⩾ E ( f ( x ) ) f(E(x))\geqslant E(f(x)) f(E(x))E(f(x)),此处
f ( x ) = l o g ( x ) , x = P ( y , z ∣ θ ) Q i ( z ) , f(x) = log(x), x=\frac {P(y,z|\theta)} {Q_i(z)} , f(x)=log(x),x=Qi(z)P(y,zθ)
  并且所添加的 Q i ( x ) Q_i(x) Qi(x)满足 ∑ z Q i ( z ) = 1 \sum_zQ_i(z) = 1 zQi(z)=1  这是根据第三类 j e n s e jense jense不等式的条件设定的,不同系数的加权求和期望只要满足系数之和为1就能使用 j e n s e jense jense不等式。
  所以得到结论, l o g P ( y , z ∣ θ ) Q i ( z ) log\frac {P(y,z|\theta)} {Q_i(z)} logQi(z)P(y,zθ)的加权平均就是 L ( θ , z ) L(\theta,z) L(θ,z)的一个下界。这便是EM算法中E(期望)的来由。
  目前 Q ( z ) Q(z) Q(z)还是未知的,需要根据一些条件来选择一个合适的函数,再次强调最终目的是极大化似然函数,现在我们得到了似然函数的一个下界,一个想法就是让这个下界去更好的逼近似然函数的真实值,下界是根据不等式放缩后得到的,那么当不等式取等号的时候便是最接近原函数的时候。回忆 j e n s e jense jense不等式 f ( E ( x ) ) ⩽ E ( f ( x ) ) f(E(x)) \leqslant E(f(x)) f(E(x))E(f(x)),显然当 x x x为常数的时候不等式成立。即
x = P ( y , z ∣ θ ) Q i ( z ) = c x =\frac {P(y,z|\theta)} {Q_i(z)}=c x=Qi(z)P(y,zθ)=c
  既然要确定的是 Q i ( z ) Q_i(z) Qi(z),不妨设 θ \theta θ为常数,事实上,EM是一种迭代算法,也就是我们是先给出 θ \theta θ的假设值后再进行迭代计算的,设上一次为第i次迭代, θ ( i ) \theta ^{(i)} θ(i)为第i次的参数值,由上式得
P ( y , z ∣ θ ( i ) ) = c Q i ( z ) ∑ z P ( y , z ∣ θ ( i ) ) = ∑ z c Q i ( z ) ∑ z P ( y , z ∣ θ ( i ) ) = c \begin{aligned} P(y,z|\theta ^{(i)}) &=cQ_i(z) \\ \sum_zP(y,z|\theta ^{(i)})&=\sum_zcQ_i(z) \\ \sum_zP(y,z|\theta ^{(i)})&=c \end{aligned} P(y,zθ(i))zP(y,zθ(i))zP(y,zθ(i))=cQi(z)=zcQi(z)=c
  将c带入x
Q i ( z ) = P ( y , z ∣ θ ( i ) ) ∑ z P ( y , z ∣ θ ( i ) ) = P ( y , z ∣ θ ( i ) ) P ( y ∣ θ ( i ) ) = P ( z ∣ y , θ ( i ) ) \begin{aligned} Q_i(z) &= \frac {P(y,z|\theta ^{(i)})} {\sum_zP(y,z|\theta ^{(i)})} \\ &=\frac {P(y,z|\theta ^{(i)})} {P(y|\theta ^{(i)})} \\ &= P(z|y,\theta ^{(i)}) \end{aligned} Qi(z)=zP(y,zθ(i))P(y,zθ(i))=P(yθ(i))P(y,zθ(i))=P(zy,θ(i))
  第二步用到边缘概率,第三步条件概率。至此,我们得出了Q(z)的表达式,Q(z)是已知样本观测和模型参数下的隐变量的分布。将Q_i(z)视作常数去掉后,得到下面表达式

L ( θ , z ) = ∑ y ∑ z Q i ( z ) l o g P ( y , z ∣ θ ) Q ( z ) = ∑ y ∑ z Q i ( z ) l o g P ( y , z ∣ θ ) = ∑ y ∑ z P ( z ∣ y , θ ( i ) ) l o g P ( y , z ∣ θ ) \begin{aligned} L(\theta,z)&=\sum_y \sum_zQ_i(z)log\frac {P(y,z|\theta)} {Q(z)}\\ &=\sum_y \sum_zQ_i(z)logP(y,z|\theta)\\ &=\sum_y\sum_zP(z| y,\theta ^{(i)} )logP(y,z|\theta) \end{aligned} L(θ,z)=yzQi(z)logQ(z)P(y,zθ)=yzQi(z)logP(y,zθ)=yzP(zy,θ(i))logP(y,zθ)
  到这儿已经完成了E步,对对数似然函数下界的期望的表示,这个期望是 l o g P ( y , z ∣ θ ) logP(y,z|\theta) logP(y,zθ)关于 Q i ( z ) = P ( z ∣ y , θ ( i ) ) Q_i(z)=P(z|y,\theta^{(i)}) Qi(z)=P(zy,θ(i))的期望,接下来需要做的便是极大化这个期望,也就是M步。极大化的方法就是我们常见的优化问题,使用拉格朗日乘数法即可,添加约束条件 ∑ z P ( z ∣ y , θ ( i ) ) = 1 \sum_zP(z|y,\theta ^{(i)})=1 zP(zy,θ(i))=1后对 θ , z , λ \theta,z,\lambda θ,z,λ求偏导令为0。求解

θ ^ = a r g m a x θ L ( θ , z ) \widehat \theta = arg\underset \theta {max}L(\theta,z) θ =argθmaxL(θ,z)

  迭代的停止条件常常为 ∣ ∣ θ ( i + 1 ) − θ ( i ) ∣ ∣ ⩽ ε , o r , ∣ ∣ L ( θ ( i + 1 ) ) − L ( θ ( i ) ∣ ∣ ⩽ ε ||\theta^{(i+1)}-\theta^{(i)}|| \leqslant \varepsilon ,or,||L(\theta^{(i+1)})-L(\theta^{(i)}|| \leqslant \varepsilon θ(i+1)θ(i)ε,or,L(θ(i+1))L(θ(i)ε

3.EM算法的收敛性

  观测数据的似然函数是 L ( θ ) = P ( y ∣ θ ) L(\theta)=P(y|\theta) L(θ)=P(yθ),我们先证明似然函数关于每次迭代后的 θ \theta θ是单调递增的
proof:
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,θ)
由前面结论
L ( θ , z ) = ∑ z P ( Z ∣ Y , θ ( i ) ) l o g P ( Y , Z ∣ θ ) L(\theta,z) =\sum_zP(Z|Y,\theta^{(i)})logP(Y,Z|\theta) L(θ,z)=zP(ZY,θ(i))logP(Y,Zθ)

H ( θ , z ) = ∑ z P ( Z ∣ Y , θ ( i ) ) l o g P ( Z ∣ Y , θ ) H(\theta,z) = \sum_zP(Z|Y,\theta^{(i)})logP(Z|Y,\theta) H(θ,z)=zP(ZY,θ(i))logP(ZY,θ)
于是,对数似然函数可写作
l o g P ( Y ∣ θ ) = L ( θ , z ) − H ( θ , z ) logP(Y|\theta) = L(\theta,z) - H(\theta,z) logP(Yθ)=L(θ,z)H(θ,z)
那么
l o g P ( Y ∣ θ ( i + 1 ) ) − l o g P ( Y ∣ θ ( i ) = [ L ( θ ( i + 1 ) , z ) − L ( θ ( i ) , z ) ] − [ H ( θ ( i + 1 ) , z ) − H ( θ ( i ) , z ) ] logP(Y|\theta^{(i+1)})-logP(Y|\theta^{(i)}=[L(\theta^{(i+1)},z)-L(\theta^{(i)},z)]-[H(\theta^{(i+1)},z)-H(\theta^{(i)},z)] logP(Yθ(i+1))logP(Yθ(i)=[L(θ(i+1),z)L(θ(i),z)][H(θ(i+1),z)H(θ(i),z)]
只需证右边非负,因 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)使原似然函数 L ( θ ( i + 1 ) , z ) L(\theta^{(i+1)},z) L(θ(i+1),z)达到极大,所以
L ( θ ( i + 1 ) , z ) − L ( θ ( i ) , z ) ⩾ 0 L(\theta^{(i+1)},z)-L(\theta^{(i)},z) \geqslant 0 L(θ(i+1),z)L(θ(i),z)0
对于第二项
H ( θ ( i + 1 ) , z ) − H ( θ ( i ) , z ) = ∑ z P ( Z ∣ y , θ ( i ) ) l o g P ( Z ∣ Y , θ ( i + 1 ) ) P ( Z ∣ Y , θ ( i ) ) ( J e n s e n 不 等 式 ) ⩽ l o g ( ∑ z P ( Z ∣ Y , θ ( i ) ) P ( Z ∣ Y , θ ( i + 1 ) ) P ( Z ∣ Y , θ ( i ) ) ) = l o g ∑ z P ( Z ∣ Y , θ ( i + 1 ) ) = l o g 1 = 0 \begin{aligned} &H(\theta^{(i+1)},z)-H(\theta^{(i)},z)\\ &=\sum_zP(Z|y,\theta^{(i)})log \frac {P(Z|Y,\theta^{(i+1)})} {P(Z|Y,\theta^{(i)})}\\ (Jensen 不等式) &\leqslant log\left ( \sum_zP(Z|Y,\theta^{(i)})\frac {P(Z|Y,\theta^{(i+1)})} {P(Z|Y,\theta^{(i)})} \right )\\ &=log\sum_zP(Z|Y,\theta^{(i+1)})\\ &=log1=0 \end{aligned} (Jensen)H(θ(i+1),z)H(θ(i),z)=zP(Zy,θ(i))logP(ZY,θ(i))P(ZY,θ(i+1))log(zP(ZY,θ(i))P(ZY,θ(i))P(ZY,θ(i+1)))=logzP(ZY,θ(i+1))=log1=0
  因此 l o g P ( Y ∣ θ ) logP(Y|\theta) logP(Yθ)关于迭代的 θ \theta θ单调递增,那么如果 P ( Y ∣ θ ) P(Y|\theta) P(Yθ)有上界,经过 θ \theta θ的单增迭代一定会收敛到某一值,还有一个定理是EM算法得到的 θ \theta θ收敛值是似然函数的稳定点,人生苦短,证明就免了吧。

4.EM算法在高斯混合模型中的参数估计

  通过前面的介绍已经知道EM算法用于解决含隐变量的概率模型,EM算法可以认为是一种解决问题的思想,在不知道隐变量发生情况的条件下,我们通过计算已知观测数据,求出不同数据在隐变量的某个事件下发生的期望,再通过这个期望去最大化该期望下的似然函数,如此迭代下去便能得到一个局部极大的结果。
  高斯混合模型也是这样的一个概率模型,它由多个正态分布加权组合而成。也就是可以观测到混合模型产生的样本的分布,但是不知道这每一个样本是由其中哪个高斯模型产生的。因此,隐变量就是哪个样本选择了哪个模型。

  • 高斯混合模型

  假设观测数据 y 1 , y 2 , . . . , y n y_1,y_2,...,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 , . . . , α k ; θ 1 , . . . , θ k ) \theta = (\alpha_1,...,\alpha_k;\theta_1,...,\theta_k) θ=(α1,...,αk;θ1,...,θk),由前分析得隐变量是每个样本来自哪个模型,j个样本和k个模型,隐变量 γ j k \gamma_{jk} γjk表示如下
γ j k = { 1 , 第 j 个 观 测 来 自 第 k 个 分 模 型 0 , 否 则 \gamma_{jk}= \left\{\begin{aligned} &1,&第j个观测来自第k个分模型 \\& 0,&否则 \end{aligned}\right. γjk{1,0,jk
  于是有 j j j个观测数据 j ∗ k j*k jk个位观测数据,总共 ( j + 1 ) ∗ k (j+1)*k (j+1)k个数据便组成了完全数据,完全数据的似然函数为
P ( y , γ ∣ θ ) = ∏ j N P ( y j , γ j 1 , γ j 2 , . . . , γ j k ∣ θ ) = ∏ k ∏ j [ α k Φ ( y j ∣ θ k ) ] γ j k = ∏ k α k n k ∏ j [ Φ ( y j ∣ θ k ) ] γ j k \begin{aligned} P(y,\gamma|\theta)&=\prod_j^NP(y_j,\gamma_{j1},\gamma_{j2},...,\gamma_{jk}|\theta)\\ &=\prod_k \prod_j[\alpha_k \Phi(y_j|\theta_k)]^{\gamma_{jk}}\\ &=\prod_k \alpha_k^{n_k} \prod_j[\Phi(y_j|\theta_k)]^{\gamma_{jk}}\\ \end{aligned} P(y,γθ)=jNP(yj,γj1,γj2,...,γjkθ)=kj[αkΦ(yjθk)]γjk=kαknkj[Φ(yjθk)]γjk
  其中 n k = ∑ j = 1 N γ j k , ∑ k = 1 K n k = N n_k = \sum_{j=1}^N\gamma_{jk},\sum_{k=1}^Kn_k = N nk=j=1Nγjk,k=1Knk=N,
Φ ( y j ∣ θ k ) = 1 2 π δ k e x p ( ( y i − u k ) 2 2 δ k 2 ) \Phi(y_j|\theta_k) = \frac {1} {\sqrt{2\pi}\delta_k}exp\left ( \frac {(y_i-u_k)^2} {2{\delta_k} ^2}\right ) Φ(yjθk)=2π δk1exp(2δk2(yiuk)2)
  显然 n k n_k nk表示的是第k个模型出现的样本数量,因此所有模型出现的样本数量和就是N,完全数据的对数似然函数为
l o g P ( y , γ ∣ θ ) = ∑ k { n k l o g α k + ∑ j γ j k [ l o g ( 1 2 π − l o g δ k − ( y j − u k ) 2 2 δ k 2 ) ] } logP(y,\gamma|\theta) = \sum_k \left \{ n_klog\alpha_k +\sum_j \gamma_{jk}[log(\frac 1 {\sqrt{2\pi} } -log\delta_k-\frac {(y_j-u_k)^2} {2{\delta_k}^2})] \right \} logP(y,γθ)=k{nklogαk+jγjk[log(2π 1logδk2δk2(yjuk)2)]}
  确定好完全数据的对数似然函数后就可以直接套用EM算法的框架了,首先是E-step,求解对数似然函数关于隐变量的后验概率的期望
L ( θ , γ ) = E [ l o g P ( y , γ ∣ θ ) ; y , θ ( i ) ] = E { ∑ k { n k l o g α k + ∑ j γ j k [ l o g ( 1 2 π − l o g δ k − ( y j − u k ) 2 2 δ k 2 ) ] } } = ∑ k { ∑ j E ( γ j k ) l o g α k + ∑ j E γ j k [ l o g ( 1 2 π − l o g δ k − ( y j − u k ) 2 2 δ k 2 ) ] } \begin{aligned} L(\theta,\gamma) &=E[logP(y,\gamma|\theta);y,\theta^{(i)}]\\ &=E\left \{ \sum_k \left \{ n_klog\alpha_k +\sum_j \gamma_{jk}[log(\frac 1 {\sqrt{2\pi} } -log\delta_k-\frac {(y_j-u_k)^2} {2{\delta_k}^2})] \right \} \right \}\\ &=\sum_k \left \{ \sum_jE (\gamma _{jk})log\alpha_k +\sum_j E\gamma_{jk}[log(\frac 1 {\sqrt{2\pi} } -log\delta_k-\frac {(y_j-u_k)^2} {2{\delta_k}^2})] \right \} \end{aligned} L(θ,γ)=E[logP(y,γθ);y,θ(i)]=E{k{nklogαk+jγjk[log(2π 1logδk2δk2(yjuk)2)]}}=k{jE(γjk)logαk+jEγjk[log(2π 1logδk2δk2(yjuk)2)]}
  注意其中的 n k n_k nk是关于 γ j k \gamma_{jk} γjk的函数 n k = ∑ j γ j k n_k=\sum_j\gamma_{jk} nk=jγjk,注意上面两步的化简中,并没有直接计算期望,而是根据期望的性质对式子进行化简,将除了 γ \gamma γ的式子看作常数,由 E ( a X ) = a E ( x ) E(aX)=aE(x) E(aX)=aE(x)等期望的运算法则化简到只需要求 E ( γ j k ) E(\gamma_{jk}) E(γjk)
  计算 E ( γ j k ) E(\gamma_{jk}) E(γjk),记为 γ ^ \widehat \gamma γ ,注意这个期望是对 P ( γ j k ∣ y , θ ) P(\gamma_{jk}|y,\theta) P(γjky,θ)的期望。
γ ^ = E ( γ j k ∣ y , θ ) = P ( γ j k = 1 , y j ∣ θ ) ∑ k P ( γ j k = 1 , y j ∣ θ ) = P ( γ j k = 1 , y j ∣ θ ) P ( γ j k = 1 ∣ θ ) ∑ k P ( γ j k = 1 , y j ∣ θ ) P ( γ j k = 1 ∣ θ ) = α k Φ ( y j ∣ θ k ) ∑ k α k Φ ( y j ∣ θ k ) \begin{aligned} \widehat \gamma &= E(\gamma_{jk}|y,\theta)\\ &= \frac {P(\gamma_{jk} = 1,y_j | \theta)} {\sum_kP(\gamma_{jk}=1,y_j |\theta)}\\ &= \frac {P(\gamma_{jk} = 1,y_j | \theta) P(\gamma_{jk}=1|\theta)} {\sum_kP(\gamma_{jk}=1,y_j |\theta)P(\gamma_{jk}=1|\theta)}\\ & = \frac {\alpha_k \Phi(y_j|\theta_k)} {\sum_k \alpha_k \Phi(y_j|\theta_k)} \end{aligned} γ =E(γjky,θ)=kP(γjk=1,yjθ)P(γjk=1,yjθ)=kP(γjk=1,yjθ)P(γjk=1θ)P(γjk=1,yjθ)P(γjk=1θ)=kαkΦ(yjθk)αkΦ(yjθk)
  带入 L ( θ , γ ) L(\theta,\gamma) L(θ,γ)
L ( θ , γ ) = ∑ k { n k l o g α k + ∑ j γ ^ j k [ l o g ( 1 2 π − l o g δ k − ( y j − u k ) 2 2 δ k 2 ) ] } L(\theta,\gamma) = \sum_k \left \{ n_klog\alpha_k +\sum_j \widehat \gamma_{jk}[log(\frac 1 {\sqrt{2\pi} } -log\delta_k-\frac {(y_j-u_k)^2} {2{\delta_k}^2})] \right \} L(θ,γ)=k{nklogαk+jγ jk[log(2π 1logδk2δk2(yjuk)2)]}
  接下就是M步,只需最大化这个L即可
θ ( i + 1 ) = a r g m a x θ L ( θ , γ ) \theta^{(i+1)} = arg \underset \theta {max} L(\theta,\gamma) θ(i+1)=argθmaxL(θ,γ)
  求解方式同样是拉格朗日,约束条件 ∑ k α k = 1 \sum_k\alpha_k = 1 kαk=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值