单高斯模型SGM & 高斯混合模型GMM

2021-12-14  本文已影响0人  柠檬有点萌

一、正态分布

在了解高斯混合模型之前,我们先来看看什么是高斯分布,高斯分布大家应该都比较熟悉了,就是我们平时所说的正态分布,也叫高斯分布。正态分布是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。

正态分布的特点
集中性:正态曲线的高峰位于正中央,即均数所在的位置。
对称性:正态曲线以均数为中心,左右对称,曲线两端永远不与横轴相交。
均匀变动性:正态曲线由均数所在处开始,分别向左右两侧逐渐均匀下降。

若随机变量X服从一个数学期望为μ、方差为σ^{2}的正态分布,记为X \sim N(μ,σ^{2})。其中期望值μ决定了其位置,标准差σ决定了分布的幅度。当μ = 0,σ = 1时,正态分布是标准正态分布。

正态分布四个不同参数集的概率密度函数(红色线代表标准正态分布)

正态分布有极其广泛的实际背景,生产与科学实验中很多随机变量的概率分布都可以近似地用正态分布来描述。例如,在生产条件不变的情况下,产品的强力、抗压强度、口径、长度等指标;同一种生物体的身长、体重等指标;同一种种子的重量;测量同一物体的误差;弹着点沿某一方向的偏差;某个地区的年降水量;以及理想气体分子的速度分量,等等。一般来说,如果一个量是由许多微小的独立随机因素影响的结果,那么就可以认为这个量具有正态分布(见中心极限定理)。从理论上看,正态分布具有很多良好的性质 ,许多概率分布可以用它来近似;还有一些常用的概率分布是由它直接导出的,例如对数正态分布、t分布、F分布等。

二、高斯模型

高斯模型有单高斯模型(SGM)和混合高斯模型(GMM)两种。

1、单高斯模型(SGM)

概率密度函数服从上面的正态分布的模型叫做单高斯模型,具体形式如下:

当样本数据 x 是一维数据(Univariate)时,高斯模型的概率密度函数为:

p(x;\mu ,\sigma )=\frac{1}{ \sqrt{2 \pi} \sigma } \exp( - \frac{(x-\mu)^{2}}{{2\sigma ^{2}}} )
其中:μ为数据的均值,\sigma为数据的标准差。

当样本数据 \mathbf{x} 是多维数据(Univariate)时,高斯模型的概率密度函数为:
p( \mathbf{x} ; \boldsymbol{ \mu} , \Sigma )=\frac{1}{(2 \pi)^{\frac{d}{2}}\mid \Sigma \mid ^{\frac{1}{2}}} \exp \left ( - \frac{( \mathbf{x} - \boldsymbol{ \mu} )^{T}\Sigma ^{-1}( \mathbf{x} - \boldsymbol{ \mu} )}{{2}} \right )
其中:\boldsymbol{\mu}为数据的均值,\Sigma为协方差,d为数据维度。

2、高斯混合模型(GMM)

高斯混合模型(GMM)是单高斯概率密度函数的延伸,就是用多个高斯概率密度函数(正态分布曲线)精确地量化变量分布,是将变量分布分解为若干基于高斯概率密度函数(正态分布曲线)分布的统计模型。

用通俗一点的语言解释就是,K个单高斯模型混合在一起,生成的模型,就是高斯混合模型。这 K 个子模型是混合模型的隐变量(Hidden variable)。一般来说,一个混合模型可以使用任何概率分布,这里使用高斯混合模型是因为高斯分布具备很好的数学性质以及良好的计算性能。

GMM是工业界使用最多的一种聚类算法。它本身是一种概率式的聚类方法,假定所有的样本数据X由K个混合多元高斯分布组合成的混合分布生成。

高斯混合模型的概率密度函数可以表示为:
p(x|\theta)=\sum_{k=1}^{K}\alpha _{k}\phi (x|\theta _{k})
其中:
\alpha_{k}是观察数据属于第k个子模型的概率,\alpha_{k}\geq 0 ,\sum_{k=1}^{K}\alpha_{k}=1
\phi (x|\theta _{k})是第k个的单高斯子模型的概率密度函数,\theta _{k}=(\mu_{k},\sigma _{k})
\theta _{k}=(\boldsymbol{\mu}_{k},\Sigma _{k}),具体函数见上方单高斯模型的概率密度函数。

三、参数估计

参数估计有多种方法,有矩估计、极大似然法、一致最小方差无偏估计、最小风险估计、同变估计、最小二乘法、贝叶斯估计、极大验后法、最小风险法和极小化极大熵法等。最基本的方法是最小二乘法和极大似然法。

极大似然估计的思想是:随机试验有多个可能的结果,但在一次试验中,有且只有一个结果会出现,如果在某次试验中,结果w出现了,则认为该结果发生的概率最大。

极大似然估计求解参数步骤:

1)写出似然函数:
假设单个样本的概率函数为p(x;θ),对每个样本的概率函数连乘,就可以得到样本的似然函数
L(θ)=\prod_{i=1}^{n}p(x_{i};θ)

2)对似然函数取对数:
lnL(θ)=\sum_{i=1}^{n}lnp(x_{i};θ)
目的是为了让乘积变成加法,方便后续运算

3)求导数,令导数为0,得到似然方程:
L(θ)lnL(θ)在同一点取到最大值,所以可以通过对lnL(θ)求导,令导数为零,实现同个目的

4)解似然方程,得到的参数即为所求

1、单高斯模型的参数估计

对于单高斯模型,可以使用极大似然估计(MLE)来求解出参数的值。

单高斯模型的对数似然函数为:

J(\boldsymbol{ \mu},\Sigma) = ln \left [ \prod_{i=1}^{n} p( \mathbf{x}_{i} ; \boldsymbol{ \mu} , \Sigma ) \right ]
= \sum_{i=1}^{n} lnp( \mathbf{x}_{i} ; \boldsymbol{ \mu} , \Sigma )
= \sum_{i=1}^{n} ln \left [ \frac{1}{(2 \pi)^{\frac{d}{2}} \mid \Sigma \mid ^{\frac{1}{2}}} \exp \left ( - \frac{( \mathbf{x} - \boldsymbol{ \mu} )^{T} \Sigma ^{-1}( \mathbf{x} - \boldsymbol{ \mu} )}{{2}} \right ) \right ]
= \sum_{i=1}^{n} \left [ -\frac{d}{2} ln(2 \pi) - \frac{1}{2} ln \mid \Sigma \mid - \frac{1}{2} ( \mathbf{x} - \boldsymbol{ \mu} )^{T} \Sigma ^{-1} ( \mathbf{x} - \boldsymbol{ \mu} ) \right ]
= -\frac{nd}{2} ln(2 \pi) - \frac{n}{2} ln \mid \Sigma \mid - \frac{1}{2} \sum_{i=1}^{n} \left [( \mathbf{x} - \boldsymbol{ \mu} )^{T} \Sigma ^{-1}( \mathbf{x} - \boldsymbol{ \mu} ) \right ]

上式分别对\boldsymbol{ \mu}\Sigma求偏导数,然后令其等于0,可以得到对应的参数估计值:
\hat{\mu } =\frac{1}{n} \sum_{i=1}^{n} \mathbf{x}_{i}
\hat{\Sigma }=\frac{1}{n-1}\sum_{i=1}^{n}(\mathbf{x}_{i}-\hat{\mu })(\mathbf{x}_{i}-\hat{\mu })^{T}

2、高斯混合模型的参数估计

如果依然按照上面的极大似然估计方法求参数

GMM的对数似然函数为:
J(\boldsymbol{ \mu},\Sigma) = \sum_{i=1}^{n} ln (\sum_{k=1}^{K}\alpha _{k}\phi (x|\theta _{k}))

对上式求各个参数的偏导数,然后令其等于0,并且还需要附件一个条件:\alpha_{k}\geq 0 ,\sum_{k=1}^{K}\alpha_{k}=1
我们会发现,直接求导无法计算出参数。所以我们需要用其它方式去解决参数估计问题,一般情况下我们使用的是迭代的方法,用期望最大算法(Expectation Maximization,EM)进行估计。

EM算法的具体原理以及示例见我的另外一篇文章。

上一篇下一篇

猜你喜欢

热点阅读