高斯混合模型

  • 前言
  • 高斯混合模型
  • 高斯分布
  • 混合模型
  • 高斯模型
  • 单高斯模型
  • 高斯混合模型
  • 高斯混合模型训练
  • EM算法
  • 应用
  • 图像背景的高斯混合模型
  • 智能监控系统
  • 参考


前言

之前在一次技术讨论当中,针对文本处理的时候被问到高斯混合模型。当时我对“高斯混合模型”都是比较懵圈,因此写下这篇笔记来记录高斯混合模型。高斯混合模型比较经典,有很多相关的资料也做了非常详细的介绍,本博客的参考内容请见参考部分

高斯混合模型

高斯混合模型通常简称GMM,是一种业界广泛使用的聚类算法,该方法使用了高斯分布作为参数模型,并使用期望最大(Expectation Maximization,简称EM)算法进行训练。

高斯分布

高斯分布有时也被成为正态分布,是一种自然界大量存在的,最为常见的分布形式。高斯分布的概率密度函数公式如下:高斯混合模型计算阈值 高斯混合模型公式_机器学习其中高斯混合模型计算阈值 高斯混合模型公式_人工智能_02表示均值,高斯混合模型计算阈值 高斯混合模型公式_人工智能_03表示标准差,均值对应正态分布的中间位置。正态分布意思是95%的数据分布在均值周围2个标准差的范围内。上面公式在一直参数的情况下,输入变量高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_04,可以获得对应的概率密度。在使用之前需要对概率分布进行归一化,即曲线下面的面积之和为1,这样才能确保返回的概率密度在允许的取值范围内。

混合模型

混合模型是一个可以用来表示在总体分布中含有K个子分布的概率模型。换言之概率模型表示了观测数据在总体中的概率分布,它是由K个子分部组成的混合分布。混合模型不要求观测数据提供关于子分部的信息,来计算观测数据在总体分布中的概率。

高斯模型

单高斯模型

当样本数据高斯混合模型计算阈值 高斯混合模型公式_聚类_05是一维数据时,高斯分布遵从下方的概率密度函数:高斯混合模型计算阈值 高斯混合模型公式_机器学习其中高斯混合模型计算阈值 高斯混合模型公式_人工智能_02表示均值,高斯混合模型计算阈值 高斯混合模型公式_人工智能_03表示标准差。当样本数据数据是多维数据的时,高斯分布遵从下方概率密度函数:高斯混合模型计算阈值 高斯混合模型公式_聚类_09其中,高斯混合模型计算阈值 高斯混合模型公式_人工智能_02为数据均值(期望),高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_11为协方差,高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型_12为数据维度。

高斯混合模型

高斯混合模型可以看作是由 K 个单高斯模型组合而成的模型,这 K 个子模型是混合模型的隐变量(Hidden variable)。一般来说,一个混合模型可以使用任何概率分布,这里使用高斯混合模型是因为高斯分布具备很好的数学性质以及良好的计算性能。

高斯混合模型计算阈值 高斯混合模型公式_机器学习_13


首先定义一下信息:

  • 高斯混合模型计算阈值 高斯混合模型公式_聚类_14表示第高斯混合模型计算阈值 高斯混合模型公式_聚类_15个观测数据,高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_16
  • 高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型_17是很合模型中高斯模型的数量,高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_18
  • 高斯混合模型计算阈值 高斯混合模型公式_人工智能_19是观测数据属于第高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_20个子模型的高斯分布密度函数,高斯混合模型计算阈值 高斯混合模型公式_聚类_21
  • 高斯混合模型计算阈值 高斯混合模型公式_机器学习_22是第高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_20个子模型的高斯分布密度函数, 高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型_24
  • 高斯混合模型计算阈值 高斯混合模型公式_聚类_25表示第高斯混合模型计算阈值 高斯混合模型公式_聚类_15个观测数据属于第高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_20个子模型的概率
    高斯混合模型的概率分布为:高斯混合模型计算阈值 高斯混合模型公式_人工智能_28对于模型而言,参数高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型_29,每个子模型的期望、方差(协方差)、在混合模型中发生的概率。

高斯混合模型训练

模型的EM训练过程,通过观察采样的概率值和模型概率值的接近程度来判断一个模型是否拟合良好。然后通过调整模型以让新模型更适配采样的概率值。反复迭代这个过程很多次,直到两个概率值非常接近时停止更新并完成模型训练。

  • 单高斯模型
    使用极大似然法估算参数高斯混合模型计算阈值 高斯混合模型公式_机器学习_30高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_31这里假设每个数据点都是独立的,似然函数由概率密度函数给出高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型_32由于每个点发生的概率都很小,乘积会变得很小,因此通常利用maximum Log-Likelihood:高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_33
  • 高斯混合模型
    Log-Likelihood函数是:高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_34形如这种每个子模型都有未知的高斯混合模型计算阈值 高斯混合模型公式_高斯混合模型计算阈值_35需要通过迭代的方法求解高斯混合模型的参数。
EM算法

高斯混合模型计算阈值 高斯混合模型公式_聚类_36

应用

图像背景的高斯混合模型

图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以以为是图像灰度概率密度的估计。如果图像所包含的目标区域和背景区域相差比较大,且背景区域和目标区域在灰度上有一定的差异,那么该图像的灰度直方图呈现双峰-谷形状,其中一个峰对应于目标,另一个峰对应于背景的中心灰度。对于复杂的图像,尤其是医学图像,一般是多峰的。通过将直方图的多峰特性看作是多个高斯分布的叠加,可以解决图像的分割问题。

智能监控系统

在智能监控系统中,对于运动目标的检测是中心内容,而在运动目标检测提取中,背景目标对于目标的识别和跟踪至关重要。而建模正是背景目标提取的一个重要环节。