混合高斯模型(Gaussian Mixture Model)及其参数计算方法

高斯分布

  高斯分布(Gaussian Distribution)又称正态分布(Normal Distribution),因其具有良好的数学和计算性质,被广泛应用于各个领域。
    根据棣莫弗中心极限定理,一组具有有限均值方差的独立同分布的随机变量之和,近似服从正态分布。这个定理奠定了自然界中的各种现象,必定和正态分布有着密不可分的关系。

一维高斯分布

  设一维随机变量 X X X服从均值为 μ \mu μ,方差为 σ 2 \sigma^{2} σ2的正态分布,记为 X ∼ N ( μ , σ 2 ) X \sim N(\mu, \sigma^{2}) XN(μ,σ2)
其概率密度函数(PDF)为:
ϕ ( x ; μ , σ ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 \begin{equation} \phi(x;\mu,\sigma)=\frac{1}{\sqrt{2\pi}\sigma} e^{\displaystyle -\frac{(x-\mu)^{2}}{2\sigma^{2}}} \end{equation} ϕ(x;μ,σ)=2π σ1e2σ2(xμ)2
   高斯分布的概率密度函数呈现出在均值处高、两边低的形状,因此又被称为钟形分布

多维高斯分布

   多维高斯分布的每一个维度都是一个正态分布,它们不一定互相独立,下图是一个二维正态分布[1]的概率密度函数图像:
请添加图片描述
具有协方差矩阵 Σ \Sigma Σ N N N维正态分布,可记为 N ( μ , Σ ) N(\mu,\Sigma) N(μ,Σ),其中:
μ \mu μ 代表均值向量
Σ \Sigma Σ 代表协方差矩阵

其概率密度表达式为:
ϕ ( x ; μ , Σ ) = 1 ( 2 π ) N 2 ∣ Σ ∣ 1 2 e − ( x − μ ) T Σ − 1 ( x − μ ) 2 \begin{equation} \phi(x;\mu,\Sigma)=\frac{1}{(2\pi)^{\frac{N}{2}} |\Sigma|^{\frac{1}{2}}} e^{\displaystyle -\frac{(x-\mu)^{T}\Sigma^{-1}(x-\mu)}{2}} \end{equation} ϕ(x;μ,Σ)=(2π)2N∣Σ211e2(xμ)TΣ1(xμ)

混合高斯模型(GMM)

  对于一组呈多峰分布的数据或非椭圆分布族,难以用一个正态分布进行建模,因此需要使用混合模型对其进行建模。

混合高斯模型概率分布

p ( x ; θ ) = ∑ k = 1 K α k ϕ ( x ; θ k )         , ∑ k = 1 K α k = 1 \begin{equation} p(x;\theta)=\sum_{k=1}^{K}\alpha_{k}\phi(x;\theta_{k}) \ \ \ \ \ \ \ ,\sum_{k=1}^{K}\alpha_{k}=1 \end{equation} p(x;θ)=k=1Kαkϕ(x;θk)       ,k=1Kαk=1
其中[2]
α k \alpha_{k} αk 代表第 k k k个子模型在总体中出现的概率
K K K 代表一共有 K K K个子模型
θ \theta θ 代表GMM中各个子模型的参数集合
θ k \theta_{k} θk 代表第 k k k个子模型的参数

  可以看到,GMM并不是多个服从正态分布的随机变量的和,而是多个服从正态分布的随机变量的概率密度的加权和。并且容易证明,对 ( 3 ) (3) (3)式进行反常积分,结果还是1。
  从式子中也可以很直观地想象出GMM密度函数的图像是包含多个正态峰的曲线。

参数估计

对于给定的大量样本集合,可以使用极大似然估计求出其各个子模型的均值和方差
对于 N N N个独立同分布的样本,以及给定的超参数K,该分布参数的似然函数为:
L ( θ ) = l n ∏ i = 1 N p ( x i ; θ ) = ∑ i = 1 N ( l n ∑ k = 1 K α k ϕ k ( x i ; θ k ) ) \begin{equation} \begin{split} L(\theta)&=ln\prod_{i=1}^{N} p(x_{i};\theta) \\ &= \sum_{i=1}^{N}(ln \sum_{k=1}^{K}\alpha_{k}\phi_{k}(x_{i};\theta_{k})) \end{split} \end{equation} L(θ)=lni=1Np(xi;θ)=i=1N(lnk=1Kαkϕk(xi;θk))
求解这个似然函数的极大值非常困难,但是可以使用EM算法进行迭代求解

EM算法求解参数

p i k p_{ik} pik代表给定第 i i i个样本的值,其在第 k k k个子模型中的概率,即 P ( K = k ∣ X = x i ) P(K=k|X=x_{i}) P(K=kX=xi)
迭代法算法如下:

  1. 初始化 θ k \theta_{k} θk
  2. 计算 p i k p_{ik} pik
    p i k = α k ϕ k ( x i ∣ θ k ) ∑ k = 1 K α k ϕ k ( x i ∣ θ k ) p_{ik}=\frac{\alpha_{k} \phi_{k}(x_{i}|\theta_{k})}{\sum_{k=1}^{K}\alpha_{k} \phi_{k}(x_{i}|\theta_{k})} pik=k=1Kαkϕk(xiθk)αkϕk(xiθk)
  3. 计算 μ k \mu_{k} μk
    μ k = ∑ i = 1 N p i k x i ∑ i = 1 N p i k \mu_{k}=\frac{\sum_{i=1}^{N}p_{ik}x_{i}}{\sum_{i=1}^{N}p_{ik}} μk=i=1Npiki=1Npikxi
  4. 计算 σ k \sigma_{k} σk
    σ k = ∑ i = 1 N p i k ( x i − μ k ) ( x i − μ k ) T ∑ i = 1 N p i k \sigma_{k}=\frac{\sum_{i=1}^{N}p_{ik}(x_{i}-\mu_{k})(x_{i}-\mu_{k})^{T}}{\sum_{i=1}^{N}p_{ik}} σk=i=1Npiki=1Npik(xiμk)(xiμk)T
  5. 计算下一次迭代的 α k \alpha_{k} αk,若 ∣ ∣ θ i − θ i + 1 ∣ ∣ < ε ||\theta_{i}-\theta_{i+1}||<\varepsilon ∣∣θiθi+1∣∣<ε,终止迭代;否则,转第2步
    α k = ∑ i = 1 N p i k N \alpha_{k}=\frac{\sum_{i=1}^{N}p_{ik}}{N} αk=Ni=1Npik

  为了保证迭代不会使极大似然函数陷入局部极大值,可以多次赋予初始值进行迭代,并取使极大似然函数最大的一组迭代结果。

参考文献

[1] https://baike.baidu.com/item/二维正态分布/2951835
[2] https://zhuanlan.zhihu.com/p/30483076

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值