EM算法的原理推导及解释
文章目录
- EM算法的原理推导及解释
- 前置知识:极大似然估计(Maximum Likelihood)
- 核心部分:期望最大化算法(Expectation Maximum)
- 实例: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∧=argmaxLL(θc)θC=logP(Dc∣θc)=∑xϵDClogP(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,δc2)\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和δc2\mathbf{\delta }_{\mathbf{c}}^{2}δc2的极大似然估计为:
μ∧c=1∣Dc∣∑xϵDcxδ∧c2=1∣Dc∣∑xϵDc(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表示隐变量集,若预对模型参数θ做极大似然估计,则应最大化对数似然函数:
LL(Θ∣X,Z)=lnP(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)(这个思想,非常非常重要!):
LL(Θ∣X)=lnP(X∣Θ)=ln∑ZP(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的期望,记为Zt\mathbf{Z}^{\mathbf{t}}Zt。(E步)
- 基于已观测变量X和Zt\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 }θ和yj\mathbf{y}_{\mathbf{j}}yj看作已知常量:
P(yi∣θ)=∑zP(yj,z∣θ)=∑zP(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\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)=∑zP(z∣Y,θn)lnP(Y,z∣θ)=∑j=1N{∑zP(z∣yj,θn)lnP(yj,z∣θ)}=∑j=1N{P(z=1∣yj,θ)P(yj∣z=1,θ)+P(z=0∣yj,θ)P(yj∣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、pnyj\mathbf{p}_{\mathbf{n}}^{\mathbf{y}_{\mathbf{j}}}pnyj和qnyj\mathbf{q}_{\mathbf{n}}^{\mathbf{y}_{\mathbf{j}}}qnyj):
P(z∣yj,θn)={πnpnyj(1−pn)1−yjπnpnyj(1−pn)1−yj+(1−πn)qnyj(1−qn)1−yj=μj,n,ifz=11−μj,n,ifz=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(yi,z∣θ)={πpyj(1−p)1−yj,ifz=1(1−π)qyj(1−q)1−yj,ifz=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=1N{μj,nln[πpyj(1−p)1−yj]+(1−μj,n)ln[(1−π)qyj(1−q)1−yj]}\,\, \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=1N{μj,nln[πpyj(1−p)1−yj]+(1−μj,n)ln[(1−π)qyj(1−q)1−yj]∂π}=∑j=1N{μj,npyj(1−p)1−yjπpyj(1−p)1−yj+(1−μj,n)−qyj(1−q)1−yj(1−π)qyj(1−q)1−yj}=∑j=1N{μj,n−ππ(1−π)}=(∑j=1Nμ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=1N{μj,nln[πpyj(1−p)1−yj]+(1−μj,n)ln[(1−π)qyj(1−q)1−yj]∂p}=∑j=1N{μj,nπ[yjpyj−1(1−p)1−yj−pyj(1−yj)(1−p)−yj]πpyj(1−p)1−yj+0}=∑j=1N{μj,n(yj−p)p(1−p)}=(∑j=1Nμj,nyj)−(p∑j=1Nμ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的取值:
π=1n∑j=1Nμj,n,p=∑j=1Nμj,nyj∑j=1Nμj,n,q=∑j=1N(1−μj,n)yj∑j=1N(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算法与初值的选择有关。
EM算法的原理推导及解释相关推荐
- Adaboost算法的原理推导及解释
文章目录 Adaboost算法的原理推导及解释 前置知识:Boosting概述 Boosting方法的基本思想 Boosting方法的的学习方法 核心部分:Adaboost算法的原理推导和解释 Ada ...
- 机器学习之EM算法的原理推导及相关知识总结
文章目录 1.知道先验概率和后验概率 2.了解高斯混合模型GMM 3.通过最大似然估计推导EM算法的过程的实例 4.EM算法 5.知道pLSA模型 1.知道先验概率和后验概率 先验概率(prior p ...
- 机器学习之EM算法的原理及推导(三硬币模型)及Python实现
EM算法的简介 EM算法由两步组成:E步和M步,是最常用的迭代算法. 本文主要参考了李航博士的<统计学习方法> 在此基础上主要依据EM算法原理补充了三硬币模型的推导. 1.EM算法的原理 ...
- layer output 激活函数_一文彻底搞懂BP算法:原理推导+数据演示+项目实战(下篇)...
在"一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇)"中我们详细介绍了BP算法的原理和推导过程,并且用实际的数据进行了计算演练.在下篇中,我们将自己实现BP算法(不使用第 ...
- 一文彻底搞懂BP算法:原理推导+数据演示+项目实战(下篇)
在"一文彻底搞懂BP算法:原理推导+数据演示+项目实战(上篇)"中我们详细介绍了BP算法的原理和推导过程,并且用实际的数据进行了计算演练.在下篇中,我们将自己实现BP算法(不使用第 ...
- BP算法:原理推导数据演示项目实战1(转)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fendouaini/article/details/79789440 </div>< ...
- EM算法-数学原理及其证明
参考http://blog.csdn.net/zouxy09/article/details/8537620 参考 http://www.cnblogs.com/jerrylead 之前介绍了EM算法 ...
- GMM 模型与EM算法求解详细推导
1. 高斯模型与高维高斯模型介绍 高斯模型也就是正态分布模型,该模型最早可见于我们的高中数学教材中.闻其名知其意,正态分布是自然界中普遍存在的一种分布.比如,考试成绩,人的智力水平等等.都是大致呈现为 ...
- em算法直观_直观地解释了10种图形算法
em算法直观 重点 (Top highlight) Graphs have become a powerful means of modelling and capturing data in rea ...
最新文章
- 哈夫曼树--链式结构(建立huffman树、编码、解码)
- 基于Docker搭建私有镜像仓库
- Java高并发编程详解系列-深入理解Thread构造
- SAP License:SAP从业者的收入状况
- 微信小程序使用组件实现移动端软键盘
- lfw分类 python_LFW精确度验证__python读写txt
- 小米8使用usb连接计算机,小米怎么连接电脑usb(小米8连接电脑看不到文件)
- 酷我音乐盒html代码,酷我音乐盒2018
- uvalive5713(次小生成树)
- 窗口最大化后超出液晶显示器的屏幕范围的问题
- python判断一个列表是否包含另一个列表_Python-检查一个列表是否包含在另一个列表中...
- rxjava背压_RxJava背压
- Vue element-ui之神坑
- 《股票魔法师》第3-5章读书分享
- 解决:kill 不掉进程
- oracle报错——字符集不匹配
- 六、分享优秀的Armv8 虚拟化技术地址
- 基于HTML节日主题网页项目的设计与实现——圣诞节日介绍(HTML+CSS)
- win11更新后任务栏空白电脑卡死怎么办?
- 如何把数据分类后各个行的值合并成一个格