1 引言
高斯混合模型(Gaussian Mixture Model, GMM)是单一高斯概率密度函数的延伸,GMM能够平滑地近似任意形状的密度分布。学习高斯混合模型主要是因为在学习生成模VAE的过程中有许多不理解的地方,经过学习发现很多前置知识都是来源于高斯混合模型和EM算法,因此需要掌握高斯混合模型和EM算法。
本文内容多有参考他人博客的地方并在参考文献中一并给出链接。
2 高斯混合模型
2.1 高斯分布
高斯分布有时也被成为正态分布,是一种自然界大量存在的,最为常见的分布形式。高斯分布的概率密度函数公式如下:
f
(
x
)
=
1
2
π
σ
exp
(
−
(
x
−
μ
)
2
2
σ
2
)
f(x)=\frac{1}{\sqrt{2 \pi} \sigma} \exp \left(-\frac{(x-\mu)^{2}}{2 \sigma^{2}}\right)
f(x)=2πσ1exp(−2σ2(x−μ)2)
其中
μ
\mu
μ表示均值,
σ
\sigma
σ表示标准差,均值对应正态分布的中间位置。正态分布意思是95%的数据分布在均值周围2个标准差的范围内。上面公式在一定参数的情况下,输入变量
x
x
x,可以获得对应的概率密度。在使用之前需要对概率分布进行归一化,即曲线下面的面积之和为1,这样才能确保返回的概率密度在允许的取值范围内。
2.2 高斯混合模型
混合模型是一个可以用来表示在总体分布中含有K个子分布的概率模型。换言之概率模型表示了观测数据在总体中的概率分布,它是由K个子分部组成的混合分布。混合模型不要求观测数据提供关于子分部的信息,来计算观测数据在总体分布中的概率。
而高斯混合模型可以看作是由
K
K
K个单高斯模型组合而成的模型,这
K
K
K个子模型是混合模型的隐变量(Hidden variable)。一般来说,一个混合模型可以使用任何概率分布,这里使用高斯混合模型是因为高斯分布具备很好的数学性质以及良好的计算性能。
以上面的图为例,红色曲线为整个数据的高斯混合分布,蓝色曲线为组成红色曲线的单个高斯模型分布。我们现在来定义混合高斯模型的概率密度函数:
- 有 m m m个相互独立的样本 { x 1 , x 2 , … , x m } \{x_1, x_2,\dots ,x_m \} {x1,x2,…,xm}
- K K K是混合模型中子高斯模型的数量,假设模型中有 { z 1 , z 2 , … , z k } \{z_1, z_2,\dots,z_k\} {z1,z2,…,zk}个子模型
- P ( z ) P(z) P(z)表示观测数据属于第 z z z个子模型的概率, P ( z ) ≥ 0 P(z)\geq0 P(z)≥0且 ∑ 1 K P ( z ) = 1 \sum_1^KP(z)=1 ∑1KP(z)=1
- P ( x ∣ z ) P(x|z) P(x∣z)表示在 z z z个子模型中样本 x x x的分布,参数 θ = ( μ z , σ z 2 ) \theta=(\mu_z, \sigma_z^2) θ=(μz,σz2)
所以混合模型的分布为:
P
(
x
)
=
∑
1
K
P
(
z
)
P
(
x
∣
z
)
P(x) = \sum_1^K P(z)P(x|z)
P(x)=1∑KP(z)P(x∣z)
3 高斯混合模型的求解
4 参考文献
[1]白板机器学习推导-高斯混合模型
[2]机器学习-白板推导系列(十一)高斯混合模型GMM(Gaussian Mixture Model)笔记
[3]机器学习 高斯混合模型
[4]什么是极大似然估计?