EM算法的原理推导及解释

文章目录

EM算法的原理推导及解释

本质上,EM算法针对于存在明显可疑的隐藏变量z,该变量影响着直观的样本数据的分布情况(即:方差、均值等),但是我们又无法得知和计算出准确的隐藏变量z。

于是,我们采用迭代的方式,设定已知模型的参数 θ \mathbf{\theta } θ初值,然后结合已有的{Xn,Yn}样本信息将隐藏变量z的期望以累计的形式进行表示出 Q ( θ ∣ θ n ) \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right) Q(θ∣θn​),然后进一步对当前的参数 θ \mathbf{\theta } θ偏导求解更新新一轮的参数 θ \mathbf{\theta } θ,该迭代过程即为EM算法。

前置知识:极大似然估计(Maximum Likelihood)

令Dc表示训练集中第c类样本的组合的集合,假设这些样本是独立的,则参数θc对于数据集Dc的最大似然估计
θ c ∧ = a r g max ⁡ L L ( θ c ) θ C = log ⁡ P ( D c ∣ θ c )    = ∑ x ϵ D C log ⁡ P ( x ∣ θ c ) \overset{\land}{\mathbf{\theta }_{\mathbf{c}}}=\underset{\mathbf{\theta }_{\mathbf{C}}}{\mathbf{arg}\max \mathbf{LL}\left( \mathbf{\theta }_{\mathbf{c}} \right)} \\ =\log \mathbf{P}\left( \mathbf{D}_{\mathbf{c}}|\mathbf{\theta }_{\mathbf{c}} \right) \\ \,\, =\sum_{\mathbf{x\epsilon D}_{\mathbf{C}}}{\log \mathbf{P}\left( \mathbf{x}|\mathbf{\theta }_{\mathbf{c}} \right)} θc​∧​=θC​argmaxLL(θc​)​=logP(Dc​∣θc​)=xϵDC​∑​logP(x∣θc​)
极大似然估计是试图在θc所有可能的取值中,找到一个使数据出现的“可能性”最大值。极大似然估计一般在机器学习领域中,主要用来估计样本分布的方差和均值、或者其他参数变量。

例如,在连续属性情形下,假设概率密度函数 p ( x ∣ c ) ∼ N ( μ c , δ c 2 ) \mathbf{p}\left( \mathbf{x}|\mathbf{c} \right) \sim \mathbf{N}\left( \mathbf{\mu }_{\mathbf{c}},\mathbf{\delta }_{\mathbf{c}}^{2} \right) p(x∣c)∼N(μc​,δc2​),则参数 μ c \mathbf{\mu }_{\mathbf{c}} μc​和 δ c 2 \mathbf{\delta }_{\mathbf{c}}^{2} δc2​的极大似然估计为:
μ ∧ c = 1 ∣ D c ∣ ∑ x ϵ D c x δ ∧ c 2 = 1 ∣ D c ∣ ∑ x ϵ D c ( x − μ ∧ c ) ( x − μ ∧ c ) T \overset{\land}{\mathbf{\mu }}_{\mathbf{c}}=\frac{1}{|\mathbf{D}_{\mathbf{c}}|}\sum_{\mathbf{x\epsilon D}_{\mathbf{c}}}{\mathbf{x}} \\ \overset{\land}{\mathbf{\delta }}_{\mathbf{c}}^{2}=\frac{1}{|\mathbf{D}_{\mathbf{c}}|}\sum_{\mathbf{x\epsilon D}_{\mathbf{c}}}{\left( \mathbf{x}-\overset{\land}{\mathbf{\mu }}_{\mathbf{c}} \right)}\left( \mathbf{x}-\overset{\land}{\mathbf{\mu }}_{\mathbf{c}} \right) ^{\mathbf{T}} μ∧​c​=∣Dc​∣1​xϵDc​∑​xδ∧c2​=∣Dc​∣1​xϵDc​∑​(x−μ∧​c​)(x−μ∧​c​)T
上述式子表明,通过局部样本的极大似然估计得到的均值和方差就是全体样本的正态分布情况

这种参数化的方法虽能使类条件概率估计变得相对简单,但是,在实际情况中,x的分布很难做到相互独立。于是,我们提出了引入隐藏变量z,z的意义在于它暗中指导着Dc中各个类别的样本分布情况,假设已经存在样本xi,z的作用是告诉我们xi属于哪一个类别,但是,我们却无法直观地得知z到底是什么

令X表示已观测变量集,Z表示隐变量集,若预对模型参数θ做极大似然估计,则应最大化对数似然函数:
L L ( Θ ∣ X , Z ) = ln ⁡ P ( X , Z ∣ Θ ) \mathbf{LL}\left( \mathbf{\Theta }|\mathbf{X},\mathbf{Z} \right) =\ln \mathbf{P}\left( \mathbf{X},\mathbf{Z}|\mathbf{\Theta } \right) LL(Θ∣X,Z)=lnP(X,Z∣Θ)
由于Z是隐变量,上式无法直接求解。此时我们可以通过对Z计算期望,来最大化已观测数据的对数“边际似然”(marginal likelihood)(这个思想,非常非常重要!):
L L ( Θ ∣ X ) = ln ⁡ P ( X ∣ Θ ) = ln ⁡ ∑ Z P ( X , Z ∣ Θ ) \mathbf{LL}\left( \mathbf{\Theta }|\mathbf{X} \right) =\ln \mathbf{P}\left( \mathbf{X}|\mathbf{\Theta } \right) =\ln \sum_{\mathbf{Z}}{\mathbf{P}\left( \mathbf{X},\mathbf{Z}|\mathbf{\Theta } \right)} LL(Θ∣X)=lnP(X∣Θ)=lnZ∑​P(X,Z∣Θ)

核心部分:期望最大化算法(Expectation Maximum)

以初始值 θ 0 \mathbf{\theta }^0 θ0为起点(就是为需要估计的θ、μ等原始参数设定初始值),可迭代执行以下步骤直至收敛:

  • 基于 θ t \mathbf{\theta }^{\mathbf{t}} θt推断隐变量Z的期望,记为 Z t \mathbf{Z}^{\mathbf{t}} Zt。(E步
  • 基于已观测变量X和 Z t \mathbf{Z}^{\mathbf{t}} Zt对参数 θ \mathbf{\theta } θ做极大似然估计,记为 θ t + 1 \mathbf{\theta }^{\mathbf{t}+1} θt+1。(M步
  • 这就是EM算法的原型

实例:EM求解“三硬币”模型的完整推导及解释

原问题:

EM算法的原理推导及解释

简化版:

EM算法的原理推导及解释

由上图的分析可知,我们已有的数据为B/C的投掷结果,但是不知道具体属于B/C,而分类B/C取决于A的结果,A为正面,则该结果是B的投掷结果;A为反面,则结果是C的投掷结果

所以,本题中的隐变量Z:Z=(z1 ,…,zN) 且 z 只有两种可能取值1和0,zj表示第j次试验,A的投掷结果;此外,实验结果Y:Y=(y1,…,yN),yj代表第j次实验B/C的投掷结果θ表示参数π,ρ,q

  • 对于第j次试验,这里的z为变量, θ \mathbf{\theta } θ和 y j \mathbf{y}_{\mathbf{j}} yj​看作已知常量

P ( y i ∣ θ ) = ∑ z P ( y j , z ∣ θ )       = ∑ z P ( z ∣ y j , θ ) P ( y j ∣ z , θ )       = P ( z = 1 ∣ y j , θ ) P ( y j ∣ z = 1 , θ ) + P ( z = 0 ∣ y j , θ ) P ( y j ∣ z = 0 , θ )       = { π p + ( 1 − π ) q , i f    y j = 1 π ( 1 − p ) + ( 1 − π ) ( 1 − q ) , i f    y j = 0    = π p y j ( 1 − p ) 1 − y j + ( 1 − π ) q y j ( 1 − q ) 1 − y j    \mathbf{P}\left( \mathbf{y}_{\mathbf{i}}|\mathbf{\theta } \right) =\sum_{\mathbf{z}}{\mathbf{P}\left( \mathbf{y}_{\mathbf{j}},\mathbf{z}|\mathbf{\theta } \right)}\,\, \\ \,\, =\sum_{\mathbf{z}}{\mathbf{P}\left( \mathbf{z}|\mathbf{y}_{\mathbf{j}},\mathbf{\theta } \right) \mathbf{P}\left( \mathbf{y}_{\mathbf{j}}|\mathbf{z},\mathbf{\theta } \right) \,\,} \\ \,\, =\mathbf{P}\left( \mathbf{z}=1|\mathbf{y}_{\mathbf{j}},\mathbf{\theta } \right) \mathbf{P}\left( \mathbf{y}_{\mathbf{j}}|\mathbf{z}=1,\mathbf{\theta } \right) +\mathbf{P}\left( \mathbf{z}=0|\mathbf{y}_{\mathbf{j}},\mathbf{\theta } \right) \mathbf{P}\left( \mathbf{y}_{\mathbf{j}}|\mathbf{z}=0,\mathbf{\theta } \right) \,\, \\ \,\, =\left\{ \begin{array}{c} \mathbf{\pi p}+\left( 1-\mathbf{\pi } \right) \mathbf{q}, \mathbf{if}\,\,\mathbf{y}_{\mathbf{j}}=1\\ \mathbf{\pi }\left( 1-\mathbf{p} \right) +\left( 1-\mathbf{\pi } \right) \left( 1-\mathbf{q} \right) , \mathbf{if}\,\,\mathbf{y}_{\mathbf{j}}=0\\ \end{array} \right. \\ \,\, =\mathbf{\pi p}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p} \right) ^{1-\mathbf{y}_{\mathbf{j}}}+\left( 1-\mathbf{\pi } \right) \mathbf{q}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{q} \right) ^{1-\mathbf{y}_{\mathbf{j}}}\,\, P(yi​∣θ)=z∑​P(yj​,z∣θ)=z∑​P(z∣yj​,θ)P(yj​∣z,θ)=P(z=1∣yj​,θ)P(yj​∣z=1,θ)+P(z=0∣yj​,θ)P(yj​∣z=0,θ)={πp+(1−π)q,ifyj​=1π(1−p)+(1−π)(1−q),ifyj​=0​=πpyj​(1−p)1−yj​+(1−π)qyj​(1−q)1−yj​

  • E步,求隐变量Z的期望:
    Q ( θ ∣ θ n ) = ∑ z P ( z ∣ Y , θ n ) ln ⁡ P ( Y , z ∣ θ )    = ∑ j = 1 N { ∑ z P ( z ∣ y j , θ n ) ln ⁡ P ( y j , z ∣ θ ) }    = ∑ j = 1 N { P ( z = 1 ∣ y j , θ ) P ( y j ∣ z = 1 , θ ) + P ( z = 0 ∣ y j , θ ) P ( y j ∣ z = 0 , θ ) } \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right) =\sum_{\mathbf{z}}{\mathbf{P}\left( \mathbf{z}|\mathbf{Y},\mathbf{\theta }_{\mathbf{n}} \right) \ln \mathbf{P}\left( \mathbf{Y},\mathbf{z}|\mathbf{\theta } \right)} \\ \,\, =\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left\{ \sum_{\mathbf{z}}{\mathbf{P}\left( \mathbf{z}|\mathbf{y}_{\mathbf{j}},\mathbf{\theta }_{\mathbf{n}} \right) \ln \mathbf{P}\left( \mathbf{y}_{\mathbf{j}},\mathbf{z}|\mathbf{\theta } \right)} \right\}} \\ \,\, =\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left\{ \mathbf{P}\left( \mathbf{z}=1|\mathbf{y}_{\mathbf{j}},\mathbf{\theta } \right) \mathbf{P}\left( \mathbf{y}_{\mathbf{j}}|\mathbf{z}=1,\mathbf{\theta } \right) +\mathbf{P}\left( \mathbf{z}=0|\mathbf{y}_{\mathbf{j}},\mathbf{\theta } \right) \mathbf{P}\left( \mathbf{y}_{\mathbf{j}}|\mathbf{z}=0,\mathbf{\theta } \right) \right\}} Q(θ∣θn​)=z∑​P(z∣Y,θn​)lnP(Y,z∣θ)=j=1∑N​{z∑​P(z∣yj​,θn​)lnP(yj​,z∣θ)}=j=1∑N​{P(z=1∣yj​,θ)P(yj​∣z=1,θ)+P(z=0∣yj​,θ)P(yj​∣z=0,θ)}
    先求(这里的n代表第n次迭代的结果,当前是第n+1次迭代的计算,所以这里的参数 θ n \mathbf{\theta }_{\mathbf{n}} θn​作为常量,参数 θ n \mathbf{\theta }_{\mathbf{n}} θn​包括 π n \mathbf{\pi }_{\mathbf{n}} πn​、 p n y j \mathbf{p}_{\mathbf{n}}^{\mathbf{y}_{\mathbf{j}}} pnyj​​和 q n y j \mathbf{q}_{\mathbf{n}}^{\mathbf{y}_{\mathbf{j}}} qnyj​​):
    P ( z ∣ y j , θ n ) = { π n p n y j ( 1 − p n ) 1 − y j π n p n y j ( 1 − p n ) 1 − y j + ( 1 − π n ) q n y j ( 1 − q n ) 1 − y j = μ j , n    , i f    z = 1 1 − μ j , n    , i f    z = 0 \mathbf{P}\left( \mathbf{z}|\mathbf{y}_{\mathbf{j}},\mathbf{\theta }_{\mathbf{n}} \right) =\begin{cases} \frac{\mathbf{\pi }_{\mathbf{n}}\mathbf{p}_{\mathbf{n}}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p}_{\mathbf{n}} \right) ^{1-\mathbf{y}_{\mathbf{j}}}}{\mathbf{\pi }_{\mathbf{n}}\mathbf{p}_{\mathbf{n}}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p}_{\mathbf{n}} \right) ^{1-\mathbf{y}_{\mathbf{j}}}+\left( 1-\mathbf{\pi }_{\mathbf{n}} \right) \mathbf{q}_{\mathbf{n}}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{q}_{\mathbf{n}} \right) ^{1-\mathbf{y}_{\mathbf{j}}}}=\mathbf{\mu }_{\mathbf{j},\mathbf{n}}\,\,,\mathbf{if}\,\,\mathbf{z}=1\\ 1-\mathbf{\mu }_{\mathbf{j},\mathbf{n}}\,\,,\mathbf{if}\,\,\mathbf{z}=0\\ \end{cases} P(z∣yj​,θn​)=⎩⎨⎧​πn​pnyj​​(1−pn​)1−yj​+(1−πn​)qnyj​​(1−qn​)1−yj​πn​pnyj​​(1−pn​)1−yj​​=μj,n​,ifz=11−μj,n​,ifz=0​
    再求:
       P ( y i , z ∣ θ ) = { π p y j ( 1 − p ) 1 − y j    , i f    z = 1 ( 1 − π ) q y j ( 1 − q ) 1 − y j    , i f    z = 0 \,\, \mathbf{P}\left( \mathbf{y}_{\mathbf{i}},\mathbf{z}|\mathbf{\theta } \right) =\left\{ \begin{array}{c} \mathbf{\pi p}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p} \right) ^{1-\mathbf{y}_{\mathbf{j}}}\,\, ,\mathbf{if}\,\,\mathbf{z}=1\\ \left( 1-\mathbf{\pi } \right) \mathbf{q}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{q} \right) ^{1-\mathbf{y}_{\mathbf{j}}}\,\,,\mathbf{if}\,\,\mathbf{z}=0\\ \end{array} \right. P(yi​,z∣θ)={πpyj​(1−p)1−yj​,ifz=1(1−π)qyj​(1−q)1−yj​,ifz=0​
    因此,最终的 Q ( θ ∣ θ n ) \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right) Q(θ∣θn​)形式为:
       Q ( θ ∣ θ n ) = ∑ j = 1 N { μ j , n ln ⁡ [ π p y j ( 1 − p ) 1 − y j ] + ( 1 − μ j , n ) ln ⁡ [ ( 1 − π ) q y j ( 1 − q ) 1 − y j ] } \,\, \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right) =\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left\{ \mathbf{\mu }_{\mathbf{j},\mathbf{n}}\ln \left[ \mathbf{\pi p}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p} \right) ^{1-\mathbf{y}_{\mathbf{j}}} \right] +\left( 1-\mathbf{\mu }_{\mathbf{j},\mathbf{n}} \right) \ln \left[ \left( 1-\mathbf{\pi } \right) \mathbf{q}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{q} \right) ^{1-\mathbf{y}_{\mathbf{j}}} \right] \right\}} Q(θ∣θn​)=j=1∑N​{μj,n​ln[πpyj​(1−p)1−yj​]+(1−μj,n​)ln[(1−π)qyj​(1−q)1−yj​]}

  • M步,根据 Q ( θ ∣ θ n ) \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right) Q(θ∣θn​)函数对 π 、 p 、 q \mathbf{\pi }\text{、}\mathbf{p}\text{、}\mathbf{q} π、p、q求偏导:
    ∂ Q ( θ ∣ θ n ) ∂ π = ∑ j = 1 N { μ j , n ln ⁡ [ π p y j ( 1 − p ) 1 − y j ] + ( 1 − μ j , n ) ln ⁡ [ ( 1 − π ) q y j ( 1 − q ) 1 − y j ] ∂ π } = ∑ j = 1 N { μ j , n p y j ( 1 − p ) 1 − y j π p y j ( 1 − p ) 1 − y j + ( 1 − μ j , n ) − q y j ( 1 − q ) 1 − y j ( 1 − π ) q y j ( 1 − q ) 1 − y j } = ∑ j = 1 N { μ j , n − π π ( 1 − π ) } = ( ∑ j = 1 N μ j , n ) − n π π ( 1 − π ) \frac{\partial \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right)}{\partial \mathbf{\pi }}=\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left\{ \frac{\mathbf{\mu }_{\mathbf{j},\mathbf{n}}\ln \left[ \mathbf{\pi p}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p} \right) ^{1-\mathbf{y}_{\mathbf{j}}} \right] +\left( 1-\mathbf{\mu }_{\mathbf{j},\mathbf{n}} \right) \ln \left[ \left( 1-\mathbf{\pi } \right) \mathbf{q}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{q} \right) ^{1-\mathbf{y}_{\mathbf{j}}} \right]}{\partial \mathbf{\pi }} \right\}} \\ =\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left\{ \mathbf{\mu }_{\mathbf{j},\mathbf{n}}\frac{\mathbf{p}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p} \right) ^{1-\mathbf{y}_{\mathbf{j}}}}{\mathbf{\pi p}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p} \right) ^{1-\mathbf{y}_{\mathbf{j}}}}+\left( 1-\mathbf{\mu }_{\mathbf{j},\mathbf{n}} \right) \frac{-\mathbf{q}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{q} \right) ^{1-\mathbf{y}_{\mathbf{j}}}}{\left( 1-\mathbf{\pi } \right) \mathbf{q}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{q} \right) ^{1-\mathbf{y}_{\mathbf{j}}}} \right\}} \\ =\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left\{ \frac{\mathbf{\mu }_{\mathbf{j},\mathbf{n}}-\mathbf{\pi }}{\mathbf{\pi }\left( 1-\mathbf{\pi } \right)} \right\}} \\ =\frac{\left( \sum_{\mathbf{j}=1}^{\mathbf{N}}{\mathbf{\mu }_{\mathbf{j},\mathbf{n}}} \right) -\mathbf{n\pi }}{\mathbf{\pi }\left( 1-\mathbf{\pi } \right)} ∂π∂Q(θ∣θn​)​=j=1∑N​⎩⎨⎧​∂πμj,n​ln[πpyj​(1−p)1−yj​]+(1−μj,n​)ln[(1−π)qyj​(1−q)1−yj​]​⎭⎬⎫​=j=1∑N​{μj,n​πpyj​(1−p)1−yj​pyj​(1−p)1−yj​​+(1−μj,n​)(1−π)qyj​(1−q)1−yj​−qyj​(1−q)1−yj​​}=j=1∑N​{π(1−π)μj,n​−π​}=π(1−π)(∑j=1N​μj,n​)−nπ​

    ∂ Q ( θ ∣ θ n ) ∂ p = ∑ j = 1 N { μ j , n ln ⁡ [ π p y j ( 1 − p ) 1 − y j ] + ( 1 − μ j , n ) ln ⁡ [ ( 1 − π ) q y j ( 1 − q ) 1 − y j ] ∂ p } = ∑ j = 1 N { μ j , n π [ y j p y j − 1 ( 1 − p ) 1 − y j − p y j ( 1 − y j ) ( 1 − p ) − y j ] π p y j ( 1 − p ) 1 − y j + 0 } = ∑ j = 1 N { μ j , n ( y j − p ) p ( 1 − p ) } = ( ∑ j = 1 N μ j , n y j ) − ( p ∑ j = 1 N μ j , n ) p ( 1 − p ) \frac{\partial \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right)}{\partial \mathbf{p}}=\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left\{ \frac{\mathbf{\mu }_{\mathbf{j},\mathbf{n}}\ln \left[ \mathbf{\pi p}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p} \right) ^{1-\mathbf{y}_{\mathbf{j}}} \right] +\left( 1-\mathbf{\mu }_{\mathbf{j},\mathbf{n}} \right) \ln \left[ \left( 1-\mathbf{\pi } \right) \mathbf{q}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{q} \right) ^{1-\mathbf{y}_{\mathbf{j}}} \right]}{\partial \mathbf{p}} \right\}} \\ =\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left\{ \mathbf{\mu }_{\mathbf{j},\mathbf{n}}\frac{\mathbf{\pi }\left[ \mathbf{y}_{\mathbf{j}}\mathbf{p}^{\mathbf{y}_{\mathbf{j}}-1}\left( 1-\mathbf{p} \right) ^{1-\mathbf{y}_{\mathbf{j}}}-\mathbf{p}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{y}_{\mathbf{j}} \right) \left( 1-\mathbf{p} \right) ^{-\mathbf{y}_{\mathbf{j}}} \right]}{\mathbf{\pi p}^{\mathbf{y}_{\mathbf{j}}}\left( 1-\mathbf{p} \right) ^{1-\mathbf{y}_{\mathbf{j}}}}+0 \right\}} \\ =\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left\{ \frac{\mathbf{\mu }_{\mathbf{j},\mathbf{n}}\left( \mathbf{y}_{\mathbf{j}}-\mathbf{p} \right)}{\mathbf{p}\left( 1-\mathbf{p} \right)} \right\}} \\ =\frac{\left( \sum_{\mathbf{j}=1}^{\mathbf{N}}{\mathbf{\mu }_{\mathbf{j},\mathbf{n}}\mathbf{y}_{\mathbf{j}}} \right) -\left( \mathbf{p}\sum_{\mathbf{j}=1}^{\mathbf{N}}{\mathbf{\mu }_{\mathbf{j},\mathbf{n}}} \right)}{\mathbf{p}\left( 1-\mathbf{p} \right)} ∂p∂Q(θ∣θn​)​=j=1∑N​⎩⎨⎧​∂pμj,n​ln[πpyj​(1−p)1−yj​]+(1−μj,n​)ln[(1−π)qyj​(1−q)1−yj​]​⎭⎬⎫​=j=1∑N​⎩⎨⎧​μj,n​πpyj​(1−p)1−yj​π[yj​pyj​−1(1−p)1−yj​−pyj​(1−yj​)(1−p)−yj​]​+0⎭⎬⎫​=j=1∑N​{p(1−p)μj,n​(yj​−p)​}=p(1−p)(∑j=1N​μj,n​yj​)−(p∑j=1N​μj,n​)​

    ∂ Q ( θ ∣ θ n ) ∂ q = . . . \frac{\partial \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right)}{\partial \mathbf{q}}=... ∂q∂Q(θ∣θn​)​=...

    • 然后令 ∂ Q ( θ ∣ θ n ) ∂ π 、 ∂ Q ( θ ∣ θ n ) ∂ p 、 ∂ Q ( θ ∣ θ n ) ∂ q \frac{\partial \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right)}{\partial \mathbf{\pi }}\text{、}\frac{\partial \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right)}{\partial \mathbf{p}}\text{、}\frac{\partial \mathbf{Q}\left( \mathbf{\theta }|\mathbf{\theta }_{\mathbf{n}} \right)}{\partial \mathbf{q}} ∂π∂Q(θ∣θn​)​、∂p∂Q(θ∣θn​)​、∂q∂Q(θ∣θn​)​分别等于0,求解得到 π 、 p 、 q \mathbf{\pi }\text{、}\mathbf{p}\text{、}\mathbf{q} π、p、q的取值:
      π = 1 n ∑ j = 1 N μ j , n    , p = ∑ j = 1 N μ j , n y j ∑ j = 1 N μ j , n    , q = ∑ j = 1 N ( 1 − μ j , n ) y j ∑ j = 1 N ( 1 − μ j , n ) \mathbf{\pi }=\frac{1}{\mathbf{n}}\sum_{\mathbf{j}=1}^{\mathbf{N}}{\mathbf{\mu }_{\begin{array}{c} \mathbf{j},\mathbf{n}\\ \end{array}}}\,\,\text{,}\mathbf{p}=\frac{\sum_{\mathbf{j}=1}^{\mathbf{N}}{\mathbf{\mu }_{\mathbf{j},\mathbf{n}}\mathbf{y}_{\mathbf{j}}}}{\sum_{\mathbf{j}=1}^{\mathbf{N}}{\mathbf{\mu }_{\mathbf{j},\mathbf{n}}}}\,\, \text{,}\mathbf{q}=\frac{\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left( 1-\mathbf{\mu }_{\mathbf{j},\mathbf{n}} \right) \mathbf{y}_{\mathbf{j}}}}{\sum_{\mathbf{j}=1}^{\mathbf{N}}{\left( 1-\mathbf{\mu }_{\mathbf{j},\mathbf{n}} \right)}} π=n1​j=1∑N​μj,n​​,p=∑j=1N​μj,n​∑j=1N​μj,n​yj​​,q=∑j=1N​(1−μj,n​)∑j=1N​(1−μj,n​)yj​​

    • 重复迭代上述过程,直至收敛。

    测试结果:

    • 对于初值π=0.5, p=0.5, q=0.5,得到参数估计结果分别为π=0.5, p=0.6, q=0.6。

    • 对于初值π=0.4, p=0.6, q=0.7,得到参数估计结果分别为π=0.4064, p=0.5368, q=0.6432。

    EM算法与初值的选择有关

上一篇:python机器学习minimize函数参数介绍及作用


下一篇:三维点云处理