文章目录
- 11 GMM——高斯混合模型
- 11.1 模型介绍
- 11.2 通过MLE估计参数
- 11.3 EM求解
11 GMM——高斯混合模型
11.1 模型介绍
从几何角度来说:
-
高斯混合模型表示:加权平均——由多个高斯分布混合叠加而成,如图
-
公式可以表达为:
p ( x ) = ∑ i = 1 K α i ⋅ N ( x ∣ μ i , Σ i ) , ∑ i = 1 K α i = 1 p(x) = \sum_{i=1}^K \alpha_i \cdot N(x|\mu_i, \Sigma_i), \quad \sum_{i=1}^K \alpha_i = 1 p(x)=i=1∑Kαi⋅N(x∣μi,Σi),i=1∑Kαi=1
若从混合模型的角度来说:
-
数据可以表示为:
{ x : X = { x i } i = 1 N z : Z = { z i } i = 1 N { z ∈ { C 1 , C 2 , … , C K } P ( z ) ∈ { p 1 , p 2 , … , p K } \begin{cases} x: X = {\lbrace x_i \rbrace}_{i=1}^{N} \\ z: Z = {\lbrace z_i \rbrace}_{i=1}^{N} \\ \end{cases} \qquad \begin{cases} z \in {\lbrace C_1, C_2, \dots, C_K \rbrace} \\ P(z) \in {\lbrace p_1, p_2, \dots, p_K \rbrace} \\ \end{cases} {x:X={xi}i=1Nz:Z={zi}i=1N{z∈{C1,C2,…,CK}P(z)∈{p1,p2,…,pK} -
其中 x x x表示ovserve variable, z z z表示latent variable
-
这里的隐变量 z z z表示样本X分别属于哪一个高斯
从概率图的角度看,GMM是概率生成模型,可以从隐变量的分布中生成N个数据,如下图:
11.2 通过MLE估计参数
首先简单的导出一下GMM的公式(核心思想就是引入 z z z):
P ( x ) = ∑ i = 1 K P ( x , z = C i ) = ∑ i = 1 K P ( x , z = C i ) = ∑ i = 1 K P ( z = C i ) P ( x ∣ z = C i ) = ∑ i = 1 K p i ⋅ N ( x ∣ μ i , Σ i ) P(x) = \sum_{i=1}^K P(x, z = C_i) = \sum_{i=1}^K P(x, z = C_i) = \sum_{i=1}^K P(z=C_i)P(x|z = C_i )= \sum_{i=1}^K p_i \cdot N(x|\mu_i, \Sigma_i) P(x)=i=1∑KP(x,z=Ci)=i=1∑KP(x,z=Ci)=i=1∑KP(z=Ci)P(x∣z=Ci)=i=1∑Kpi⋅N(x∣μi,Σi)
假设我们直接用MLE去进行参数求解,有:
θ ^ M L E = a r g max θ log P ( X ) = a r g max θ ∑ i = 1 N log P ( x i ) = a r g max θ ∑ i = 1 N log ∑ j = 1 K p j ⋅ N ( x i ∣ μ j , Σ j ) \begin{align} {\hat \theta}_{MLE} & = arg\max_{\theta} \log P(X) \\ & = arg\max_\theta \sum_{i=1}^N \log P(x_i) \\ & = arg\max_\theta \sum_{i=1}^N \log \sum_{j=1}^K p_j \cdot N(x_i|\mu_j, \Sigma_j) \end{align} θ^MLE=argθmaxlogP(X)=argθmaxi=1∑NlogP(xi)=argθmaxi=1∑Nlogj=1∑Kpj⋅N(xi∣μj,Σj)
我们发现公式中的对数还嵌套了累加运算,导致无法通过MLE求的解析解。
11.3 EM求解
由于无法求的解析解,我们只能通过近似方法求的近似解,通过GMM的性质,我们可以代入EM公式: