高斯混合模型(GMM)推导

数据表示如下:

X X X:观测数据, X = { x 1 , x 2 , . . . , x N } X=\{x_1,x_2,...,x_N\} X={x1,x2,...,xN}

( X , Z ) (X,Z) (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)}

θ \theta θ:参数, θ = { P 1 , . . . , P k , μ 1 , . . . , μ k , Σ 1 , . . . , Σ k } \theta=\{P_1,...,P_k,\mu_1,...,\mu_k,\Sigma_1,...,\Sigma_k\} θ={P1,...,Pk,μ1,...,μk,Σ1,...,Σk},其中 P k P_k Pk表示第k个高斯分布的权重/概率, μ k \mu_k μk表示第k个高斯分布的均值, Σ k \Sigma_k Σk表示第k个高斯分布的协方差矩阵


文章整体思路如下:

  • 第一章从几何角度和混合模型角度两个角度,较为直观地介绍GMM,并介绍了GMM的概率图表示
  • 第二章基于EM算法推导了GMM的三个参数 p j , μ j , Σ j p_j,\mu_j,\Sigma_j pj,μj,Σj 的更新公式,不过详细的求偏导的过程放在第五章附录中,采用微分法进行求导
  • 第三章对GMM进行总结

一、GMM介绍

1.1 几何角度

我们首先从几何角度来看GMM,假设我们现有的数据分布如下图中的 X 所示,可以发现,仅仅使用一个高斯分布很难较好地描述这组数据的分布(任一蓝色曲线),因此,我们可以两个高斯分布进行加权平均得到一个新的分布(红色曲线),可以发现用这个新的分布去描述这组数据的分布是比较合适的,其中每个数据点都有一定的概率属于两个高斯分布中的一个。

在这里插入图片描述

这其实就是GMM了,即GMM只是若干个高斯分布的加权平均(上图中是两个高斯分布)而已,即:

P ( x ) = ∑ k = 1 K α k ⋅ N ( μ k , Σ K ) P(x)=\sum_{k=1}^K\alpha_k·N(\mu_k,\Sigma_K) P(x)=k=1KαkN(μk,ΣK) ∑ k = 1 K α k = 1 \sum_{k=1}^K\alpha_k=1 k=1Kαk=1


1.2 混合模型角度

我们还可以从混合模型的角度来看GMM,如下图所示,两个蓝色的同心圆即表示两个高斯分布,与硬分类不同,我们每个数据点都有属于每个高斯分布的可能性,我们用概率去描述这个可能性,如下图中圈起来的 X 所示,它有 p 1 p_1 p1 的概率属于分布 c 1 c_1 c1,有 p 2 p_2 p2 的概率属于分布 $c_2 , 显 然 , ,显然, p_1>p_2$:

在这里插入图片描述

x x x 表示观测数据; z z z 是我们引入的隐变量,用于表示对应的样本属于哪一个高斯分布。

在GMM中, Z Z Z 是离散型的随机变量。

Z c 1 c_1 c1 c 2 c_2 c2 c N c_N cN
P P 1 P_1 P1 P 2 P_2 P2 P N P_N PN

引入隐变量 Z Z Z 后,有:
在这里插入图片描述


基于MLE估计最佳参数 θ M L E \theta_{MLE} θMLE,有:
在这里插入图片描述

可以发现,无论从哪个角度看,GMM的表达式都是一样的:

  • 几何角度: P ( x ) = ∑ k = 1 K α k ⋅ N ( μ k , Σ K ) P(x)=\sum_{k=1}^K\alpha_k·N(\mu_k,\Sigma_K) P(x)=k=1KαkN(μk,ΣK)
  • 混合模型角度: P ( x ) = ∑ k = 1 K P k ⋅ N ( x ∣ μ k , Σ k ) P(x)=\sum_{k=1}^KP_k·N(x|\mu_k,\Sigma_k) P(x)=k=1KPkN(xμk,Σk)

1.3 GMM的概率图

GMM是最简单的生成模型了,其生成过程分为两步:

  • 决定当前样本 x i x_i xi 服从哪个高斯分布
  • 从所选的高斯分布中进行抽样,生成 x i x_i xi

其概率图如下所示:

在这里插入图片描述



二、GMM的参数更新

在1.2通过MLE估计GMM的参数时,我们得到的结果是:
θ M L E = arg ⁡ max ⁡ θ ∑ i = 1 N log ⁡ ∑ k = 1 K P k ⋅ N ( x ∣ μ k , Σ k ) \theta_{MLE}=\mathop{\arg\max}_{\theta}\sum_{i=1}^N\log\sum_{k=1}^KP_k·N(x|\mu_k,\Sigma_k) θMLE=argmaxθi=1Nlogk=1KPkN(xμk,Σk)
但是,由于对数里面带有连加符号,因此我们没办法通过直接令参数的导数为0,进而求得对应的参数估计值。

现在的问题是,我们引入了隐变量 Z Z Z,想要估计隐变量 Z Z Z,则必须用到参数 p k , μ k , Σ k p_k,\mu_k,\Sigma_k pk,μk,Σk;而想估计参数 p k , μ k , Σ k p_k,\mu_k,\Sigma_k pk,μk,Σk,又必须用到参数 Z Z Z。即我们面对的是先有鸡还是先有蛋的问题。通常面对这种带隐变量的参数估计问题,我们会使用EM算法的思想去解决。


2.1 EM求解GMM:E步

E步主要是计算 complete data 的对数联合概率 log ⁡ P ( x , z ∣ θ ) \log P(x,z|\theta) logP(x,zθ) 在后验概率 P ( z ∣ x , θ t ) P(z|x,\theta^t) P(zx,θt) 分布下的期望,我们将期望记作 Q ( θ , θ t ) Q(\theta,\theta^t) Q(θ,θt),下面来化简这个期望值:

在这里插入图片描述

2.2 EM求解GMM:M步

M步的目标是通过令期望 Q ( θ , θ t ) Q(\theta,\theta^t) Q(θ,θt) 最大,从而随着迭代,逐渐找到最佳的估计参数 θ \theta θ,在GMM中,待估计的参数 θ \theta θ 包括 p k , μ k , Σ k p_k,\mu_k,\Sigma_k pk,μk,Σk,我们一个个来,注意求解 $p_k $ 的时候,是带有约束条件的:

2.2.1 求解 p j p_j pj

在这里插入图片描述

2.2.2 求解 μ j \mu_j μj

由于篇幅的原因,具体求导过程放在最后的附录:

在这里插入图片描述


2.2.3 求解 Σ j \Sigma_j Σj

由于篇幅的原因,具体求导过程放在最后的附录:

在这里插入图片描述


2.3 总结

至此,我们已经通过EM算法推导出了GMM参数的更新公式:

在这里插入图片描述



三、GMM总结

  • GMM克服了单个高斯分布描述能力不足的问题,采用多个高斯分布描述一组数据的分布:通过引入隐变量Z,描述某个样本点属于哪一个高斯分布。

  • 引入隐变量后,参数估计问题变成了含隐变量的参数估计问题,采用EM算法求解。



四、参考资料



五、附录

采用微分法求解标量/向量的导数

5.1 求解 u j u_j uj的偏导

在这里插入图片描述


5.2 求解 Σ j \Sigma_j Σj的偏导

在这里插入图片描述

高斯混合模型(Gaussian Mixture Model,简称GMM)是一种常用的概率模型,用于对复杂数据进行建模和聚类。下面是高斯混合模型推导公式: 假设我们有一个包含N个样本的数据集X={x1, x2, ..., xn},每个样本都是一个D维向量。高斯混合模型假设这些样本是由K个高斯分布组成的,每个高斯分布都有自己的均值μk和协方差矩阵Σk。 首先,我们需要定义每个样本属于某个高斯分布的概率。这个概率可以通过计算每个样本在每个高斯分布下的概率,并进行归一化得到。具体地,对于第i个样本xi,它属于第k个高斯分布的概率可以通过以下公式计算: P(xi|k) = N(xi|μk, Σk) 其中,N(xi|μk, Σk)表示多元高斯分布的概率密度函数,μk和Σk分别是第k个高斯分布的均值和协方差矩阵。 接下来,我们需要定义每个样本属于每个高斯分布的权重。这个权重表示了每个高斯分布在整个数据集中的重要性。我们可以使用一个K维向量π来表示这些权重,其中πk表示第k个高斯分布的权重。这些权重需要满足以下条件: ∑πk = 1 最后,我们可以通过将每个样本属于每个高斯分布的概率乘以对应的权重,并对所有高斯分布求和,得到每个样本属于整个高斯混合模型的概率。具体地,对于第i个样本xi,它属于整个高斯混合模型的概率可以通过以下公式计算: P(xi) = ∑(P(xi|k) * πk) 这样,我们就得到了高斯混合模型推导公式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值