Expectation-Maximum-Algorithm(EM算法之一)

1. 预备知识

1.1 凸函数的性质

假设定义在实数域上的函数,对于 任意的实数,都有
(1.1) f ′ ′ ( x ) &lt; 0 f&#x27;&#x27;(x)&lt;0\tag{1.1} f(x)<0(1.1)
则函数 f ( x ) f(x) f(x)称为凸函数,反之,为凹函数。(国内外教材对于凸凹函数的定义不同,这里采用国内教材为准)

1.2 Jensen不等式

1.2.1 数学意义

如果函数是凸函数,则有
(1.2) f ( λ x 1 + ( 1 − λ ) x 2 ) ≥ λ f ( x 1 ) + ( 1 − λ ) f ( x 2 ) f(\lambda x_1+(1-\lambda)x_2) \geq \lambda f(x_1)+(1-\lambda)f(x_2)\tag{1.2} f(λx1+(1λ)x2)λf(x1)+(1λ)f(x2)(1.2)

如果函数是凹函数,则有
(1.3) f ( λ x 1 + ( 1 − λ ) x 2 ) ≤ λ f ( x 1 ) + ( 1 − λ ) f ( x 2 ) f(\lambda x_1+(1-\lambda)x_2) \leq \lambda f(x_1)+(1-\lambda)f(x_2)\tag{1.3} f(λx1+(1λ)x2)λf(x1)+(1λ)f(x2)(1.3)

1.2.2 几何意义

以凹函数为例

λ \lambda λ 0.5 0.5 0.5时,左右两边严格相等。

1.2.3 推广

若存在凸函数 f ( x ) f(x) f(x),其中有
(1.4) ∑ i = 1 k λ i = 1 , λ i ≥ 0 \begin{aligned} \sum_{i=1}^{k}\lambda_i=1, \lambda_{i} \geq 0\tag{1.4} \end{aligned} i=1kλi=1,λi0(1.4)
则有
(1.5) f ( λ 1 x 1 + λ 2 x 2 + . . . + λ k x k ) ≥ λ 1 f ( x 1 ) + λ 2 f ( x 2 ) + . . . + λ k f ( x k ) \begin{aligned} f(\lambda_1x_1+\lambda_2x_2+...+\lambda_kx_k)\geq\lambda_{1}f(x_1)+\lambda_{2}f(x_2)+...+\lambda_{k}f(x_k)\tag{1.5} \end{aligned} f(λ1x1+λ2x2+...+λkxk)λ1f(x1)+λ2f(x2)+...+λkf(xk)(1.5)
在概率论中,我们知道对于离散变量的期望 E E E
(1.6) E ( X ) = ∑ i k p i X i \begin{aligned} E(X)=\sum_{i}^{k}p_iX_i \tag{1.6} \end{aligned} E(X)=ikpiXi(1.6)
类比公式 ( 1.4 ) , ( 1.5 ) (1.4),(1.5) (1.4),(1.5)则有
(1.7) f ( E ( X ) ) ≥ E ( f ( X ) ) \begin{aligned} f(E(X)) \geq E(f(X)) \tag{1.7} \end{aligned} f(E(X))E(f(X))(1.7)

1.3 隐变量

不能被直接观察到,但是对系统的状态和能观察到的输出存在影响的一种东西。 下文中,硬币A的结果,就是隐变量

1.4 极大似然函数的概念

1.4.1 极大似然函数的概念

简单的说,极大似然估计就是固定住观测变量的值,确定可能性最大的一系列参数的过程.

1.4.2 极大似然函数——以高斯分布为例

若给定一组样本 x 1 , x 2 … , x N x_1,x_2…,x_N x1x2,xN,已知它们来自于高斯分布 N   ( μ , σ 2 ) N~(\mu, \sigma^2) N (μ,σ2),试估参数 μ , σ \mu, \sigma μ,σ

1.4.3 极大似然函数——以高斯混合分布为例

1.4.3.1 多元高斯分布

多元高斯分布是对 d d d维样本空间 χ \chi χ中的随机向量 X \boldsymbol{X} X,若 X \boldsymbol{X} X服从高斯分布,则其概率密度为:
(1.8) f ( x ) = 1 2 π n / 2 ∣ Σ ∣ 1 / 2 e − 1 2 ( X − μ ) T Σ − 1 ( X − μ ) \begin{aligned} f(\boldsymbol{x})=\frac{1}{{2\pi}^{n/2}{|\Sigma|^{1/2}}}e^{-\frac{1}{2}(\boldsymbol{X-\mu})^T\Sigma^{-1}(\boldsymbol{X-\mu})}\tag{1.8} \end{aligned} f(x)=2πn/2Σ1/21e21(Xμ)TΣ1(Xμ)(1.8)

注意一点:

  • 当随机变量 X X X 1 1 1维数据 时,均值 μ k \mu_k μk和方差 σ k \sigma_k σk均为一个标量(其中 ( k &lt; K ) (k&lt;K) (k<K)
  • 当随机变量 X X X m m m维数据 时,均值 μ \mu μ是一个 m m m维的向量,和方差 σ \sigma σ是一个 d ∗ d d*d dd的协方差矩阵。为了加以区分,将 σ \sigma σ记为 Σ \Sigma Σ
1.4.3.2 多元高斯混合分布

定义

通常在自然界中,随机变量 X \boldsymbol{X} X可能有 K K K个高斯分布混合组成,那么,记取自不同高斯分布的概率分别为 π 1 , π 2 , . . . , π K \pi_1, \pi_2,... ,\pi_K π1,π2,...,πK,第 k k k个高斯分布的均值为 μ k \mu_k μk,方差为 σ k \sigma_k σk

此时,需要估计的参数为: K K K π , μ , Σ \pi, \mu, \Sigma π,μ,Σ

因此, 高斯混合模型是指具有如下形式的概率分布模型:
(1.10) P ( X ∣ θ ) = ∑ k = 1 K π k ϕ ( X ; θ k ) \begin{aligned} P(\boldsymbol{X}|\theta)= \sum_{k=1}^{K} \pi_{k} \phi(\boldsymbol{X};\theta_k) \tag{1.10} \end{aligned} P(Xθ)=k=1Kπkϕ(X;θk)(1.10)
其中, π k \pi_k πk是系数, π k ≥ 0 , ∑ k = 1 K π k = 1 \pi_k \geq 0, \sum_{k=1}^{K} \pi_k = 1 πk0,k=1Kπk=1,且 ϕ ( X ∣ θ k ) \phi(\boldsymbol{X}|\theta_k) ϕ(Xθk)是高斯分布密度 ϕ ( X ; μ k , Σ k ) \phi(\boldsymbol{X}; \mu_k, \Sigma_k) ϕ(X;μk,Σk)

似然函数的建立

建立似然函数,分两步走:

  1. 因为取到第 i i i个样本来自于第 k k k个样本的概率为 π k ϕ ( x i ; μ k Σ k ) \pi_k\phi(\boldsymbol{x_i}; \boldsymbol{\mu_k}\boldsymbol{\Sigma_k}) πkϕ(xi;μkΣk)。所以,取到第 i i i个样本的概率为:
    (1.11) P ( X = x i ; θ ) = ∑ k = 1 K π k ϕ ( x i ; μ k , Σ k ) \begin{aligned} P(\boldsymbol{X}=\boldsymbol{x_i};\theta)=\sum_{k=1}^{K} \pi_k\phi(\boldsymbol{x_i}; \boldsymbol{\mu_k}, \boldsymbol{\Sigma_k})\tag{1.11} \end{aligned} P(X=xi;θ)=k=1Kπkϕ(xi;μk,Σk)(1.11)
  2. N N N个样本的似然函数为
    (1.12) L ( π , μ , Σ ) = ∏ i = 1 N ∑ k = 1 K π k ϕ ( x i ; μ k , Σ k ) \begin{aligned} L(\pi, \boldsymbol{\mu}, \boldsymbol{\Sigma})=&amp;\prod_{i=1}^{N}\sum_{k=1}^{K} \pi_k\phi(\boldsymbol{x_i}; \boldsymbol{\mu_k}, \boldsymbol{\Sigma_k}) \tag{1.12} \end{aligned} L(π,μ,Σ)=i=1Nk=1Kπkϕ(xi;μk,Σk)(1.12)
    对公式 ( 1.12 ) (1.12) (1.12)取对数有
    (1.13) l o g ( L π , μ k , Σ k ) = l o g ( ∏ i = 1 N ∑ k = 1 K π k ϕ ( x i ; μ k , Σ k ) ) ) = ∑ i = 1 N l o g ( ∑ k = 1 K π k ϕ ( x i ; μ k , Σ k ) ) ) \begin{aligned} log(L_{\pi, \boldsymbol{\mu_k}, \boldsymbol{\Sigma_k}})=&amp;log(\prod_{i=1}^{N}\sum_{k=1}^{K} \pi_k\phi(\boldsymbol{x_i}; \boldsymbol{\mu_k}, \boldsymbol{\Sigma_k})))\\ =&amp;\sum_{i=1}^{N} log(\sum_{k=1}^{K} \pi_k\phi(\boldsymbol{x_i}; \boldsymbol{\mu_k}, \boldsymbol{\Sigma_k})))\\ \tag{1.13} \end{aligned} log(Lπ,μk,Σk)==log(i=1Nk=1Kπkϕ(xi;μk,Σk)))i=1Nlog(k=1Kπkϕ(xi;μk,Σk)))(1.13)
    此时,我们的目标是要找到 K K K个高斯分布的 μ k , Σ k \boldsymbol{\mu_k}, \boldsymbol{\Sigma_k} μk,Σk,使得公式 ( 1.13 ) (1.13) (1.13)最大
    (1.14) l o g ( L π , μ k , Σ k ) = ∑ i = 1 N l o g ( ∑ k = 1 K π k ϕ ( x i ; μ k , Σ k ) ) ) \begin{aligned} log(L_{\pi, \boldsymbol{\mu_k}, \boldsymbol{\Sigma_k}})=&amp;\sum_{i=1}^{N} log(\sum_{k=1}^{K} \pi_k\phi(\boldsymbol{x_i}; \boldsymbol{\mu_k}, \boldsymbol{\Sigma_k})))\\ \tag{1.14} \end{aligned} log(Lπ,μk,Σk)=i=1Nlog(k=1Kπkϕ(xi;μk,Σk)))(1.14)

预备知识完毕,下面开始进入EM算法预热。


2. EM算法的直观理解(此过程并不严谨)

先假设参数,根据参数计算其所属概率,反过来计算已知概率情况下该参数的后验概率,再通过最大似然估计参数,循环往复,直到收敛。

知乎男女身高分布的例子为例。随机挑选1000个人,测量他们的身高。在这1000个人中,有男性有女性,身高分别服从 N b o y ( μ b o y , σ b o y 2 ) N_{boy}(\mu_{boy}, \sigma_{boy}^2) Nboy(μboy,σboy2) N g i r l ( μ g i r l , σ g i r l 2 ) N_{girl}(\mu_{girl}, \sigma_{girl}^2) Ngirl(μgirl,σgirl2)的分布,试着估计 μ b o y , σ b o y , μ g i r l , σ g i r l \mu_{boy}, \sigma_{boy}, \mu_{girl}, \sigma_{girl} μboy,σboy,μgirl,σgirl

1. 估计每个样本数据由每个分布组成的比例。

首先假设男孩服从的分布为 N b o y ( 175 , 1 0 2 ) N_{boy}(175, 10^2) Nboy(175,102),女孩服从分布 N g i r l ( 165 , 8 2 ) N_{girl}(165, 8^2) Ngirl(165,82)。将第一个样本 X 1 = 198 X_1=198 X1=198分别带入公式 ( 2.1 ) (2.1) (2.1)中,有:
(2.2-1) f b o y ( 198 ) = 1 2 π ∗ 10 e − ( 198 − 175 ) 2 2 ∗ 1 0 2 \begin{aligned} f_{boy}(198)=\frac{1}{\sqrt{2\pi}*10}e^{-\frac{(198-175)^2}{2*10^2}}\tag{2.2-1} \end{aligned} fboy(198)=2π 101e2102(198175)2(2.2-1)
(2.2-2) f g i r l ( 198 ) = 1 2 π ∗ 8 e − ( 198 − 165 ) 2 2 ∗ 8 2 \begin{aligned} f_{girl}(198)=\frac{1}{\sqrt{2\pi}*8}e^{-\frac{(198-165)^2}{2*8^2}}\tag{2.2-2} \end{aligned} fgirl(198)=2π 81e282(198165)2(2.2-2)

2. 其次,假设选择男生分布的概率为 π b o y = 1 2 \pi_{boy}=\frac{1}{2} πboy=21,女性分布的概率为 π g i r l = 1 2 \pi_{girl}=\frac{1}{2} πgirl=21,带入公式 ( 2.1 ) (2.1) (2.1)可以写成

(2.3-1) γ ( 1 , b o y ) = π b o y N ( X 1 ; μ b o y , σ b o y ) ∑ k = 1 K π k N ( X 1 ; μ k , σ k ) = 1 2 ∗ f b o y ( 198 ) 1 2 ∗ f b o y ( 198 ) + 1 2 ∗ f g i r l ( 198 ) \begin{aligned} \gamma(1,boy)=&amp;\frac{\pi_{boy}N(X_1;\mu_{boy},\sigma_{boy})}{\sum_{k=1}^{K}\pi_kN(X_1;\mu_k,\sigma_k)}\\\\ =&amp;\frac{\frac{1}{2}*f_{boy}(198)}{\frac{1}{2}*f_{boy}(198)+\frac{1}{2}*f_{girl}(198)}\tag{2.3-1} \end{aligned} γ(1,boy)==k=1KπkN(X1;μk,σk)πboyN(X1;μboy,σboy)21fboy(198)+21fgirl(198)21fboy(198)(2.3-1)
(2.3-2) γ ( 1 , g i r l ) = π g i r l N ( X 1 ; μ g i r l , σ g i r l ) ∑ k = 1 K π k N ( X 1 ; μ k , σ k ) = 1 2 ∗ f g i r l ( 198 ) 1 2 ∗ f b o y ( 198 ) + 1 2 ∗ f g i r l ( 198 ) \begin{aligned} \gamma(1,girl)=&amp;\frac{\pi_{girl}N(X_1;\mu_{girl},\sigma_{girl})}{\sum_{k=1}^{K}\pi_kN(X_1;\mu_k,\sigma_k)}\\\\ =&amp;\frac{\frac{1}{2}*f_{girl}(198)}{\frac{1}{2}*f_{boy}(198)+\frac{1}{2}*f_{girl}(198)}\tag{2.3-2} \end{aligned} γ(1,girl)==k=1KπkN(X1;μk,σk)πgirlN(X1;μgirl,σgirl)21fboy(198)+21fgirl(198)21fgirl(198)(2.3-2)

此时,男孩样本 1 1 1上的变化情况为 198 ∗ γ ( 1 , b o y ) 198*\gamma(1,boy) 198γ(1,boy),女孩样本 1 1 1上的变化情况为 198 ∗ γ ( 1 , g i r l ) 198*\gamma(1,girl) 198γ(1,girl)

3. 对所有样本均重复上述操作。

可得到 γ ( i , b o y ) \gamma(i,boy) γ(i,boy) γ ( i , g i r l ) \gamma(i,girl) γ(i,girl),其中 i = 1 , 2 , . . . , N i=1,2,...,N i=1,2,...,N。第一轮参数估计的结果为:
(2.4-1) μ b o y = 1 ∑ i = 1 N γ ( i , b o y ) ∑ i = 1 N X i ∗ γ ( i , b o y ) \begin{aligned} \mu_{boy}=&amp;\frac{1}{\sum_{i=1}^{N}\gamma(i,boy)}\sum_{i=1}^{N}X_i*\gamma(i,boy)\tag{2.4-1}\\ \end{aligned} μboy=i=1Nγ(i,boy)1i=1NXiγ(i,boy)(2.4-1)
(2.4-2) μ g i r l = 1 ∑ i = 1 N γ ( i , g i r l ) ∑ i = 1 N X i ∗ γ ( i , g i r l ) \begin{aligned} \mu_{girl}=&amp; \frac{1}{\sum_{i=1}^{N}\gamma(i,girl)}\sum_{i=1}^{N}X_i*\gamma(i,girl) \tag{2.4-2}\\ \end{aligned} μgirl=i=1Nγ(i,girl)1i=1NXiγ(i,girl)(2.4-2)
(2.4-3) σ b o y = 1 ∑ i = 1 N γ ( i , b o y ) ∑ i = 1 N γ ( i , b o y ) ∗ ( X i − μ b o y ) 2 \begin{aligned} \sigma_{boy}=&amp;\frac{1}{\sum_{i=1}^{N}\gamma(i,boy)}\sum_{i=1}^{N}\gamma(i,boy)*(X_i-\mu_{boy})^2 \tag{2.4-3}\\ \end{aligned} σboy=i=1Nγ(i,boy)1i=1Nγ(i,boy)(Xiμboy)2(2.4-3)
(2.4-4) σ g i r l = 1 ∑ i = 1 N γ ( i , g i r l ) ∑ i = 1 N γ ( i , g i r l ) ∗ ( X i − μ g i r l ) 2 \begin{aligned} \sigma_{girl}=&amp;\frac{1}{\sum_{i=1}^{N}\gamma(i,girl)}\sum_{i=1}^{N}\gamma(i,girl)* (X_i-\mu_{girl})^2 \tag{2.4-4}\\ \end{aligned} σgirl=i=1Nγ(i,girl)1i=1Nγ(i,girl)(Xiμgirl)2(2.4-4)
(2.4-5) π b o y = ∑ i = 1 N ∗ γ ( i , b o y ) N \begin{aligned} \pi_{boy}=&amp;\frac{\sum_{i=1}^{N}*\gamma(i,boy)}{N}\tag{2.4-5} \\ \end{aligned} πboy=Ni=1Nγ(i,boy)(2.4-5)
(2.4-6) π g i r l = ∑ i = 1 N ∗ γ ( i , g i r l ) N \begin{aligned} \pi_{girl}=&amp;\frac{\sum_{i=1}^{N}*\gamma(i,girl)}{N}\tag{2.4-6} \\ \end{aligned} πgirl=Ni=1Nγ(i,girl)(2.4-6)

4. 根据公式 (2.4-1,2.4-2,2.4-3,2.4-4, 2.4-5,2.4-6) 所得,重复上述步骤,直到迭代次数完毕为止或者误差极其小为止。


3. 从极大后验概率看EM算法

3.1 数据准备

若假设训练集由 K K K个混合分布组成,且观测变量为 X = [ x 1 , x 2 , . . . , x N ] T \boldsymbol{X}=[\boldsymbol{x_1}, \boldsymbol{x_2}, ..., \boldsymbol{x_N}]^T X=[x1,x2,...,xN]T,给定每个样本具有 d d d个特征值,未观测数据 z = [ z 1 , z 2 , . . . , z N ] T \boldsymbol{z}=[z_1, z_2, ..., z_N]^T z=[z1,z2,...,zN]T θ \theta θ为对应的参数。

3.2 EM算法的科学推导

3.2.1 明确隐变量,写出似然函数

对于不含隐变量的数据而言,混合多元分布的似然函数可以写成
(2.2) l o g ( L θ ) = ∑ i = 1 N l o g ( ∑ k = 1 K π k p ( x i ; θ ) ) \begin{aligned} log(L_{\theta})= \sum_{i=1}^{N} log(\sum_{k=1}^{K} \pi_kp(\boldsymbol{x_i}; \theta))\\ \tag{2.2} \end{aligned} log(Lθ)=i=1Nlog(k=1Kπkp(xi;θ))(2.2)
实际生活中,我们却不得不考虑隐变量,因此,需要稍微变动一下。公式(1.13)就变成了:
(3.1) l o g ( L θ ) = ∑ i = 1 N l o g ( ∑ k = 1 K π k p ( x i , z i ; θ ) ) \begin{aligned} log(L_{\theta}) =&amp; \sum_{i=1}^{N}log(\sum_{k=1}^{K}\pi_{k}p(\boldsymbol{x_i},z_i;\theta))\\ \tag{3.1} \end{aligned} log(Lθ)=i=1Nlog(k=1Kπkp(xi,zi;θ))(3.1)

在进行下一步之前,需要明确的问题:

1. 隐变量与高斯混合分布的关系是怎样的?
隐变量与高斯混合分布是一一对应的,隐变量反映了观测数据来自K个高斯混合分布中的哪一个分布。在身高例子中, z i = b o y z_i=boy zi=boy说明,第 i i i个变量来自于“男”这个高斯分布。
因此,第 i i i个样本的隐随机变量 z i z_i zi的可能的取值为 Z = { 1 , 2 , . . . , k } , 1 ≤ k ≤ K Z=\{1,2,...,k\},1 \leq k \leq K Z={1,2,...,k},1kK

在上述条件的基础下,有人找到了一个这样一个东西:第 i i i个样本的隐随机变量 z i z_i zi满足某个分布 Q i Q_i Qi Q i ( z i ) &gt; 0 Q_i(z_i)&gt;0 Qi(zi)>0,则公式(2.3)又可以写成:
(3.2) l o g ( L θ ) = ∑ i = 1 N l o g ( ∑ z i Q i ( Z ) π z i p ( x i , z i ; θ ) ) \begin{aligned} log(L_{\theta})=&amp;\sum_{i=1}^{N} log(\sum_{z_i}^{\boldsymbol{Q_i(Z)}}\pi_{z_i}p(\boldsymbol{x_i},z_i;\theta)) \tag{3.2} \end{aligned} log(Lθ)=i=1Nlog(ziQi(Z)πzip(xi,zi;θ))(3.2)
然后又变换了一下:
(3.3) l o g ( L θ ) = ∑ i = 1 N l o g ( ∑ z i Q i ( Z ) Q i ( z i ) π z i p ( x i , z i ; θ ) Q i ( z i ) ) \begin{aligned} log(L_{\theta})=&amp; \sum_{i=1}^{N} log(\sum_{z_i}^{\boldsymbol{Q_i(Z)}}Q_i (z_i)\frac{\pi_{z_i}p(\boldsymbol{x_i},z_i;\theta)}{Q_i(z_i)})\\ \tag{3.3} \end{aligned} log(Lθ)=i=1Nlog(ziQi(Z)Qi(zi)Qi(zi)πzip(xi,zi;θ))(3.3)


由于 l o g log log函数是凸函数,则根据Jensen不等式,公式(2.6)可以改为:
(3.4) l o g ( L θ ) = ∑ i = 1 N l o g ( ∑ z i Q i ( Z ) π z i p ( x i , z i ; θ ) ) = ∑ i = 1 N l o g ( ∑ z i Q i ( Z ) Q i ( z i ) π z i p ( x i , z i ; θ ) Q i ( z i ) ) ≥ ∑ i = 1 N ∑ z i Q i ( Z ) Q i ( z i ) l o g ( π z i p ( x i , z i ; θ ) Q i ( z i ) ) \begin{aligned} log(L_{\theta})=&amp;\sum_{i=1}^{N} log( \sum_{z_i}^{\boldsymbol{Q_i(Z)}}\pi_{z_i}p(\boldsymbol{x_i},z_i;\theta))\\ =&amp;\sum_{i=1}^{N} log(\sum_{z_i}^{\boldsymbol{Q_i(Z)}}Q_i(z_i)\frac{\pi_{z_i}p(\boldsymbol{x_i},z_i;\theta)}{Q_i(z_i)})\\ \geq&amp; \sum_{i=1}^{N} \sum_{z_i}^{\boldsymbol{Q_i(Z)}}Q_i(z_i) log(\frac{\pi_{z_i}p(\boldsymbol{x_i},z_i;\theta)}{Q_i(z_i)}) \tag{3.4} \end{aligned} log(Lθ)==i=1Nlog(ziQi(Z)πzip(xi,zi;θ))i=1Nlog(ziQi(Z)Qi(zi)Qi(zi)πzip(xi,zi;θ))i=1NziQi(Z)Qi(zi)log(Qi(zi)πzip(xi,zi;θ))(3.4)

3.2.2 构建并求解下界函数

3.2.2.1 E-step

在2.1.1节中提到,当下界函数的极大值与 l ( θ ) l(\theta) l(θ)在该点的取值相等时,则说明该点为 l ( θ ) l(\theta) l(θ)的极大值。那么,什么时候会出现这种情况呢?
如果公式(1.5)中的
变量 x x x是常数
呢,那么,此时等号也成立。此时有
(3.5) p ( x i , z i ; θ ) Q i ( z i ) = C ,   C 是 一 个 常 数 。 \frac{p(\boldsymbol{x_i},z_i;\theta)}{Q_i(z_i)}=C,\ C是一个常数。\tag{3.5} Qi(zi)p(xi,zi;θ)=C, C(3.5)
则公式(3.5)可以改写成
(3.6) p ( x i , z i ; θ ) = Q i ( z i ) ∗ C p(\boldsymbol{x_i},z_i;\theta)=Q_i(z_i)*C\tag{3.6} p(xi,zi;θ)=Qi(zi)C(3.6)
两边同时累加可得
(3.7) ∑ z i Q i ( Z ) p ( x i , z i ; θ ) = ∑ z i Q i ( Z ) Q i ( z i ) ∗ C ∑ z i Q i ( Z ) p ( x i , z i ; θ ) = C \begin{aligned} \sum_{z_i}^{\boldsymbol{Q_i(Z)}}p(\boldsymbol{x_i},z_i;\theta) =&amp; \sum_{z_i}^{\boldsymbol{Q_i(Z)}}Q_i(z_i)*C\\ \sum_{z_i}^{\boldsymbol{Q_i(Z)}}p(\boldsymbol{x_i},z_i;\theta) =&amp; C \tag{3.7} \end{aligned} ziQi(Z)p(xi,zi;θ)=ziQi(Z)p(xi,zi;θ)=ziQi(Z)Qi(zi)CC(3.7)
结合公式 ( 3.7 ) (3.7) (3.7)与公式 ( 3.6 ) (3.6) (3.6)可知:
(3.8) Q i ( z i ) = p ( x i , z i ; θ ) ∑ z i Q i ( Z ) p ( x i , z i ; θ ) = p ( x i , z i ; θ ) p ( x i ; θ ) = p ( z i ∣ x i ; θ ) \begin{aligned} Q_i(z_i)=&amp;\frac{p(\boldsymbol{x_i},z_i;\theta)}{ \sum_{z_i}^{\boldsymbol{Q_i(Z)}}p(\boldsymbol{x_i},z_i;\theta)} \\ =&amp;\frac{p(\boldsymbol{x_i},z_i;\theta)}{p(\boldsymbol{x_i};\theta)}\\ =&amp;p(z_i|\boldsymbol{x_i};\theta) \tag{3.8} \end{aligned} Qi(zi)===ziQi(Z)p(xi,zi;θ)p(xi,zi;θ)p(xi;θ)p(xi,zi;θ)p(zixi;θ)(3.8)
所以,若 Q i ( z i ) Q_i(z_i) Qi(zi)为给定第 i i i个样本 x i \boldsymbol{x_i} xi的条件下,随机变量 Z = z i \boldsymbol{Z}=z_i Z=zi的条件概率时,等号成立。(对于身高198的人来说,若求的是男生的参数估计时,需要计算在身高198的条件下,性别是男的概率。

3.2.2.2 M-step

(3.9) l o g ( L θ ) = ∑ i = 1 N ∑ z i Q i ( Z ) Q i ( z i ) l o g ( p ( x i , z i ; θ ) Q i ( z i ) ) = ∑ i = 1 N ∑ z i Q i ( Z ) Q i ( z i ) l o g ( p ( x i ∣ z i ; θ ) p ( z i ; θ ) Q i ( z i ) ) \begin{aligned} log(L_{\theta})=&amp; \sum_{i=1}^{N} \sum_{z_i}^{\boldsymbol{Q_i(Z)}}Q_i(z_i)log(\frac{p(\boldsymbol{x_i},z_i;\theta)}{Q_i(z_i)}) \\ =&amp; \sum_{i=1}^{N} \sum_{z_i}^{\boldsymbol{Q_i(Z)}}Q_i(z_i) log(\frac{p(\boldsymbol{x_i}|z_i;\theta)p(z_i;\theta)}{Q_i(z_i)}) \tag{3.9} \end{aligned} log(Lθ)==i=1NziQi(Z)Qi(zi)log(Qi(zi)p(xi,zi;θ))i=1NziQi(Z)Qi(zi)log(Qi(zi)p(xizi;θ)p(zi;θ))(3.9)
所以,第 k k k个分布的参数估计值为:
(3.10) l o g ( L θ k ) = ∑ i = 1 N p ( z i = k ∣ x i ; θ ) l o g ( p ( x i ∣ z i = k ; θ ) p ( z i = k ; θ ) p ( z i = k ∣ x i ; θ ) ) \begin{aligned} log(L_{\theta_k})=&amp;\sum_{i=1}^{N}p(z_i=k|\boldsymbol{x_i};\theta) log(\frac{p(\boldsymbol{x_i}|z_i=k;\theta)p(z_i=k;\theta)}{p(z_i=k|\boldsymbol{x_i};\theta)}) \tag{3.10} \end{aligned} log(Lθk)=i=1Np(zi=kxi;θ)log(p(zi=kxi;θ)p(xizi=k;θ)p(zi=k;θ))(3.10)


4. EM算法在高斯混合分布中的应用

在进行下一步之前,需要明确的问题:

1. 高斯混合分布中各个概率的意义?
高斯混合分布的表达式: P ( X ∣ θ ) = ∑ k = 1 K π k ϕ ( X ; θ k ) P(\boldsymbol{X}|\theta)= \sum_{k=1}^{K} \pi_{k} \phi(\boldsymbol{X};\theta_k) P(Xθ)=k=1Kπkϕ(X;θk),在公式中
π k \pi_{k} πk代表:隐变量的先验概率
ϕ ( X ; θ k ) \phi(\boldsymbol{X};\theta_k) ϕ(X;θk)代表:给定隐变量后生成观测变量的条件概率
P ( X ∣ θ ) P(\boldsymbol{X}|\theta) P(Xθ)代表:隐变量与观测变量的联合概率

4.1 代入参数

那么在高斯混合分布中则有:
(4.1) l o g ( L θ k ) = ∑ i = 1 N p ( z i = k ∣ x i ; θ ) l o g ( 1 ( 2 π ) n / 2 ∣ Σ k ∣ 1 / 2 e x p ( − 1 2 ( X i − μ k ) T Σ k − 1 ( X i − μ k ) π k p ( z i = k ∣ x i ; θ ) ) \begin{aligned} log(L_{\theta_k})=&amp;\sum_{i=1}^{N}{p(z_i=k|\boldsymbol{x_i};\theta)} log(\frac{\frac{1}{{(2\pi)^{n/2}\boldsymbol{|\Sigma_k|^{1/2}}}}exp(-\frac{1}{2}(\boldsymbol{X_i}-\boldsymbol{\mu_k})^T\boldsymbol{\Sigma_k}^{-1}(\boldsymbol{X_i}-\boldsymbol{\mu_k})\pi_k}{{p(z_i=k|\boldsymbol{x_i};\theta)}})\tag{4.1} \end{aligned} log(Lθk)=i=1Np(zi=kxi;θ)log(p(zi=kxi;θ)(2π)n/2Σk1/21exp(21(Xiμk)TΣk1(Xiμk)πk)(4.1)
公式(4.1)中:

  • 向量 X i \boldsymbol{X_i} Xi代表第 i i i个样本的特征数据;
  • 向量 μ k \boldsymbol{\mu_k} μk代表第 k k k个分布的均值;
  • 矩阵 Σ k \boldsymbol{\Sigma_k} Σk代表第 k k k个分布的协方差矩阵;
  • 标量 z i = k z_i=k zi=k代表第 i i i个样本中隐随机变量所属的分布;
  • 标量 π k \pi_k πk代表第 k k k个分布所对应的先验概率。

4.2 计算参数 μ k \mu_k μk Σ k \Sigma_k Σk π k \pi_k πk

对参数 μ k \mu_k μk Σ k \Sigma_k Σk分别求导,矩阵求导参考

  • 计算参数 μ k \mu_k μk。( ∂ X T A X ∂ X = 2 A X \frac{\partial{\boldsymbol{X^TAX}}}{\partial{\boldsymbol{X}}}=2\boldsymbol{AX} XXTAX=2AX A \boldsymbol{A} A为对称矩阵。)
    (4.2-1) ▽ μ k l o g ( L θ k ) = ▽ μ k ∑ i = 1 N Q i ( z i = k ) l o g ( 1 ( 2 π ) n / 2 ∣ Σ k ∣ 1 / 2 e x p ( − 1 2 ( x i − μ k ) T Σ k − 1 ( x i − μ k ) π k Q i ( z i = k ) ) = ▽ μ k ∑ k = 1 K − 1 2 Q i ( z i = k ) ( x i − μ k ) T Σ k − 1 ( x i − μ k ) = ∑ i = 1 N Q i ( z i = k ) Σ k − 1 ( μ k − x i ) \begin{aligned} \bigtriangledown_{\mu_k} log(L_{\theta_k})&amp;=\bigtriangledown_{\mu_k} \sum_{i=1}^{N} Q_i(z_i=k) log(\frac{\frac{1}{{(2\pi)^{n/2}\boldsymbol{|\Sigma_k|^{1/2}}}}exp(-\frac{1}{2}(\boldsymbol{x_i}-\boldsymbol{\mu_k})^T\boldsymbol{\Sigma_k}^{-1}(\boldsymbol{x_i}-\boldsymbol{\mu_k})\pi_k}{Q_i(z_i=k)})\\ &amp;= \bigtriangledown_{\mu_k} \sum_{k=1}^{K}-\frac{1}{2}Q_i(z_i=k)(\boldsymbol{x_i}-\boldsymbol{\mu_k})^T\boldsymbol{\Sigma_k}^{-1}(\boldsymbol{x_i}-\boldsymbol{\mu_k})\\ &amp;= \sum_{i=1}^{N}Q_i(z_i=k)\boldsymbol{\Sigma_k}^{-1}(\boldsymbol{\mu_k}-\boldsymbol{x_i}) \tag{4.2-1} \end{aligned} μklog(Lθk)=μki=1NQi(zi=k)log(Qi(zi=k)(2π)n/2Σk1/21exp(21(xiμk)TΣk1(xiμk)πk)=μkk=1K21Qi(zi=k)(xiμk)TΣk1(xiμk)=i=1NQi(zi=k)Σk1(μkxi)(4.2-1)
    令公式(4.2-1)结果为 0 0 0,则有
    (4.2-2) μ j = ∑ i = 1 N Q i ( z i = k ) ( x i ) ∑ i = 1 N Q i ( z i = k ) 其 中 , Q i ( z i = k ) = p ( z i = k ∣ x i ; θ ) \boldsymbol{\mu_j}=\frac{\sum_{i=1}^{N}Q_i(z_i=k)(\boldsymbol{x_i})}{ \sum_{i=1}^{N}Q_i(z_i=k)}\\\\ 其中,Q_i(z_i=k) = p(z_i=k|\boldsymbol{x_i};\theta) \tag{4.2-2} μj=i=1NQi(zi=k)i=1NQi(zi=k)(xi)Qi(zi=k)=p(zi=kxi;θ)(4.2-2)

  • 计算参数 Σ k \Sigma_k Σk
    (4.3-1) ▽ μ k l o g ( L Σ k ) = ▽ Σ k ∑ i = 1 N Q i ( z i = k ) l o g ( 1 ( 2 π ) n / 2 ∣ Σ k ∣ 1 / 2 e x p ( − 1 2 ( X i − μ k ) T Σ k − 1 ( x i − μ k ) π k Q i ( z i = k ) ) = ▽ Σ k ∑ i = 1 N − 1 2 Q i ( z i = k ) ( x i − μ k ) T Σ k − 1 ( x i − μ k ) \begin{aligned} \bigtriangledown_{\mu_k} log(L_{\Sigma_k})&amp;=\bigtriangledown_{\Sigma_k}\sum_{i=1}^{N} Q_i(z_i=k) log(\frac{\frac{1}{{(2\pi)^{n/2}\boldsymbol{|\Sigma_k|^{1/2}}}}exp(-\frac{1}{2}(\boldsymbol{X_i}-\boldsymbol{\mu_k})^T\boldsymbol{\Sigma_k}^{-1}(\boldsymbol{x_i}-\boldsymbol{\mu_k})\pi_k}{Q_i(z_i=k)})\\ &amp;= \bigtriangledown_{\Sigma_k} \sum_{i=1}^{N} -\frac{1}{2}Q_i(z_i=k)(\boldsymbol{x_i}-\boldsymbol{\mu_k})^T\boldsymbol{\Sigma_k}^{-1}(\boldsymbol{x_i}-\boldsymbol{\mu_k})\\ \tag{4.3-1} \end{aligned} μklog(LΣk)=Σki=1NQi(zi=k)log(Qi(zi=k)(2π)n/2Σk1/21exp(21(Xiμk)TΣk1(xiμk)πk)=Σki=1N21Qi(zi=k)(xiμk)TΣk1(xiμk)(4.3-1)
    令公式(4.3-1)结果为 0 0 0,则有
    (4.3-2) Σ k = ∑ i = 1 N Q i ( z i = k ) ( x i − μ k ) ( x i − μ k ) T ∑ i = 1 N Q i ( z i = k ) 其 中 , Q i ( z i = k ) = p ( z i = k ∣ x i ; θ ) {\Sigma_k}= \frac{\sum_{i=1}^{N}Q_i(z_i=k)(\boldsymbol{x_i}-\boldsymbol{\mu_k})(\boldsymbol{x_i}-\boldsymbol{\mu_k})^T}{\sum_{i=1}^{N}Q_i(z_i=k)}\\ 其中,Q_i(z_i=k) = p(z_i=k|\boldsymbol{x_i};\theta) \tag{4.3-2} Σk=i=1NQi(zi=k)i=1NQi(zi=k)(xiμk)(xiμk)TQi(zi=k)=p(zi=kxi;θ)(4.3-2)

  • 计算参数 π k \pi_k πk
    μ k \mu_k μk Σ k \Sigma_k Σk已知的情况下,且 π k ≥ 0 \pi_k \geq 0 πk0,有 ∑ k ′ = 1 K π k ′ = 1 \sum _{k&#x27;=1}^{K}\pi_k&#x27;=1 k=1Kπk=1。因此,去掉常数项后,目标函数(4.1)可化简为:
    (4.4) ∑ i = 1 N Q i ( z i = k ) l o g ( π k ) \begin{aligned} \sum_{i=1}^{N} Q_i(z_i=k) log(\pi_k) \tag{4.4} \end{aligned} i=1NQi(zi=k)log(πk)(4.4)
    引入拉格朗日算子:
    (4.5) l ( π k ) = ∑ i = 1 N Q i ( z i = k ) l o g ( π k ) + λ ( ∑ k ′ = 1 K π k − 1 ) \begin{aligned} l(\pi_k)= \sum_{i=1}^{N} Q_i(z_i=k) log(\pi_k)+\lambda(\sum_{k&#x27;=1}^{K}\pi_k-1) \tag{4.5} \end{aligned} l(πk)=i=1NQi(zi=k)log(πk)+λ(k=1Kπk1)(4.5)
    π k \pi_k πk求偏导,则有:
    (4.6) ∂ l ( π k ) ∂ π k = ∑ i = 1 N Q i ( z i = k ) 1 π k + λ \begin{aligned} \frac{\partial{l(\pi_k)}}{\partial{\pi_k}}= \sum_{i=1}^{N}Q_i(z_i=k) \frac{1}{\pi_k}+\lambda \tag{4.6} \end{aligned} πkl(πk)=i=1NQi(zi=k)πk1+λ(4.6)
    令公式(4.6)为0,则有:
    (4.7-1) 0 = ∑ i = 1 N Q i ( z i = k ) 1 π k + λ 0 = ∑ i = 1 N Q i ( z i = k ) + λ π k π k = − 1 λ ∑ i = 1 N Q i ( z i = k ) \begin{aligned} 0&amp;= \sum_{i=1}^{N}Q_i(z_i=k) \frac{1}{\pi_k}+\lambda\\ 0&amp;= \sum_{i=1}^{N}Q_i(z_i=k) +\lambda\pi_k\\ \pi_k&amp;=-\frac{1}{\lambda}\sum_{i=1}^{N}Q_i(z_i=k)\tag{4.7-1}\\ \end{aligned} 00πk=i=1NQi(zi=k)πk1+λ=i=1NQi(zi=k)+λπk=λ1i=1NQi(zi=k)(4.7-1)
    (4.7-2) 0 = ∑ j = 1 K ∑ i = 1 N Q i ( z i = k ) + λ ∑ k = 1 K π k 0 = ∑ i = 1 N 1 + λ λ = − N \begin{aligned} 0&amp;=\sum_{j=1}^{K}\sum_{i=1}^{N}Q_i(z_i=k)+\lambda\sum_{k=1}^{K}\pi_k\\ 0&amp;=\sum_{i=1}^{N}1+\lambda\\ \lambda &amp;= -N \tag{4.7-2} \end{aligned} 00λ=j=1Ki=1NQi(zi=k)+λk=1Kπk=i=1N1+λ=N(4.7-2)
    所以
    (4.8) π k = 1 M ∑ i = 1 N Q i ( z i = k ) \begin{aligned} \pi_k=\frac{1}{M} \sum_{i=1}^{N}Q_i(z_i=k)\\ \tag{4.8} \end{aligned} πk=M1i=1NQi(zi=k)(4.8)
    综上所述:
    μ k = ∑ i = 1 N Q i ( z i = k ) ( X i ) ∑ i = 1 N Q i ( z i = k ) Σ k = ∑ i = 1 N Q i ( z i = k ) ( X i − μ k ) ( X i − μ k ) T ∑ i = 1 N Q i ( z i = k ) π k = 1 M ∑ i = 1 N Q i ( z i = k ) \begin{aligned} \boldsymbol{\mu_k}&amp;=\frac{ \sum_{i=1}^{N}Q_i(z_i=k)(\boldsymbol{X_i})}{\sum_{i=1}^{N}Q_i(z_i=k)}\\ {\Sigma_k} &amp;= \frac{\sum_{i=1}^{N}Q_i(z_i=k)(\boldsymbol{X_i}-\boldsymbol{\mu_k})(\boldsymbol{X_i}-\boldsymbol{\mu_k})^T}{\sum_{i=1}^{N}Q_i(z_i=k)}\\ \pi_k&amp;=\frac{1}{M}\sum_{i=1}^{N}Q_i(z_i=k)\\ \end{aligned} μkΣkπk=i=1NQi(zi=k)i=1NQi(zi=k)(Xi)=i=1NQi(zi=k)i=1NQi(zi=k)(Xiμk)(Xiμk)T=M1i=1NQi(zi=k)
    其中, Q i ( z i = k ) = p ( z i = k ∣ x i ; θ ) Q_i(z_i=k) = p(z_i=k|\boldsymbol{x_i};\theta) Qi(zi=k)=p(zi=kxi;θ)

4.2 EM算法的缺点

  • 对先验的依赖性比较强
  • 没有办法收敛到全局最值,仅能收敛到极值。

5. 流程图

后记

其实到这里EM算法基础部分就介绍完了,但是对与强迫症患者来说, Q i ( z i = j ) Q_i(z_i=j) Qi(zi=j)这种关键因子,居然是"凑"出来的,心里难免觉得有些别扭,下面一篇文章(Expectation-Maximum-Algorithm(EM算法之二))给出了另一种思考方法以及EM算法的收敛性证明.


参考文献

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值