21-高斯混合模型-GMM(Gaussian Mixture Model)

1.高斯混合模型GMM的定义

高斯混合模型中的高斯就是指的是高斯分布,顾名思义,就是多个高斯分布组成的混合模型。由中心极限定理可得,把数据看作成高斯分布是比较合理的做法。高斯混合模型的产生是因为数据在非常复杂的情况下,我们无法通过单个高斯模型进行拟合,只能够通过通过多个高斯进行不同权重的拟合才行。这样就产生了高斯混合模型

1.1高斯混合模型GMM的几何表示

在这里插入图片描述
从几何角度来看是比较简单的,当数据由高斯分布N1和高斯分布N2组成的,那么高斯分布N3可以看作是两个高斯分布加权平均来组成的。
P ( x ) = ∑ k = 1 K α k N ( μ k , Σ k ) , ∑ k = 1 K α k = 1 (1) P(x)=\sum_{k=1}^K\alpha_kN(\mu_k,\Sigma_k),\sum_{k=1}^K\alpha_k=1\tag1 P(x)=k=1KαkN(μk,Σk),k=1Kαk=1(1)

  • α k : 表 示 每 个 高 斯 分 布 在 整 个 高 斯 分 布 的 权 重 \alpha_k:表示每个高斯分布在整个高斯分布的权重 αk:

1.2高斯混合模型GMM的模型表示

我们知道当数据两维以上时,那么数据的概率密度函数就是一个高斯曲面,无法用曲线表示,所以我们只能用等高线来表示相关数据。那么对于下图来说,样本 X k X_k Xk既属于N1,也属于N2,只是我们看起来属于N1的概率更大。
在这里插入图片描述
我们定义样本数据如下:

  • X:observed data 观测数据;

  • Z:latent data 隐变量数据;表示对应的样本X是属于哪一个高斯分布的;
    我们引入的Z是为了表示数据X属于哪一个分布,所以可知Z是离散型随机变量。且假设Z满足如下分布:
    在这里插入图片描述

  • ∑ k = 1 K P k = 1 \sum_{k=1}^KP_k=1 k=1KPk=1
    那么对于样本数据X来说,我们可以引入一个变量Z,那么数据生成可以用两步来表示:

  • 用Z分布来表示该样本属于哪一个高斯分布 C k C_k Ck

  • 当选定了第 C k C_k Ck高斯分布后,再在高斯分布中采样数据X;
    具体形象描述为:
    假设我们有一个骰子,这个骰子的K个面被不同比例的油漆涂上,我们随机投掷骰子,那么我们就有K个高斯分布,我们每次投一个骰子时,就会出现第K个面,然后我们在第K个面中采样数据X。这样就可以通过两个步骤来进行合成数据X;这个过程重复N次就是高斯混合模型的生成方式。

  • 概率图:
    在这里插入图片描述

  • 参数P用实心点表示

2.高斯混合模型的极大似然估计

2.1 数据样本的定义

为了方便后续的表示,我们定义如下参数:

  • X:observed data 观测数据 X = ( x 1 , x 2 , . . . , x N ) X=(x_1,x_2,...,x_N) X=(x1,x2,...,xN)
  • Z:latent data 隐变量 Z = ( z 1 , z 2 , . . . , z N ) Z=(z_1,z_2,...,z_N) Z=(z1,z2,...,zN)
  • (X,Z):complete data 完整数据 ( X , Z ) = { ( x 1 , z 1 ) , ( x 2 , z 2 ) , . . . , ( x N , z N ) , } (X,Z)=\{(x_1,z_1),(x_2,z_2),...,(x_N,z_N),\} (X,Z)={(x1,z1),(x2,z2),...,(xN,zN),}
  • θ : p a r a m e t e r 参 数 : θ = { P 1 , P 2 , . . . , P k , μ 1 , μ 2 , . . . , μ k , Σ 1 , Σ 2 , . . . , Σ k } \theta:parameter 参数:\theta=\{P_1,P_2,...,P_k,\mu_1,\mu_2,...,\mu_k,\Sigma_1,\Sigma_2,...,\Sigma_k\} θ:parameter:θ={P1,P2,...,Pk,μ1,μ2,...,μk,Σ1,Σ2,...,Σk}

对于已知数据X,为了搞清楚高斯混合模型的相关参数,我们首先想到的是极大似然估计法MLE。我们的目标是为了找到一组参数 θ \theta θ,使得参数 θ \theta θ能够让 log ⁡ P ( X ∣ θ ) \log P(X|\theta) logP(Xθ)取得最大值;
θ ^ = arg ⁡ max ⁡ θ log ⁡ P ( X ∣ θ ) (2) \hat{\theta}=\mathop{\arg\max}\limits_{\theta}\log P(X|\theta) \tag 2 θ^=θargmaxlogP(Xθ)(2)
由边缘概率P(X)和联合概率P(X,Z)的关系可得:

P ( X ) = ∑ Z P ( X , Z ) = ∑ k = 1 K P ( X , Z = C k ) = ∑ k = 1 K P ( Z = C k ) ⋅ P ( X ∣ Z = C k ) (3) P(X)=\sum_{Z}P(X,Z)=\sum_{k=1}^{K}P(X,Z=C_k)=\sum_{k=1}^{K}P(Z=C_k)·P(X|Z=C_k)\tag 3 P(X)=ZP(X,Z)=k=1KP(X,Z=Ck)=k=1KP(Z=Ck)P(XZ=Ck)(3)

  • Z 是 满 足 离 散 概 率 分 布 , 即 : P ( Z = C k ) = P k Z是满足离散概率分布,即:P(Z=C_k)=P_k ZP(Z=Ck)=Pk
  • P ( X ∣ Z = C k ) 满 足 高 斯 分 布 , 即 : P ( X ∣ Z = C k ) = N ( x i ∣ μ k , Σ k ) P(X|Z=C_k)满足高斯分布,即:P(X|Z=C_k)=N(x_i|\mu_k,\Sigma_k) P(XZ=Ck)P(XZ=Ck)=N(xiμk,Σk)
    P ( X ) = ∑ k = 1 K P k ⋅ N ( x i ∣ μ k , Σ k ) (4) P(X)=\sum_{k=1}^{K}P_k·N(x_i|\mu_k,\Sigma_k)\tag 4 P(X)=k=1KPkN(xiμk,Σk)(4)
    所以目标函数可以表示如下:
    θ ^ M L E = arg ⁡ max ⁡ θ log ⁡ P ( X ∣ θ ) = arg ⁡ max ⁡ θ log ⁡ ∏ i = 1 N P ( x i ∣ θ ) = arg ⁡ max ⁡ θ ∑ i = 1 N log ⁡ P ( x i ∣ θ ) (5) \hat{\theta}_{MLE}=\mathop{\arg\max}\limits_{\theta}\log P(X|\theta)=\mathop{\arg\max}\limits_{\theta}\log \prod_{i=1}^{N}P(x_i|\theta)=\mathop{\arg\max}\limits_{\theta} \sum_{i=1}^{N}\log P(x_i|\theta)\tag 5 θ^MLE=θargmaxlogP(Xθ)=θargmaxlogi=1NP(xiθ)=θargmaxi=1NlogP(xiθ)(5)
    θ ^ M L E = arg ⁡ max ⁡ θ ∑ i = 1 N log ⁡ [ ∑ k = 1 K P k ⋅ N ( x i ∣ μ k , Σ k ) ] (6) \hat{\theta}_{MLE}=\mathop{\arg\max}\limits_{\theta} \sum_{i=1}^{N}\log [\sum_{k=1}^{K}P_k·N(x_i|\mu_k,\Sigma_k)]\tag 6 θ^MLE=θargmaxi=1Nlog[k=1KPkN(xiμk,Σk)](6)
  • θ : p a r a m e t e r 参 数 : θ = { P 1 , P 2 , . . . , P k , μ 1 , μ 2 , . . . , μ k , Σ 1 , Σ 2 , . . . , Σ k } \theta:parameter 参数:\theta=\{P_1,P_2,...,P_k,\mu_1,\mu_2,...,\mu_k,\Sigma_1,\Sigma_2,...,\Sigma_k\} θ:parameter:θ={P1,P2,...,Pk,μ1,μ2,...,μk,Σ1,Σ2,...,Σk}

之前我们在求高斯分布的极大似然估计的时候,因为单个的高斯分布概率密度函数是:
log ⁡ P ( x i ∣ θ ) = log ⁡ [ 1 2 π σ ⋅ e x p ( − ( x − μ ) 2 2 σ 2 ) ] (7) \log P(x_i|\theta)=\log [\frac{1}{\sqrt{2\pi}\sigma}·exp^{(-\frac{(x-\mu)^2}{2\sigma^2})} ]\tag 7 logP(xiθ)=log[2π σ1exp(2σ2(xμ)2)](7)
由上式可以看出,当我们使用对数函数时,因为单个高斯分布里面是一个乘积的形式,那么我们取对数后可以变成两个式子的和,所以可以把上述公式进行分割求导,简化运算。但是对于高斯混合模型来说公式<6>,发现属于如下求和形式:
θ ^ M L E = arg ⁡ max ⁡ θ ∑ i = 1 N log ⁡ [ △ 1 + △ 2 , . . . , △ N ] (8) \hat{\theta}_{MLE}=\mathop{\arg\max}\limits_{\theta} \sum_{i=1}^{N}\log [\triangle_1+\triangle_2,...,\triangle_N]\tag 8 θ^MLE=θargmaxi=1Nlog[1+2,...,N](8)
那么就无法进行分割上述公式,所以我们直接对高斯混合模型来说,直接用极大似然估计是行不通的,没法进行下去了。为了解决这个问题,我们引入之前的EM期望最大算法来求解高斯混合模型GMM。EM算法的目的不就是为了求期望最大嘛,所以这里用EM算法就情理之中了。

3.高斯混合模型GMM(EM期望最大算法求解)

3.1 EM算法(E-Step)

我们发现用极大似然估计法无法求得数据X的参数 θ \theta θ,所以我们用之前讲解的EM期望最大算法进行迭代求解参数 θ \theta θ
EM算法公式如下:
θ ( t + 1 ) = arg ⁡ max ⁡ θ E Z ∼ { Z ∣ X , θ ( t ) } log ⁡ P ( X , Z ∣ θ ) (9) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\mathbb{E}_{Z\sim \{Z|X,\theta^{(t)}\}}\log P(X,Z|\theta)\tag{9} θ(t+1)=θargmaxEZ{ZX,θ(t)}logP(X,Zθ)(9)

  • 我 们 定 义 : Q ( θ , θ ( t ) ) = E Z ∼ { Z ∣ X , θ ( t ) } log ⁡ P ( X , Z ∣ θ ) 我们定义:Q(\theta,\theta^{(t)})=\mathbb{E}_{Z\sim \{Z|X,\theta^{(t)}\}}\log P(X,Z|\theta) Q(θ,θ(t))=EZ{ZX,θ(t)}logP(X,Zθ)

首先我们对 Q ( θ , θ ( t ) ) Q(\theta,\theta^{(t)}) Q(θ,θ(t))进行展开表达:

Q ( θ , θ ( t ) ) = E Z ∼ { Z ∣ X , θ ( t ) } log ⁡ P ( X , Z ∣ θ ) Q(\theta,\theta^{(t)})=\mathbb{E}_{Z\sim \{Z|X,\theta^{(t)}\}}\log P(X,Z|\theta) Q(θ,θ(t))=EZ{ZX,θ(t)}logP(X,Zθ)

将期望转换成积分形式可得:

= ∫ Z log ⁡ P ( X , Z ∣ θ ) ⋅ P ( Z ∣ X , θ ( t ) ) d Z \quad=\int_Z \log P(X,Z|\theta)·P(Z|X,\theta^{(t)})dZ =ZlogP(X,Zθ)P(ZX,θ(t))dZ

由于数据X之间是独立同分布的,所以可变成如下:

= ∫ Z log ⁡ ∏ i = 1 N P ( x i , z i ∣ θ ) ⋅ ∏ i = 1 N P ( z i ∣ x i , θ ( t ) ) d Z \quad=\int_Z \log \prod_{i=1}^{N}P(x_i,z_i|\theta)·\prod_{i=1}^{N} P(z_i|x_i,\theta^{(t)})dZ =Zlogi=1NP(xi,ziθ)i=1NP(zixi,θ(t))dZ

展开后可得:

= ∫ Z [ log ⁡ P ( x 1 , z 1 ∣ θ ) + . . + log ⁡ P ( x i , z i ∣ θ ) ] ⋅ ∏ i = 1 N P ( z i ∣ x i , θ ( t ) ) d Z \quad=\int_Z [ \log P(x_1,z_1|\theta)+..+\log P(x_i,z_i|\theta)]·\prod_{i=1}^{N}P(z_i|x_i,\theta^{(t)})dZ =Z[logP(x1,z1θ)+..+logP(xi,ziθ)]i=1NP(zixi,θ(t))dZ

为了简化上述公式,我们首先对其中一项式子进行简化:

∫ Z [ log ⁡ P ( x 1 , z 1 ∣ θ ) ] ⋅ ∏ i = 1 N P ( z i ∣ x i , θ ( t ) ) d Z \quad\int_Z [ \log P(x_1,z_1|\theta)]·\prod_{i=1}^{N}P(z_i|x_i,\theta^{(t)})dZ Z[logP(x1,z1θ)]i=1NP(zixi,θ(t))dZ

将Z分解成 Z 1 , Z 2 , . . . , Z N Z_1,Z_2,...,Z_N Z1,Z2,...,ZN

∫ Z 1 , Z 2 , . . . , Z N [ log ⁡ P ( x 1 , z 1 ∣ θ ) ] ⋅ ∏ i = 1 N P ( z i ∣ x i , θ ( t ) ) d Z \quad\int_{Z_1,Z_2,...,Z_N} [ \log P(x_1,z_1|\theta)]·\prod_{i=1}^{N}P(z_i|x_i,\theta^{(t)})dZ Z1,Z2,...,ZN[logP(x1,z1θ)]i=1NP(zixi,θ(t))dZ

= ∫ Z 1 [ log ⁡ P ( x 1 , z 1 ∣ θ ) ] ⋅ P ( z 1 ∣ x 1 , θ ( t ) ) d Z 1 ⋅ ∫ Z 2 P ( z 2 ∣ x 2 , θ ( t ) ) d Z 2 ⏟ = 1 ⋅ . . . ∫ Z N P ( z N ∣ x N , θ ( t ) ) d Z N ⏟ = 1 \quad=\int_{Z_1} [ \log P(x_1,z_1|\theta)]·P(z_1|x_1,\theta^{(t)})dZ_1·\underbrace{\int_{Z_2}P(z_2|x_2,\theta^{(t)}) dZ_2}_{=1}·...\underbrace{\int_{Z_N}P(z_N|x_N,\theta^{(t)}) dZ_N}_{=1} =Z1[logP(x1,z1θ)]P(z1x1,θ(t))dZ1=1 Z2P(z2x2,θ(t))dZ2...=1 ZNP(zNxN,θ(t))dZN

= ∫ Z 1 [ log ⁡ P ( x 1 , z 1 ∣ θ ) ] ⋅ P ( z 1 ∣ x 1 , θ ( t ) ) d Z 1 \quad=\int_{Z_1} [ \log P(x_1,z_1|\theta)]·P(z_1|x_1,\theta^{(t)})dZ_1 =Z1[logP(x1,z1θ)]P(z1x1,θ(t))dZ1

因为Z为离散型变量,故积分可转换成如下:

= ∑ Z 1 [ log ⁡ P ( x 1 , z 1 ∣ θ ) ] ⋅ P ( z 1 ∣ x 1 , θ ( t ) ) \quad=\sum_{Z_1} [ \log P(x_1,z_1|\theta)]·P(z_1|x_1,\theta^{(t)}) =Z1[logP(x1,z1θ)]P(z1x1,θ(t))

所以:

Q ( θ , θ ( t ) ) = ∑ Z 1 [ log ⁡ P ( x 1 , z 1 ∣ θ ) ] ⋅ P ( z 1 ∣ x 1 , θ ( t ) ) + . . . + ∑ Z N [ log ⁡ P ( x N , z N ∣ θ ) ] ⋅ P ( z N ∣ x N , θ ( t ) ) Q(\theta,\theta^{(t)})=\sum_{Z_1} [ \log P(x_1,z_1|\theta)]·P(z_1|x_1,\theta^{(t)})+...+\sum_{Z_N} [ \log P(x_N,z_N|\theta)]·P(z_N|x_N,\theta^{(t)}) Q(θ,θ(t))=Z1[logP(x1,z1θ)]P(z1x1,θ(t))+...+ZN[logP(xN,zNθ)]P(zNxN,θ(t))

整理上式公式可得:

Q ( θ , θ ( t ) ) = ∑ i = 1 N ∑ Z i [ log ⁡ P ( x i , z i ∣ θ ) ] ⋅ P ( z i ∣ x i , θ ( t ) ) (10) Q(\theta,\theta^{(t)})=\sum_{i=1}^{N}\sum_{Z_i} [ \log P(x_i,z_i|\theta)]·P(z_i|x_i,\theta^{(t)})\tag{10} Q(θ,θ(t))=i=1NZi[logP(xi,ziθ)]P(zixi,θ(t))(10)

那么我们接下来的步骤是将高斯混合模型嵌入到上式EM算法中。即将上述公式的 log ⁡ P ( x i , z i ∣ θ ) 和 P ( z i ∣ x i , θ ( t ) ) \log P(x_i,z_i|\theta)和P(z_i|x_i,\theta^{(t)}) logP(xi,ziθ)P(zixi,θ(t))用高斯混合模型的相关概率进行表示即可

3.2 EM算法(E-Step-高斯混合模型代入)

对于高斯混合模型来说:我们定义如下参数:

  • X:observed data 观测数据 X = ( x 1 , x 2 , . . . , x N ) X=(x_1,x_2,...,x_N) X=(x1,x2,...,xN)
  • Z:latent data 隐变量 Z = ( z 1 , z 2 , . . . , z N ) Z=(z_1,z_2,...,z_N) Z=(z1,z2,...,zN)
  • (X,Z):complete data 完整数据 ( X , Z ) = { ( x 1 , z 1 ) , ( x 2 , z 2 ) , . . . , ( x N , z N ) , } (X,Z)=\{(x_1,z_1),(x_2,z_2),...,(x_N,z_N),\} (X,Z)={(x1,z1),(x2,z2),...,(xN,zN),}
  • θ : p a r a m e t e r 参 数 : θ = { P 1 , P 2 , . . . , P k , μ 1 , μ 2 , . . . , μ k , Σ 1 , Σ 2 , . . . , Σ k } \theta:parameter 参数:\theta=\{P_1,P_2,...,P_k,\mu_1,\mu_2,...,\mu_k,\Sigma_1,\Sigma_2,...,\Sigma_k\} θ:parameter:θ={P1,P2,...,Pk,μ1,μ2,...,μk,Σ1,Σ2,...,Σk}

我们在上面已经得出如下结论:
P ( X ) = ∑ k = 1 K P k ⋅ N ( x i ∣ μ k , Σ k ) (11) P(X)=\sum_{k=1}^{K}P_k·N(x_i|\mu_k,\Sigma_k)\tag {11} P(X)=k=1KPkN(xiμk,Σk)(11)
又由于贝叶斯公式 { P ( X , Z ) = P ( Z ) ⋅ P ( X ∣ Z ) } \{P(X,Z)=P(Z)·P(X|Z)\} {P(X,Z)=P(Z)P(XZ)},且: P ( Z ) = P z ; P ( X ∣ Z ) = N ( X ∣ μ z , Σ k ) P(Z)=P_z;P(X|Z)=N(X|\mu_z,\Sigma_k) P(Z)=Pz;P(XZ)=N(Xμz,Σk)故:
P ( X , Z ) = P Z ⋅ N ( X ∣ μ z , Σ k ) (12) P(X,Z)=P_Z·N(X|\mu_z,\Sigma_k)\tag {12} P(X,Z)=PZN(Xμz,Σk)(12)
因 为 贝 叶 斯 公 式 可 得 : P ( Z ∣ X ) = P ( X , Z ) / P ( X ) , 代 入 上 式 可 得 : 因为贝叶斯公式可得: P(Z|X)=P(X,Z)/P(X),代入上式可得: P(ZX)=P(X,Z)/P(X)
P ( Z ∣ X , θ ( t ) ) = P ( X , Z , θ ( t ) ) P ( X , θ ( t ) ) = ⋅ P Z i θ ( t ) ⋅ N ( x i ∣ μ Z i θ ( t ) , Σ Z i θ ( t ) ) ∑ k = 1 K P k θ ( t ) ⋅ N ( x i ∣ μ k θ ( t ) , Σ k θ ( t ) ) (13) P(Z|X,\theta^{(t)})=\frac{P(X,Z,\theta^{(t)})}{P(X,\theta^{(t)})}=·\frac{P_{Z_i}^{\theta^{(t)}}·N(x_i|\mu_{Z_i}^{\theta^{(t)}},\Sigma_{Z_i}^{\theta^{(t)}})}{\sum_{k=1}^{K}P_k^{\theta^{(t)}}·N(x_i|\mu_k^{\theta^{(t)}},\Sigma_k^{\theta^{(t)}})}\tag {13} P(ZX,θ(t))=P(X,θ(t))P(X,Z,θ(t))=k=1KPkθ(t)N(xiμkθ(t),Σkθ(t))PZiθ(t)N(xiμZiθ(t),ΣZiθ(t))(13)
将此时算出来的 P ( Z ∣ X ) 和 P ( X , Z ) 代 入 到 之 前 公 式 Q ( θ , θ ( t ) ) 中 可 得 : P(Z|X)和P(X,Z)代入到之前公式Q(\theta,\theta^{(t)})中可得: P(ZX)P(X,Z)Q(θ,θ(t))
Q ( θ , θ ( t ) ) = ∑ i = 1 N ∑ Z i log ⁡ [ P Z i ⋅ N ( x i ∣ μ z , Σ k ) ] ⋅ P Z i θ ( t ) ⋅ N ( x i ∣ μ Z i θ ( t ) , Σ Z i θ ( t ) ) ∑ k = 1 K P k θ ( t ) ⋅ N ( x i ∣ μ k θ ( t ) , Σ k θ ( t ) ) (14) Q(\theta,\theta^{(t)})=\sum_{i=1}^{N}\sum_{Z_i} \log [P_{Z_i}·N(x_i|\mu_z,\Sigma_k)]·\frac{P_{Z_i}^{\theta^{(t)}}·N(x_i|\mu_{Z_i}^{\theta^{(t)}},\Sigma_{Z_i}^{\theta^{(t)}})}{\sum_{k=1}^{K}P_k^{\theta^{(t)}}·N(x_i|\mu_k^{\theta^{(t)}},\Sigma_k^{\theta^{(t)}})}\tag{14} Q(θ,θ(t))=i=1NZilog[PZiN(xiμz,Σk)]k=1KPkθ(t)N(xiμkθ(t),Σkθ(t))PZiθ(t)N(xiμZiθ(t),ΣZiθ(t))(14)

3.2 EM算法(M-Step)

我们已经求得了EM算法中的E-Step 得到 Q ( θ , θ ( t ) ) Q(\theta,\theta^{(t)}) Q(θ,θ(t)),现在只要求最大值即可:
θ ( t + 1 ) = arg ⁡ max ⁡ θ E Z ∼ { Z ∣ X , θ ( t ) } log ⁡ P ( X , Z ∣ θ ) = arg ⁡ max ⁡ θ Q ( θ , θ ( t ) ) (15) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\mathbb{E}_{Z\sim \{Z|X,\theta^{(t)}\}}\log P(X,Z|\theta)=\mathop{\arg\max}\limits_{\theta}Q(\theta,\theta^{(t)})\tag{15} θ(t+1)=θargmaxEZ{ZX,θ(t)}logP(X,Zθ)=θargmaxQ(θ,θ(t))(15)
整理上式可得:
θ ( t + 1 ) = arg ⁡ max ⁡ θ ∑ i = 1 N ∑ Z i log ⁡ [ P Z i ⋅ N ( x i ∣ μ z , Σ k ) ] ⋅ P Z i θ ( t ) ⋅ N ( x i ∣ μ Z i θ ( t ) , Σ Z i θ ( t ) ) ∑ k = 1 K P k θ ( t ) ⋅ N ( x i ∣ μ k θ ( t ) , Σ k θ ( t ) ) ⏟ P ( Z i ∣ X i , θ ( t ) ) (16) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\sum_{i=1}^{N}\sum_{Z_i} \log [P_{Z_i}·N(x_i|\mu_z,\Sigma_k)]·\underbrace{\frac{P_{Z_i}^{\theta^{(t)}}·N(x_i|\mu_{Z_i}^{\theta^{(t)}},\Sigma_{Z_i}^{\theta^{(t)}})}{\sum_{k=1}^{K}P_k^{\theta^{(t)}}·N(x_i|\mu_k^{\theta^{(t)}},\Sigma_k^{\theta^{(t)}})}}_{P(Z_i|X_i,\theta^{(t)})}\tag{16} θ(t+1)=θargmaxi=1NZilog[PZiN(xiμz,Σk)]P(ZiXi,θ(t)) k=1KPkθ(t)N(xiμkθ(t),Σkθ(t))PZiθ(t)N(xiμZiθ(t),ΣZiθ(t))(16)
θ ( t + 1 ) = arg ⁡ max ⁡ θ ∑ i = 1 N ∑ Z i log ⁡ [ P Z i ⋅ N ( x i ∣ μ z , Σ k ) ] ⋅ P ( Z i ∣ X i , θ ( t ) ) (17) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\sum_{i=1}^{N}\sum_{Z_i} \log [P_{Z_i}·N(x_i|\mu_z,\Sigma_k)]·{P(Z_i|X_i,\theta^{(t)})}\tag{17} θ(t+1)=θargmaxi=1NZilog[PZiN(xiμz,Σk)]P(ZiXi,θ(t))(17)
求和符号交换位置
= arg ⁡ max ⁡ θ ∑ Z i ∑ i = 1 N log ⁡ [ P Z i ⋅ N ( x i ∣ μ z , Σ k ) ] ⋅ P ( Z i ∣ X i , θ ( t ) ) (18) =\mathop{\arg\max}\limits_{\theta}\sum_{Z_i}\sum_{i=1}^{N} \log [P_{Z_i}·N(x_i|\mu_z,\Sigma_k)]·{P(Z_i|X_i,\theta^{(t)})} \tag{18} =θargmaxZii=1Nlog[PZiN(xiμz,Σk)]P(ZiXi,θ(t))(18)
∑ Z i 分 解 \sum_{Z_i}分解 Zi
θ ( t + 1 ) = arg ⁡ max ⁡ θ ∑ k = 1 K ∑ i = 1 N log ⁡ [ P k ⋅ N ( x i ∣ μ z , Σ k ) ] ⋅ P ( Z i = C k ∣ X i , θ ( t ) ) (19) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\sum_{k=1}^K\sum_{i=1}^{N} \log [P_{k}·N(x_i|\mu_z,\Sigma_k)]·{P(Z_i=C_k|X_i,\theta^{(t)})} \tag{19} θ(t+1)=θargmaxk=1Ki=1Nlog[PkN(xiμz,Σk)]P(Zi=CkXi,θ(t))(19)
θ ( t + 1 ) = arg ⁡ max ⁡ θ ∑ k = 1 K ∑ i = 1 N [ log ⁡ P k + log ⁡ N ( x i ∣ μ z , Σ k ) ] ⋅ P ( Z i = C k ∣ X i , θ ( t ) ) (20) \theta^{(t+1)}=\mathop{\arg\max}\limits_{\theta}\sum_{k=1}^K\sum_{i=1}^{N} [\log P_{k}+\log N(x_i|\mu_z,\Sigma_k)]·{P(Z_i=C_k|X_i,\theta^{(t)})} \tag{20} θ(t+1)=θargmaxk=1Ki=1N[logPk+logN(xiμz,Σk)]P(Zi=CkXi,θ(t))(20)
我们求解的方式是通过不断地迭代求解相关参数:
θ ( t + 1 ) = { P 1 ( t + 1 ) , P 2 ( t + 1 ) , . . . , P k ( t + 1 ) , μ 1 ( t + 1 ) , μ 2 ( t + 1 ) , . . . , μ k ( t + 1 ) , Σ 1 ( t + 1 ) , Σ 2 ( t + 1 ) , . . . , Σ k ( t + 1 ) } (21) \theta^{(t+1)}=\{P_1^{(t+1)},P_2^{(t+1)},...,P_k^{(t+1)},\mu_1^{(t+1)},\mu_2^{(t+1)},...,\mu_k^{(t+1)},\Sigma_1^{(t+1)},\Sigma_2^{(t+1)},...,\Sigma_k^{(t+1)}\}\tag{21} θ(t+1)={P1(t+1),P2(t+1),...,Pk(t+1),μ1(t+1),μ2(t+1),...,μk(t+1),Σ1(t+1),Σ2(t+1),...,Σk(t+1)}(21)
对于公式(20)来说,当我们求解 P k ( t + 1 ) P_k^{(t+1)} Pk(t+1)时,我们可以把 log ⁡ N ( x i ∣ μ z , Σ k ) \log N(x_i|\mu_z,\Sigma_k) logN(xiμz,Σk)看作无关项,可以忽略它。
P k ( t + 1 ) = arg ⁡ max ⁡ P k ∑ k = 1 K ∑ i = 1 N [ log ⁡ P k ] ⋅ P ( Z i = C k ∣ X i , θ ( t ) ) (22) P_k^{(t+1)}=\mathop{\arg\max}\limits_{P_k}\sum_{k=1}^K\sum_{i=1}^{N} [\log P_{k}]·{P(Z_i=C_k|X_i,\theta^{(t)})} \tag{22} Pk(t+1)=Pkargmaxk=1Ki=1N[logPk]P(Zi=CkXi,θ(t))(22)
s . t : ∑ k = 1 K P k = 1 (22) s.t: \sum_{k=1}^K P_k=1\tag{22} s.tk=1KPk=1(22)
将上述带约束的最值问题转换成拉格朗日函数:
P ( L , λ ) = ∑ k = 1 K ∑ i = 1 N [ log ⁡ P k ] ⋅ P ( Z i = C k ∣ X i , θ ( t ) ) + λ ( ∑ k = 1 K P k − 1 ) (23) P(L,\lambda)=\sum_{k=1}^K\sum_{i=1}^{N} [\log P_{k}]·{P(Z_i=C_k|X_i,\theta^{(t)})}+\lambda( \sum_{k=1}^K P_k-1)\tag{23} P(L,λ)=k=1Ki=1N[logPk]P(Zi=CkXi,θ(t))+λ(k=1KPk1)(23)
∂ P ( L , λ ) ∂ P k = ∑ i = 1 N 1 P k ⋅ P ( Z i = C k ∣ X i , θ ( t ) ) + λ = 0 (24) \frac{\partial P(L,\lambda)}{\partial P_k}=\sum_{i=1}^{N}\frac{1}{P_k}·{P(Z_i=C_k|X_i,\theta^{(t)})}+\lambda=0\tag{24} PkP(L,λ)=i=1NPk1P(Zi=CkXi,θ(t))+λ=0(24)
∑ i = 1 N P ( Z i = C k ∣ X i , θ ( t ) ) + λ P k = 0 (25) \sum_{i=1}^{N}{P(Z_i=C_k|X_i,\theta^{(t)})}+\lambda P_k=0\tag{25} i=1NP(Zi=CkXi,θ(t))+λPk=0(25)
将 k=1,2,…K组成的等式进行求和可得:
∑ i = 1 N ∑ i = 1 K P ( Z i = C k ∣ X i , θ ( t ) ) ⏟ = 1 + λ ∑ i = 1 K P k ⏟ = 1 = 0 (26) \sum_{i=1}^{N}\underbrace{\sum_{i=1}^{K}{P(Z_i=C_k|X_i,\theta^{(t)})}}_{=1}+\lambda\underbrace{\sum_{i=1}^{K} P_k}_{=1}=0\tag{26} i=1N=1 i=1KP(Zi=CkXi,θ(t))+λ=1 i=1KPk=0(26)
N + λ = 0 → λ = − N (27) N+\lambda=0\rightarrow \lambda=-N\tag{27} N+λ=0λ=N(27)
将求得的 λ \lambda λ代入到公式25中可得:
∑ i = 1 N P ( Z i = C k ∣ X i , θ ( t ) ) − N P k = 0 (28) \sum_{i=1}^{N}{P(Z_i=C_k|X_i,\theta^{(t)})}-N P_k=0\tag{28} i=1NP(Zi=CkXi,θ(t))NPk=0(28)
P k ( t + 1 ) = 1 N ∑ i = 1 N P ( Z i = C k ∣ X i , θ ( t ) ) (29) P_k^{(t+1)}=\frac{1}{N}\sum_{i=1}^{N}{P(Z_i=C_k|X_i,\theta^{(t)})}\tag{29} Pk(t+1)=N1i=1NP(Zi=CkXi,θ(t))(29)
所以我们能估算参数:
P k ( t + 1 ) = { P 1 ( t + 1 ) , P 2 ( t + 1 ) , . . . , P K ( t + 1 ) } (30) P_k^{(t+1)}=\{P_1^{(t+1)},P_2^{(t+1)},...,P_K^{(t+1)}\}\tag{30} Pk(t+1)={P1(t+1),P2(t+1),...,PK(t+1)}(30)
同理,我们只需要按照上述方式即可求得其他参数的估计值;后面再补充吧。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值