文章目录
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∧=θCargmaxLL(θ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∣1xϵDc∑xδ∧c2=∣Dc∣1xϵ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求解“三硬币”模型的完整推导及解释
原问题:
简化版:
由上图的分析可知,我们已有的数据为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)=⎩⎨⎧πnpnyj(1−pn)1−yj+(1−πn)qnyj(1−qn)1−yjπnpnyj(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,nln[π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,nln[πpyj(1−p)1−yj]+(1−μj,n)ln[(1−π)qyj(1−q)1−yj]⎭⎬⎫=j=1∑N{μj,nπpyj(1−p)1−yjpyj(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,nln[π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π[yjpyj−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,nyj)−(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)}} π=n1j=1∑Nμj,n,p=∑j=1Nμj,n∑j=1Nμj,nyj,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算法与初值的选择有关。
-