高斯混合模型(GMM)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高斯混合模型(GMM)相关的知识,希望对你有一定的参考价值。
参考技术A 最近在实际工作中用到了高斯混合模型(Gaussian Mixture Model),遂写一篇笔记来整理记录相关知识点,以便复查巩固。简单回顾一下本科概率论讲过的高斯模型。
高斯模型是一种常用的变量分布模型,又称正态分布,在数理统计领域有着广泛的应用。
当样本数据 X 是一维数据(Univariate)时,高斯分布遵从下方概率密度函数(Probability Density Function)(下文简称pdf)如下: 其中 为数据均值(期望), 为数据标准差(Standard deviation)。
当样本数据 X 是多维数据(Multivariate)时,高斯分布pdf为:
其中, 为数据均值(期望), 为协方差(Covariance),描述各维变量之间的相关度,D 为数据维度。
高斯混合模型可以看作是由 K 个单高斯模型组合而成的模型,这 K 个子模型是混合模型的隐变量(Hidden variable)。一般来说,一个混合模型可以使用任何概率分布,这里使用高斯混合模型是因为高斯分布具备很好的数学性质以及良好的计算性能。
先来看一组数据。
所以,混合高斯模型并不是什么新奇的东西,它的本质就是融合几个单高斯模型,来使得模型更加复杂,从而产生更复杂的样本。理论上,如果某个混合高斯模型融合的高斯模型个数足够多,它们之间的权重设定得足够合理,这个混合模型可以拟合任意分布的样本。
对于单高斯模型,我们可以用最大似然法(Maximum likelihood)估算参数 的值 这里我们假设了每个数据点都是独立的(Independent),似然函数由概率密度函数(PDF)给出。
由于每个点发生的概率都很小,乘积会变得极其小,不利于计算和观察,因此通常我们用 Maximum Log-Likelihood 来计算(因为 Log 函数具备单调性,不会改变极值的位置,同时在 0-1 之间输入值很小的变化可以引起输出值相对较大的变动): 对其进行求导并令导数为0,所求出的参数就是最佳的高斯分布对应的参数。
所以最大化似然函数的意义就是:通过使得样本集的联合概率最大来对参数进行估计,从而选择最佳的分布模型。
对于高斯混合模型,Log-Likelihood 函数是: 如何计算高斯混合模型的参数呢?这里我们无法像单高斯模型那样使用最大似然法来求导求得使 likelihood 最大的参数,因为对于每个观测数据点来说,事先并不知道它是属于哪个子分布的(hidden variable),因此 log 里面还有求和,对于每个子模型都有未知的 ,直接求导无法计算。需要通过迭代的方法求解。
EM 算法是一种迭代算法,1977 年由 Dempster 等人总结提出,用于含有隐变量(Hidden variable)的概率模型参数的最大似然估计。
每次迭代包含两个步骤:
这里不具体介绍一般性的 EM 算法,(通过 Jensen 不等式得出似然函数的下界 Lower bound,通过极大化下界做到极大化似然函数,有log(E(x))>=E(log(x))),只介绍怎么在高斯混合模型里应用从来推算出模型参数。
通过 EM 迭代更新高斯混合模型参数的方法(我们有样本数据 和一个有 个子模型的高斯混合模型,想要推算出这个高斯混合模型的最佳参数):
至此,我们就找到了高斯混合模型的参数。需要注意的是,EM 算法具备收敛性,但并不保证找到全局最大值,有可能找到局部最大值。解决方法是初始化几次不同的参数进行迭代,取结果最好的那次。
2020/02/28 高斯混合模型以及GMM聚类
什么是高斯混合模型
高斯混合模型(GMM)认为,一个数据分布可以有几个高斯分布组合而成。
参考博客:| 知乎 |
高斯混合模型聚类
对于一个多类别数据集合,所有类别各自的数据分布的组合就是整体数据分布。这非常符合高斯混合模型理论。我们可以用一个生活化一点的例子来说明高斯混合模型聚类。假设有一堆颜色相近的水果,它们来自橘子、橙子和小西柚(颜色很相近,都是黄颜色)。我们用[黄颜色深浅程度-水果数量]来表示数据分布。对于每一类水果,它们也有各自的[黄颜色深浅程度-水果数量]。高斯混合模型聚类的任务就是通过颜色深浅来找出不同类别水果的[黄颜色深浅程度-水果数量]分布。
基本步骤
- 初始化k个高斯模型的参数(一般 均值、方差和组合权重)。
- EM算法更新权重。
以上是关于高斯混合模型(GMM)的主要内容,如果未能解决你的问题,请参考以下文章