EM算法与混合高斯模型

EM算法经常用在混合高斯模型下,那么首先我们先介绍一下什么是混合高斯模型

什么是混合高斯模型

首先我们对于单个高斯模型我们会有如下数据,并且不同的数据服从的高斯也不同,也就是它们的参数θ{μ,ε}\theta\{\mu,\varepsilon\}θ{μ,ε}不同

并且我们可以通过极大似然估计的方法求偏导等于0的方法也可以很快的求出最优的参数解

  • 我们对μ\muμ求偏导

μMLE=1N∑i=1Nxi\mu_{MLE}=\frac 1{N}\sum_{i=1}^Nx_i μMLE​=N1​i=1∑N​xi​

  • 对ε\varepsilonε求偏导
    εMLE=∑i=1N(xi−μMLE)n\varepsilon_{MLE}=\frac {\sum_{i=1}^N(x_i-\mu_{MLE})}{n} εMLE​=n∑i=1N​(xi​−μMLE​)​

但是很多时候我们的数据并不能用一个高斯来很好的拟合出来会出现下面的情况

很显然如果用一个高斯来拟合的话这是错误的

那么我们就想到通过多个高斯来进行混合,这就出现了高斯混合模型

对于以上的数据我们会想到用两个高斯来进行混合,并且混合后我们可以得到混合后的密度函数
P(xi∣θ)=∑l=1KN(μl,εl)P(x_i|\theta)=\sum_{l=1}^KN(\mu_l,\varepsilon_l) P(xi​∣θ)=l=1∑K​N(μl​,εl​)
如果我们对齐直接进行积分
∫xi∑l=1KN(μl,εl)dx\int_{x_i} \sum_{l=1}^KN(\mu_l,\varepsilon_l) dx ∫xi​​l=1∑K​N(μl​,εl​)dx
我们会发现这是不对的积分完后的值就不为1了,为了使积分后的值满足1我们引入权重的概念通过对不同的高斯给定不同的权重来使最终的积分后的值为1
P(xi∣θ)=∑l=1KαηN(μl,εl)st∑η=1kαη=1P(x_i|\theta)=\sum_{l=1}^K\alpha_\eta N(\mu_l,\varepsilon_l) \\ st \quad\quad \sum_{\eta=1}^k\alpha_\eta=1 P(xi​∣θ)=l=1∑K​αη​N(μl​,εl​)stη=1∑k​αη​=1
那么最终我们需要求的θ{μ1,....μk,ε1,.....εk,α1,.....αk−1}\theta\{\mu_1,....\mu_k,\varepsilon_1,.....\varepsilon_k,\alpha_1,.....\alpha_{k-1}\}θ{μ1​,....μk​,ε1​,.....εk​,α1​,.....αk−1​}这里最后的α\alphaα为k-1是因为所有的α\alphaα的和为1所以最后一个可以通过1减去前面的α\alphaα值来求得

现在我们已经有了高斯混合模型的公式了,我们先对其进行极大似然估计
θMLE=argmaxθ{∑i=1Nlog[∑l=1kαlN(μl,εl)]}\theta_{MLE}={argmax}_\theta\{\sum_{i=1}^Nlog[\sum_{l=1}^k\alpha_lN(\mu_l,\varepsilon_l)]\} θMLE​=argmaxθ​{i=1∑N​log[l=1∑k​αl​N(μl​,εl​)]}
我们发现此极大似然的估计的解是很难算出来的,所以有了EM算法来简化计算

EM的算法会通过一个迭代的方式来更新参数的值最终趋于最优解
(θ(1),......,θ(t))(\theta^{(1)},......,\theta^{(t)}) (θ(1),......,θ(t))

过程如下:

我们会有如下图的数据

我们有如图上的数据,可以看到有3堆的数据,这三堆数据分别服从3个高斯,然后图中的圈代表的是最开始迭代的高斯值θ(1)\theta^{(1)}θ(1)

最终我们会将高斯的参数迭代到如图所示的样子,此时的高斯参数为θ(t)\theta^{(t)}θ(t)

而且从图中我们也可以知道高斯混合模型是可以给我们进行聚类的

我们进行迭代就需要满足θ(g+1)=f(θ(g))\theta^{(g+1)}=f(\theta^{(g)})θ(g+1)=f(θ(g))这样的方程式子

我们的EM算法的公式如下:
θ(g+1)=argmaxθ{∫zlogP(X,Z∣θ)P(Z∣X,θ(g))}dz\theta^{(g+1)}={argmax}_\theta\{\int_z log{P(X,Z|\theta)}P(Z|X,\theta^{(g)})\}dz θ(g+1)=argmaxθ​{∫z​logP(X,Z∣θ)P(Z∣X,θ(g))}dz
其中xxx为数据(可观测到的数据)zzz为隐变量(不可观测到的数据,用来简化解法,不可以乱加,不能改变边缘分布),那么其中的隐变量在作用是什么呢,我们可以通过如下图来了解一下:

每一个数据对应一个隐变量代表属于哪个高斯,这样我们做,为什么会简化呢,就是因为这样做之后我们就把原先组合起来的高斯分离成一个个独立的高斯,接下来我们来推导高斯混合模型的EM公式

首先我们将上述公式先进行拆解得到
logP(X,Z∣θ)log{P(X,Z|\theta)} logP(X,Z∣θ)
我们已经知道分布所以我们可以直接用高斯的密度函数直接替换PPP,由于隐变量的引用,每个高斯都是独立的,于是公式变为如下公式
P(X,Z∣θ)=∏i=1NP(xi,zi∣θ)=∏i=1NP(xi∣zi,θ)P(zi∣θ)=∏i=1Nαi(μi,εi)P(X,Z|\theta)=\prod_{i=1}^NP(x_i,z_i|\theta)=\prod_{i=1}^N{P(x_i|z_i,\theta)}P(z_i|\theta)=\prod_{i=1}^N\alpha_i(\mu_i,\varepsilon_i) P(X,Z∣θ)=i=1∏N​P(xi​,zi​∣θ)=i=1∏N​P(xi​∣zi​,θ)P(zi​∣θ)=i=1∏N​αi​(μi​,εi​)
对于公式
P(Z∣X,θ(g))P(Z|X,\theta^{(g)}) P(Z∣X,θ(g))

=∏i=1NP(zi∣xi,θ(g))=\prod_{i=1}^NP(z_i|x_i,\theta^{(g)}) =i=1∏N​P(zi​∣xi​,θ(g))

=∏i=1NP(xi∣zi)P(zi)∑i=1kP(xi∣zi)P(zi)=\prod_{i=1}^N{\frac {P(x_i|z_i)P(z_i)}{\sum_{i=1}^kP(x_i|z_i)P(z_i)}} =i=1∏N​∑i=1k​P(xi​∣zi​)P(zi​)P(xi​∣zi​)P(zi​)​

=∏i=1NαηN(μi,εi)∑l=1kαlN(μl,εl)=\prod_{i=1}^N{\frac {\alpha_\eta N(\mu_i,\varepsilon_i)}{\sum_{l=1}^k\alpha_l N(\mu_l,\varepsilon_l)}} =i=1∏N​∑l=1k​αl​N(μl​,εl​)αη​N(μi​,εi​)​

由于此时的x我们是未知的,那么我的每个变量x属于哪个高斯分布的概率我们可以由我们之前定义的权重αη\alpha_\etaαη​来替代

最终我们的高斯
θ(g+1)=argmaxθ∑z1=1k∑z2=1k.....∑zn=1k∑i=1N[logαzi+logN(xi∣μzi,εzi)]∏i=1NP(zi∣xi,θ(g))\theta^{(g+1)}={argmax}_\theta\sum_{z_1=1}^k\sum_{z_2=1}^k.....\sum_{z_n=1}^k\sum_{i=1}^N[log\alpha_{z_i}+logN(x_i|\mu_{z_i},\varepsilon_{z_i})]\prod_{i=1}^NP(z_i|x_i,\theta^{(g)}) θ(g+1)=argmaxθ​z1​=1∑k​z2​=1∑k​.....zn​=1∑k​i=1∑N​[logαzi​​+logN(xi​∣μzi​​,εzi​​)]i=1∏N​P(zi​∣xi​,θ(g))

E-step

然后我们进行E步的计算,E也是期望的意思,计算如下:
θ(g+1)=argmaxθ∑z1=1k∑z2=1k.....∑zn=1k∑i=1N[logαzi+logN(xi∣μzi,εzi)]∏i=1NP(zi∣xi,θ(g))\theta^{(g+1)}={argmax}_\theta\sum_{z_1=1}^k\sum_{z_2=1}^k.....\sum_{z_n=1}^k\sum_{i=1}^N[log\alpha_{z_i}+logN(x_i|\mu_{z_i},\varepsilon_{z_i})]\prod_{i=1}^NP(z_i|x_i,\theta^{(g)}) θ(g+1)=argmaxθ​z1​=1∑k​z2​=1∑k​.....zn​=1∑k​i=1∑N​[logαzi​​+logN(xi​∣μzi​​,εzi​​)]i=1∏N​P(zi​∣xi​,θ(g))
我们将logαzi+logN(xi∣μzi,εzi)log\alpha_{z_i}+logN(x_i|\mu_{z_i},\varepsilon_{z_i})logαzi​​+logN(xi​∣μzi​​,εzi​​)简化为fi(zi)f_i(z_i)fi​(zi​)∏i=1NP(zi∣xi,θ(g))\prod_{i=1}^NP(z_i|x_i,\theta^{(g)})∏i=1N​P(zi​∣xi​,θ(g))化简为P(z1,....zN)P(z_1,....z_N)P(z1​,....zN​)
∑z1=1k∑z2=1k.....∑zn=1k∑i=1N(f1(z1)+....fn(zn))P(z1,....zN)\sum_{z_1=1}^k\sum_{z_2=1}^k.....\sum_{z_n=1}^k\sum_{i=1}^N(f_1(z_1)+....f_n(z_n))P(z_1,....z_N) z1​=1∑k​z2​=1∑k​.....zn​=1∑k​i=1∑N​(f1​(z1​)+....fn​(zn​))P(z1​,....zN​)

∑z1=1k∑z2=1k.....∑zn=1k∑i=1Nf1(z1)P(z1,....zN)+.....\sum_{z_1=1}^k\sum_{z_2=1}^k.....\sum_{z_n=1}^k\sum_{i=1}^Nf_1(z_1)P(z_1,....z_N)+..... z1​=1∑k​z2​=1∑k​.....zn​=1∑k​i=1∑N​f1​(z1​)P(z1​,....zN​)+.....

∑z1=1kf1(z1)∑z2=1k.....∑zn=1k∑i=1NP(z1,....zN)+.....\sum_{z_1=1}^kf_1(z_1)\sum_{z_2=1}^k.....\sum_{z_n=1}^k\sum_{i=1}^NP(z_1,....z_N)+..... z1​=1∑k​f1​(z1​)z2​=1∑k​.....zn​=1∑k​i=1∑N​P(z1​,....zN​)+.....

∑z1=1kf1(z1)P(z1)+......\sum_{z_1=1}^kf_1(z_1)P(z_1)+...... z1​=1∑k​f1​(z1​)P(z1​)+......

最后化简为如下
Q(θ,θ(g))=∑i=1N∑zik[logαzi+logN(xi∣μzi,εzi)]P(zi∣xi,θ(g))Q(\theta,\theta^{(g)})=\sum_{i=1}^N\sum_{z_i}^k[log\alpha_{z_i}+logN(x_i|\mu_{z_i},\varepsilon_{z_i})]P(z_i|x_i,\theta^{(g)}) Q(θ,θ(g))=i=1∑N​zi​∑k​[logαzi​​+logN(xi​∣μzi​​,εzi​​)]P(zi​∣xi​,θ(g))

P(zi∣xi,θ(g))=αηN(μi,εi)∑l=1kαlN(μl,εl)P(z_i|x_i,\theta^{(g)})={\frac {\alpha_\eta N(\mu_i,\varepsilon_i)}{\sum_{l=1}^k\alpha_l N(\mu_l,\varepsilon_l)}} P(zi​∣xi​,θ(g))=∑l=1k​αl​N(μl​,εl​)αη​N(μi​,εi​)​

E步化简完成,其中P(zi∣xi,θ(g))P(z_i|x_i,\theta^{(g)})P(zi​∣xi​,θ(g))为每个变量所属高斯分布的期望值,这也是E步的目的,为了求出每个变量在每个高斯的分布的期望并对其进行求和,并且其含义可以值观的理解为下图所示:

其中P(zi=1∣xi,θ)=P1P1+P2P(z_i=1|x_i,\theta)=\frac {P_1} {P_1+P_2}P(zi​=1∣xi​,θ)=P1​+P2​P1​​代表变量xix_ixi​在第一个高斯的期望值,P(zi=2∣xi,θ)=P2P1+P2P(z_i=2|x_i,\theta)=\frac {P_2} {P_1+P_2}P(zi​=2∣xi​,θ)=P1​+P2​P2​​代表变量xix_ixi​在第二个高斯的期望值,∑zik[logαzi+logN(xi∣μzi,εzi)]P(zi∣xi,θ(g))\sum_{z_i}^k[log\alpha_{z_i}+logN(x_i|\mu_{z_i},\varepsilon_{z_i})]P(z_i|x_i,\theta^{(g)})∑zi​k​[logαzi​​+logN(xi​∣μzi​​,εzi​​)]P(zi​∣xi​,θ(g))即为每一个高斯混合模型的概率密度在每一个高斯的期望的和。

现在通过一个男生女生身高的例子来说明期望的计算过程:

如下有六个人的身高数据[174 175 176 152 159 156],我们可以知道男生女生的身高服从的高斯分布是不同的因此我们的高斯混合模型高斯的个数选取为2个

首先在迭代前我们初始化高斯混合模型的参数为{α1=0.5,α2=0.5,μz1=175,μz2=158,εz1=10,εz2=10\alpha_1=0.5,\alpha_2=0.5,\mu_{z_1}=175,\mu_{z_2}=158,\varepsilon_{z_1}=10,\varepsilon_{z_2}=10α1​=0.5,α2​=0.5,μz1​​=175,μz2​​=158,εz1​​=10,εz2​​=10}
Q(θ,θ(g))=∑i=16∑zi2[logαzi+logN(xi∣μzi,εzi)]P(zi∣xi,θ(g))Q(\theta,\theta^{(g)})=\sum_{i=1}^6\sum_{z_i}^2[log\alpha_{z_i}+logN(x_i|\mu_{z_i},\varepsilon_{z_i})]P(z_i|x_i,\theta^{(g)}) Q(θ,θ(g))=i=1∑6​zi​∑2​[logαzi​​+logN(xi​∣μzi​​,εzi​​)]P(zi​∣xi​,θ(g))

=∑i=16[(logαzi=1+logN(174∣μzi=1,εzi=1))P(zi=1∣174,θ(g))+(logαzi=2+logN(xi∣μzi=2,εzi=2))P(zi=2∣xi,θ(g))]=\sum_{i=1}^6[(log\alpha_{z_i=1}+logN(174|\mu_{z_i=1},\varepsilon_{z_i=1}))P(z_i=1|174,\theta^{(g)})+(log\alpha_{z_i=2}+logN(x_i|\mu_{z_i=2},\varepsilon_{z_i=2}))P(z_i=2|x_i,\theta^{(g)})] =i=1∑6​[(logαzi​=1​+logN(174∣μzi​=1​,εzi​=1​))P(zi​=1∣174,θ(g))+(logαzi​=2​+logN(xi​∣μzi​=2​,εzi​=2​))P(zi​=2∣xi​,θ(g))]

=∑i=16(logαzi=1+logN(174∣μzi=1,εzi=1))P(zi=1∣174,175,10)+(logαzi=2+logN(174∣μzi=2,εzi=2))P(zi=2∣174,158,10)=\sum_{i=1}^6(log\alpha_{z_i=1}+logN(174|\mu_{z_i=1},\varepsilon_{z_i=1}))P(z_i=1|174,175,10)+(log\alpha_{z_i=2}+logN(174|\mu_{z_i=2},\varepsilon_{z_i=2}))P(z_i=2|174,158,10) =i=1∑6​(logαzi​=1​+logN(174∣μzi​=1​,εzi​=1​))P(zi​=1∣174,175,10)+(logαzi​=2​+logN(174∣μzi​=2​,εzi​=2​))P(zi​=2∣174,158,10)

=∑i=16(logαzi=1+logN(174∣μzi=1,εzi=1))0.780+(logαzi=2+logN(174∣μzi=2,εzi=2))0.220=\sum_{i=1}^6(log\alpha_{z_i=1}+logN(174|\mu_{z_i=1},\varepsilon_{z_i=1}))0.780+(log\alpha_{z_i=2}+logN(174|\mu_{z_i=2},\varepsilon_{z_i=2}))0.220 =i=1∑6​(logαzi​=1​+logN(174∣μzi​=1​,εzi​=1​))0.780+(logαzi​=2​+logN(174∣μzi​=2​,εzi​=2​))0.220

=[(logαzi=1+logN(174∣μzi=1,εzi=1))0.780+(logαzi=2+logN(174∣μzi=2,εzi=2))0.220]+[(logαzi=1+logN(175∣μzi=1,εzi=1))0.81+(logαzi=2+logN(175∣μzi=2,εzi=2))0.19]+........=[(log\alpha_{z_i=1}+logN(174|\mu_{z_i=1},\varepsilon_{z_i=1}))0.780+(log\alpha_{z_i=2}+logN(174|\mu_{z_i=2},\varepsilon_{z_i=2}))0.220]+[(log\alpha_{z_i=1}+logN(175|\mu_{z_i=1},\varepsilon_{z_i=1}))0.81+(log\alpha_{z_i=2}+logN(175|\mu_{z_i=2},\varepsilon_{z_i=2}))0.19]+........ =[(logαzi​=1​+logN(174∣μzi​=1​,εzi​=1​))0.780+(logαzi​=2​+logN(174∣μzi​=2​,εzi​=2​))0.220]+[(logαzi​=1​+logN(175∣μzi​=1​,εzi​=1​))0.81+(logαzi​=2​+logN(175∣μzi​=2​,εzi​=2​))0.19]+........

M-step

M也就是最大化意思就是要求参数最大化,这里我们由E步可以得到简化后的公式
θ(g+1)=argmaxθ∑i=1N∑zik[logαzi+logN(xi∣μzi,εzi)]P(zi∣xi,θ(g))\theta^{(g+1)}={argmax}_\theta\sum_{i=1}^N\sum_{z_i}^k[log\alpha_{z_i}+logN(x_i|\mu_{z_i},\varepsilon_{z_i})]P(z_i|x_i,\theta^{(g)}) θ(g+1)=argmaxθ​i=1∑N​zi​∑k​[logαzi​​+logN(xi​∣μzi​​,εzi​​)]P(zi​∣xi​,θ(g))

对于参数αzi\alpha_{z_i}αzi​​的偏导

由于αzi\alpha_{z_i}αzi​​值有约束条件就是它的所有的和为1故我们采用拉格朗日乘子法来求解
L(αz1,.....αzk,λ)=∑i=1N∑zik[logαzi+logN(xi∣μzi,εzi)]P(zi∣xi,θ(g))+λ(∑i=1kαzi−1)L(\alpha_{z_1},.....\alpha_{z_k},\lambda)=\sum_{i=1}^N\sum_{z_i}^k[log\alpha_{z_i}+logN(x_i|\mu_{z_i},\varepsilon_{z_i})]P(z_i|x_i,\theta^{(g)})+\lambda(\sum_{i=1}^k\alpha_{z_i}-1) L(αz1​​,.....αzk​​,λ)=i=1∑N​zi​∑k​[logαzi​​+logN(xi​∣μzi​​,εzi​​)]P(zi​∣xi​,θ(g))+λ(i=1∑k​αzi​​−1)
对齐进行求导得
αLααzi=1αzi∑i=1NP(zi∣xi,θ(g))+λ=0\frac {\alpha_L}{\alpha_{\alpha_{z_i}}}=\frac 1{\alpha_{z_i}}\sum_{i=1}^NP(z_i|x_i,\theta^{(g)})+\lambda=0 ααzi​​​αL​​=αzi​​1​i=1∑N​P(zi​∣xi​,θ(g))+λ=0
求得
αzi=−1λ∑i=1NP(zi∣xi,θ(g)){\alpha_{z_i}}=-\frac 1\lambda\sum_{i=1}^NP(z_i|x_i,\theta^{(g)}) αzi​​=−λ1​i=1∑N​P(zi​∣xi​,θ(g))
带回约束公式得:
∑l=1kαzi=−1λ∑i=1N∑l=1kP(zi∣xi,θ(g))\sum_{l=1}^k{\alpha_{z_i}}=-\frac 1\lambda\sum_{i=1}^N\sum_{l=1}^kP(z_i|x_i,\theta^{(g)}) l=1∑k​αzi​​=−λ1​i=1∑N​l=1∑k​P(zi​∣xi​,θ(g))
由于∑l=1kαzi=1\sum_{l=1}^k{\alpha_{z_i}}=1∑l=1k​αzi​​=1故
1+1λ∑i=1N∑l=1kP(zi∣xi,θ(g))=01+\frac 1{\lambda}\sum_{i=1}^N\sum_{l=1}^kP(z_i|x_i,\theta^{(g)})=0 1+λ1​i=1∑N​l=1∑k​P(zi​∣xi​,θ(g))=0
将公式代入
P(zi∣xi,θ(g))=αηN(μi,εi)∑l=1kαlN(μl,εl)P(z_i|x_i,\theta^{(g)})={\frac {\alpha_\eta N(\mu_i,\varepsilon_i)}{\sum_{l=1}^k\alpha_l N(\mu_l,\varepsilon_l)}} P(zi​∣xi​,θ(g))=∑l=1k​αl​N(μl​,εl​)αη​N(μi​,εi​)​

然后可以接得λ=N\lambda=Nλ=N
αzi(g+1)=1N∑i=1NP(zi∣xi,θ(g)){\alpha_{z_i}}^{(g+1)}=\frac 1N \sum_{i=1}^NP(z_i|x_i,\theta^{(g)}) αzi​​(g+1)=N1​i=1∑N​P(zi​∣xi​,θ(g))

接上述身高例子我们计算αzi(1){\alpha_{z_i}}^{(1)}αzi​​(1)的值

首先我们计算αz1\alpha_{z_1}αz1​​的值
αz1(1)=16∑i=16P(zi=1∣xi,θ0){\alpha_{z_1}}^{(1)}=\frac 1 6\sum_{i=1}^6P(z_i=1|x_i,\theta^{0}) αz1​​(1)=61​i=1∑6​P(zi​=1∣xi​,θ0)

αz1(1)=16[0.781+0.809+0.834+0.078+0.218+0.143]=0.477{\alpha_{z_1}}^{(1)}=\frac 1 6[0.781+0.809+0.834+0.078+0.218+0.143]=0.477 αz1​​(1)=61​[0.781+0.809+0.834+0.078+0.218+0.143]=0.477

计算αz1\alpha_{z_1}αz1​​的方法与上述一样求得如下:
αz2(1)=16[0.218+0.190+0.165+0.921+0.781+0.856]=0.522{\alpha_{z_2}}^{(1)}=\frac 1 6[0.218+0.190+0.165+0.921+0.781+0.856]=0.522 αz2​​(1)=61​[0.218+0.190+0.165+0.921+0.781+0.856]=0.522

对此我们更新了αz1{\alpha_{z_1}}αz1​​和αz2{\alpha_{z_2}}αz2​​的参数值

对于参数μzi\mu_{z_i}μzi​​的推导

对于参数μzi\mu_{z_i}μzi​​的推导非常类似于单个高斯的推导
μzi(g+1)=argmaxu∑i=1N∑zik[logαzi+logN(xi∣μzi,εzi)]P(zi∣xi,θ(g))\mu_{z_i}^{(g+1)}={argmax}_u\sum_{i=1}^N\sum_{z_i}^k[log\alpha_{z_i}+logN(x_i|\mu_{z_i},\varepsilon_{z_i})]P(z_i|x_i,\theta^{(g)}) μzi​(g+1)​=argmaxu​i=1∑N​zi​∑k​[logαzi​​+logN(xi​∣μzi​​,εzi​​)]P(zi​∣xi​,θ(g))

由于logαzilog\alpha_{z_i}logαzi​​对式子的偏导无影响故我们可以将该式子去除可以将上述式子化简为:
μzi(g+1)=argmaxu∑i=1N∑ziklogN(xi∣μzi,εzi)P(zi∣xi,θ(g))\mu_{z_i}^{(g+1)}={argmax}_u\sum_{i=1}^N\sum_{z_i}^klogN(x_i|\mu_{z_i},\varepsilon_{z_i})P(z_i|x_i,\theta^{(g)}) μzi​(g+1)​=argmaxu​i=1∑N​zi​∑k​logN(xi​∣μzi​​,εzi​​)P(zi​∣xi​,θ(g))

μzi(g+1)=argmaxu∑i=1N∑ziklog12πεzi2e−(xi−μzi)22εzi2P(zi∣xi,θ(g))\mu_{z_i}^{(g+1)}={argmax}_u\sum_{i=1}^N\sum_{z_i}^klog\frac 1 {\sqrt{2\pi\varepsilon_{z_i}^2}}e^\frac {-(x_i-\mu_{z_i})^2} {2\varepsilon_{z_i}^2}P(z_i|x_i,\theta^{(g)}) μzi​(g+1)​=argmaxu​i=1∑N​zi​∑k​log2πεzi​2​​1​e2εzi​2​−(xi​−μzi​​)2​P(zi​∣xi​,θ(g))

αLμzi=∑i=1N(−log2πεzi2−(xi−μzi)22εzi2)P(zi∣xi,θ(g))\frac {\alpha_L}{\mu_{z_i}}=\sum_{i=1}^N(-log\sqrt{2\pi\varepsilon_{z_i}^2}-\frac {(x_i-\mu_{z_i})^2} {2\varepsilon_{z_i}^2})P(z_i|x_i,\theta^{(g)}) μzi​​αL​​=i=1∑N​(−log2πεzi​2​​−2εzi​2​(xi​−μzi​​)2​)P(zi​∣xi​,θ(g))

αLμzi=∑i=1N((xi−μzi)εzi2)P(zi∣xi,θ(g))=0\frac {\alpha_L}{\mu_{z_i}}=\sum_{i=1}^N(\frac {(x_i-\mu_{z_i})} {\varepsilon_{z_i}^2})P(z_i|x_i,\theta^{(g)})=0 μzi​​αL​​=i=1∑N​(εzi​2​(xi​−μzi​​)​)P(zi​∣xi​,θ(g))=0

可得下述式子
(∑i=1NxiP(zi∣xi,θ(g))−∑i=1NμziP(zi∣xi,θ(g))εzi2)=0\frac {(\sum_{i=1}^Nx_iP(z_i|x_i,\theta^{(g)})-\sum_{i=1}^N\mu_{z_i}P(z_i|x_i,\theta^{(g)})} {\varepsilon_{z_i}^2})=0 εzi​2​(∑i=1N​xi​P(zi​∣xi​,θ(g))−∑i=1N​μzi​​P(zi​∣xi​,θ(g))​)=0
此时等式为零的条件就与εzi\varepsilon_{z_i}εzi​​的取值无关,求得
μzi(g+1)=∑i=1NxiP(zi∣xi,θ(g))∑i=1NP(zi∣xi,θ(g))\mu_{z_i}^{(g+1)}=\frac {\sum_{i=1}^Nx_iP(z_i|x_i,\theta^{(g)})} {{\sum_{i=1}^NP(z_i|x_i,\theta^{(g)})}} μzi​(g+1)​=∑i=1N​P(zi​∣xi​,θ(g))∑i=1N​xi​P(zi​∣xi​,θ(g))​
接上述身高例子我们计算μzi(1)\mu_{z_i}^{(1)}μzi​(1)​的值

我们首先计算μz1(1)\mu_{z_1}^{(1)}μz1​(1)​的值
μz1(1)=∑i=16xiP(zi=1∣xi,175,10)∑i=16P(zi=1∣xi,175,10)\mu_{z_1}^{(1)}=\frac {\sum_{i=1}^6x_iP(z_i=1|x_i,175,10)} {{\sum_{i=1}^6P(z_i=1|x_i,175,10)}} μz1​(1)​=∑i=16​P(zi​=1∣xi​,175,10)∑i=16​xi​P(zi​=1∣xi​,175,10)​

μz1(1)=174∗0.781+175∗0.809+176∗0.834+152∗0.078+159∗0.218+156∗0.1430.781+0.809+0.834+0.078+0.218+0.143=493.0792.86=172.41\mu_{z_1}^{(1)}=\frac {174*0.781+175*0.809+176*0.834+152*0.078+159*0.218+156*0.143}{0.781+0.809+0.834+0.078+0.218+0.143}=\frac {493.079}{2.86}=172.41 μz1​(1)​=0.781+0.809+0.834+0.078+0.218+0.143174∗0.781+175∗0.809+176∗0.834+152∗0.078+159∗0.218+156∗0.143​=2.86493.079​=172.41

对此我们就将第一个高斯的期望值进行了更新,第二个高斯的期望值与第一个计算相同求得如下:
μz2(1)=174∗0.218+175∗0.190+176∗0.165+152∗0.921+159∗0.781+156∗0.8560.218+0.190+0.165+0.921+0.781+0.856=497.9293.134=158.87\mu_{z_2}^{(1)}=\frac {174*0.218+175*0.190+176*0.165+152*0.921+159*0.781+156*0.856}{0.218+0.190+0.165+0.921+0.781+0.856}= \frac {497.929}{3.134}=158.87 μz2​(1)​=0.218+0.190+0.165+0.921+0.781+0.856174∗0.218+175∗0.190+176∗0.165+152∗0.921+159∗0.781+156∗0.856​=3.134497.929​=158.87

对于参数εzi\varepsilon_{z_i}εzi​​的推导

μzi(g+1)=argmaxu∑i=1N∑ziklog12πεzi2e−(xi−μzi)22εzi2P(zi∣xi,θ(g))\mu_{z_i}^{(g+1)}={argmax}_u\sum_{i=1}^N\sum_{z_i}^klog\frac 1 {\sqrt{2\pi\varepsilon_{z_i}^2}}e^\frac {-(x_i-\mu_{z_i})^2} {2\varepsilon_{z_i}^2}P(z_i|x_i,\theta^{(g)}) μzi​(g+1)​=argmaxu​i=1∑N​zi​∑k​log2πεzi​2​​1​e2εzi​2​−(xi​−μzi​​)2​P(zi​∣xi​,θ(g))

对logloglog进行拆分
αLεzi=∑i=1N(−log2πεzi2−(xi−μzi)22εzi2)P(zi∣xi,θ(g))\frac {\alpha_L}{\varepsilon_{z_i}}=\sum_{i=1}^N(-log\sqrt{2\pi\varepsilon_{z_i}^2}-\frac {(x_i-\mu_{z_i})^2} {2\varepsilon_{z_i}^2})P(z_i|x_i,\theta^{(g)}) εzi​​αL​​=i=1∑N​(−log2πεzi​2​​−2εzi​2​(xi​−μzi​​)2​)P(zi​∣xi​,θ(g))
对εzi\varepsilon_{z_i}εzi​​求偏导
αLεzi=∑i=1N(−1εzi+(xi−μzi)2εzi−3)P(zi∣xi,θ(g))=0\frac {\alpha_L}{\varepsilon_{z_i}}=\sum_{i=1}^N(-\frac {1}{\varepsilon_{z_i}}+(x_i-\mu_{z_i})^2\varepsilon_{z_i}^{-3})P(z_i|x_i,\theta^{(g)})=0 εzi​​αL​​=i=1∑N​(−εzi​​1​+(xi​−μzi​​)2εzi​−3​)P(zi​∣xi​,θ(g))=0
化简
−∑i=1N1εziP(zi∣xi,θ(g))+∑i=1N(xi−μzi)2εzi−3P(zi∣xi,θ(g))=0-\sum_{i=1}^N\frac {1}{\varepsilon_{z_i}}P(z_i|x_i,\theta^{(g)})+\sum_{i=1}^N(x_i-\mu_{z_i})^2\varepsilon_{z_i}^{-3}P(z_i|x_i,\theta^{(g)})=0 −i=1∑N​εzi​​1​P(zi​∣xi​,θ(g))+i=1∑N​(xi​−μzi​​)2εzi​−3​P(zi​∣xi​,θ(g))=0
我们将εzi2\varepsilon_{z_i}^2εzi​2​放在左边,其余项式移到右边得出如下的式子
εzi2=∑i=1N(xi−μzi)2P(zi∣xi,θ(g))∑i=1NP(zi∣xi,θ(g))\varepsilon_{z_i}^2=\frac {\sum_{i=1}^N(x_i-\mu_{z_i})^2P(z_i|x_i,\theta^{(g)})}{\sum_{i=1}^NP(z_i|x_i,\theta^{(g)})} εzi​2​=∑i=1N​P(zi​∣xi​,θ(g))∑i=1N​(xi​−μzi​​)2P(zi​∣xi​,θ(g))​

接上述身高例子我们计算εzi(1)\varepsilon_{z_i}^{(1)}εzi​(1)​的值

我们首先计算εzi=1(1)\varepsilon_{z_i=1}^{(1)}εzi​=1(1)​的值
εzi=12=∑i=16(xi−μzi=1(1))2P(zi=1∣xi,θ(g))∑i=16P(zi=1∣xi,θ(g))\varepsilon_{z_i=1}^2=\frac {\sum_{i=1}^6(x_i-\mu_{z_i=1}^{(1)})^2P(z_i=1|x_i,\theta^{(g)})}{\sum_{i=1}^6P(z_i=1|x_i,\theta^{(g)})} εzi​=12​=∑i=16​P(zi​=1∣xi​,θ(g))∑i=16​(xi​−μzi​=1(1)​)2P(zi​=1∣xi​,θ(g))​

εzi=12=(174−172.41)2∗0.781+(175−172.41)2∗0.809+(176−172.41)2∗0.834+(152−172.41)2∗0.078+(159−172.41)2∗0.218+(156−172.41)2∗0.1432.86=45.02\varepsilon_{z_i=1}^2=\frac {(174-172.41)^2*0.781+(175-172.41)^2*0.809+(176-172.41)^2*0.834+(152-172.41)^2*0.078+(159-172.41)^2*0.218+(156-172.41)^2*0.143}{2.86}=45.02 εzi​=12​=2.86(174−172.41)2∗0.781+(175−172.41)2∗0.809+(176−172.41)2∗0.834+(152−172.41)2∗0.078+(159−172.41)2∗0.218+(156−172.41)2∗0.143​=45.02

对此我们就将第一个高斯的方差值进行了更新,第二个高斯的方差值与第一个计算相同求得如下:
εzi=22=(174−158.87)2∗0.218+(175−158.87)2∗0.190+(176−158.87)2∗0.165+(152−158.87)2∗0.921+(159−158.87)2∗0.781+(156−158.87)2∗0.8563.13=63.53\varepsilon_{z_i=2}^2=\frac {(174-158.87)^2*0.218+(175-158.87)^2*0.190+(176-158.87)^2*0.165+(152-158.87)^2*0.921+(159-158.87)^2*0.781+(156-158.87)^2*0.856}{3.13}=63.53 εzi​=22​=3.13(174−158.87)2∗0.218+(175−158.87)2∗0.190+(176−158.87)2∗0.165+(152−158.87)2∗0.921+(159−158.87)2∗0.781+(156−158.87)2∗0.856​=63.53
对此EM算法在高斯混合模型中的应用就到此结束了

EM算法高斯混合模型原理详解及小例子相关推荐

  1. 操作系统:基于页面置换算法的缓存原理详解(下)

    概述: 在上一篇<操作系统:基于页面置换算法的缓存原理详解(上)>中,我们主要阐述了FIFO.LRU和Clock页面置换算法.接着上一篇说到的,本文也有三个核心算法要讲解.分别是LFU(L ...

  2. gmm的java实现_4. EM算法-高斯混合模型GMM详细代码实现

    1. 前言 EM的前3篇博文分别从数学基础.EM通用算法原理.EM的高斯混合模型的角度介绍了EM算法.按照惯例,本文要对EM算法进行更进一步的探究.就是动手去实践她. 2. GMM实现 我的实现逻辑基 ...

  3. [算法] 高斯消元详解

    原文链接(强烈建议安利) 0.前置知识 知道如何解三元一次方程组 有手,有脑子 1.答案的表示与存储 先解一个方程组: 2x+3y+5z=31 x-4y -z=-6 4x+2y-5z=9 我们把这个方 ...

  4. 操作系统:基于页面置换算法的缓存原理详解(上)

    概述: 作为一个学计算机的一定听过缓存(注意这里是缓存,不是缓冲).比如我们在登录网页时,网页就可以缓存一些用户信息:比如我们在写界面代码的时候,可能就会遇到界面的绘制是基于一些缓存算法的.所以,了解 ...

  5. JPEG算法解密 JPEG原理详解 (转载 by jinchao)

    (转载,个人笔记)https://www.cnblogs.com/Arvin-JIN/p/9133745.html  (随便夸一下CSDN的粘贴功能好强大) 图片压缩有多重要,可能很多人可能并没有一个 ...

  6. 目标检测算法DSSD的原理详解

    论文地址:https://arxiv.org/abs/1701.06659 Github 源码(caffe版):https://github.com/chengyangfu/caffe/tree/ds ...

  7. Raft算法、协议原理详解

    引言 分布式系统除了提升整个体统的性能外还有一个重要特征就是提高系统的可靠性. 提供可靠性可以理解为系统中一台或多台的机器故障不会使系统不可用(或者丢失数据). 保证系统可靠性的关键就是多副本(即数据 ...

  8. 【大道至简】机器学习算法之EM算法(Expectation Maximization Algorithm)详解(附代码)---通俗理解EM算法。

    ☕️ 本文来自专栏:大道至简之机器学习系列专栏

  9. Hector SLAM 原理详解、算法解析

    目录 1.原理详解 2.算法解析 1.原理详解 Hector整体算法很直接,就是将激光点与已有的地图"对齐",即扫描匹配.扫描匹配就是使用当前帧与已经有的地图数据构建误差函数,使用 ...

最新文章

  1. vue 全局排序_搞定VUE [ 一 ]
  2. scala入门-10 隐式转换、隐式参数、隐式类
  3. vue打包代码反编译_Android逆向反编译代码注入APK过程思路分析
  4. 关于unity2019.3.11.f在烘焙光照贴图时闪退的问题
  5. 《深入理解Nginx:模块开发与架构解析》一3.3 如何将自己的HTTP模块编译进Nginx...
  6. 计算机论文与护理,快速护理论文范文
  7. 如何成为高手?嵌入式开发进阶之路...
  8. 移动网络安全之无线局域网安全
  9. CocosCreator幼麟麻将搭建步骤
  10. winmail 数据库设置_企业邮箱winmail设置方法
  11. Java例:查询自己的星座
  12. 数据建模中的二维表和一维表!
  13. API接口:item_search - 按关键字搜索商品
  14. 20暨南大学计算机考研经验知乎,暨大应统经验转自知乎
  15. 华硕b560m-PLUS WIFI主板+i5 10400F平台安装Win7
  16. python学习(4)
  17. PHP 一句话木马 @eval($_POST[‘hack‘]); 语句解析及靶机演示
  18. 第十一届“泰迪杯”数据挖掘挑战赛成绩公示
  19. 达人分析哪种输入法才是地球上最NB的输入法
  20. TP6 腾讯COS上传(超详细)

热门文章

  1. HDRP(SRP) 渲染一个摄像机剔除遮罩外的物体
  2. 软件开发工程师知识_您作为软件开发人员的知识组合
  3. 基于Bootstrap的登录注册模板(html+css)
  4. Windows 7,win7,旗舰版,家庭版,企业版等版本主要区别
  5. linux qt 达梦,linux环境中QT程序连接达梦数据库DM7简介
  6. ftp 服务器怎么创建文件夹权限,FTP服务器的权限设置
  7. C语言版的银行管理系统
  8. 单例设计模式java,浅谈Java编程中的单例设计模式
  9. Structs2 框架笔记(一)配置文件及struts.xml常用配置
  10. 明星带货能力是不是皇帝的新衣?胡可单周GMV超2400万,如何成为明星主播Top2