高斯混合模型(GMM)

高斯混合模型(GMM)

混合模型(Mixture Model)

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

高斯模型

单高斯模型

当样本数据 X 是一维数据(Univariate)时,高斯分布遵从下方概率密度函数(Probability Density Function):

高斯混合模型(GMM)
高斯混合模型(GMM)
当样本数据 X 是多维数据(Multivariate)时,高斯分布遵从下方概率密度函数:

高斯混合模型(GMM)

高斯混合模型(GMM)

高斯混合模型

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

举个不是特别稳妥的例子,比如我们现在有一组狗的样本数据,不同种类的狗,体型、颜色、长相各不相同,但都属于狗这个种类,此时单高斯模型可能不能很好的来描述这个分布,因为样本数据分布并不是一个单一的椭圆,所以用混合高斯分布可以更好的描述这个问题,如下图所示:

高斯混合模型(GMM)

高斯混合模型(GMM)

模型参数学习

高斯混合模型(GMM)

这里我们假设了每个数据点都是独立的(Independent),似然函数由概率密度函数(PDF)给出。

高斯混合模型(GMM)

由于每个点发生的概率都很小,乘积会变得极其小,不利于计算和观察,因此通常我们用 Maximum Log-Likelihood 来计算(因为 Log 函数具备单调性,不会改变极值的位置,同时在 0-1 之间输入值很小的变化可以引起输出值相对较大的变动):

高斯混合模型(GMM)

对于高斯混合模型,Log-Likelihood 函数是:

高斯混合模型(GMM)

高斯混合模型(GMM)

EM 算法

EM 算法是一种迭代算法,1977 年由 Dempster 等人总结提出,用于含有隐变量(Hidden variable)的概率模型参数的最大似然估计。

每次迭代包含两个步骤:
高斯混合模型(GMM)

这里不具体介绍一般性的 EM 算法(通过 Jensen 不等式得出似然函数的下界 Lower bound,通过极大化下界做到极大化似然函数),只介绍怎么在高斯混合模型里应用从来推算出模型参数。

高斯混合模型(GMM)

高斯混合模型(GMM)

高斯混合模型(GMM)
至此,我们就找到了高斯混合模型的参数。需要注意的是,EM 算法具备收敛性,但并不保证找到全局最大值,有可能找到局部最大值。解决方法是初始化几次不同的参数进行迭代,取结果最好的那次。

Reference

1、《统计学习方法》第九章 - EM算法及其推广——李航
2、 Mixture model - Wikipedia
3、高斯混合模型(GMM)介绍以及学习笔记