高斯混合模型

2025 年 1 月 5 日 | 11 分钟阅读

根据一个称为“高斯混合模型”的概率模型,每个记录因子都有未知参数。混合模型是 k 均值聚类的扩展,它不仅包含有关潜在高斯中心位置的信息,还包含事实的协方差结构。

对于高斯混合模型估计,Scikit-learn 提供了一系列训练选项,以适应下面概述的不同估计方法。

高斯混合

  • 通过高斯混合对象,实现了生成高斯模型混合的期望最大化 (EM) 方法。
  • 此外,它还可以计算贝叶斯信息准则以确定数据中聚类的数量,并为多元模型创建置信椭圆。
  • 可以使用 GaussianMixture.Fit 方法从训练数据中学习高斯混合模型,使用 GaussianMixture。
  • 预测技术和测试数据可以为每个样本分配它最可能属于的高斯。

GaussianMixture 提供几个参数,包括球形、对角线、绑定和完整协方差,以限制计算的不同类别的协方差。

GMM 协方差

  • 显示了高斯混合模型的各种协方差类型。
  • 有关估计器的更多详细信息,请参阅高斯混合模型。
  • 尽管 GMM 经常用于聚类,但我们可以将结果聚类与数据集的真实类别进行对比。
  • 为了确保此比较的有效性,我们使用训练集中类别的均值初始化高斯均值。
  • 在 iris 数据集上,我们使用几种 GMM 协方差类型来绘制训练数据和保留测试数据上的预测标签。
  • 为了提高性能,我们比较了具有球形、对角线、完整和链接协方差矩阵的 GMM。
  • 完整协方差应该总体表现最好。
  • 这些图将测试数据显示为十字,将训练数据显示为点。iris 数据集是二次的。
  • 此处仅显示前两个维度的事实导致某些点被附加维度划分。

示例

有关将高斯混合用作 Iris 数据集中的聚类的示例,请参阅 GMM 协方差。

绘制密度估计的示例可在高斯混合的密度估计中找到。

GaussianMixture 类的优点和缺点

优点

速度

它是学习混合模型最快的方法。

缺点

奇异点

当每个组合中没有足够的点时,估计协方差矩阵变得困难。除非协方差被人为地正则化,否则该过程已知会发散并产生具有无限似然的解。

组件数量

这组规则将在没有外部提示的情况下持续分配它有权访问的所有组件,根据理论记录标准或保留统计数据选择要使用的数量。

估计算法期望最大化

  • 期望最大化是一种通过迭代过程规避此问题的有效统计方法。
  • 为了计算模型中每个因子将产生每个统计数据点的可能性,必须首先假设随机附加项(随机分布在原点周围,通过 k 均值训练,甚至只是随机指向统计数据点)。
  • 然后调整参数以增加数据与这些分配匹配的概率。当然,重复执行此过程将导致局部最优。

正态或高斯分布

高斯分布,无论是单变量还是多变量,都可以用来表示大量的真实世界全球数据集。相信聚类来自各种高斯分布是完全有道理的。或者,换句话说,它试图将数据集表示为不同高斯分布的复合。

期望最大化算法

在数据缺少某些信息组件、不完整或包含一些隐藏变量的情况下,计算模型参数的最大似然估计。为了估计一组新数据,EM 为缺失的数据点选择一些随机值。一旦这些数字得到纠正,这些新值将被递归地用于通过填补空白来估计一个更好的初始日期。

期望最大化 (EM) 算法中的估计 (E 步) 和最大化 (M 步) 是迭代执行的两个最关键的过程。

估计步 (E 步)

首先,在估计步 (E 步) 中初始化模型的参数,例如均值 (k)、协方差矩阵 (k) 和混合系数 (k)。潜在变量 k 经常用于表示这些概率。

之后,使用当前的参数值估计潜在变量 k 的值。

最大化步

  • 在最大化步中,我们使用估计的潜在变量 k 更新参数值 mu_k、sigma_k 和 pi_k。
  • 通过应用数据点的加权平均值和伴随的潜在变量概率。
  • 通过平均与每个组件的潜在变量相关的概率,我们可以更新混合系数 (k)。

重复 E 步和 M 步直到收敛。

  • 本质上,潜在变量根据估计过程中的当前参数值进行更新。
  • 然而,在最大化步中,我们使用估计的潜在变量更新参数值。我们一直这样做,直到模型反复收敛。
  • 上述阶段是 GMM 独有的。然而,估计步和最大化步的一般思想适用于任何采用 EM 算法的模型。

高斯混合模型实现

此示例使用 iris 数据集。Python 中有一个高斯混合类可用于实现 GMM。打开数据集包并加载 iris 数据集。为简单起见,仅获取前两列(分别为萼片长度和宽度)。现在绘制数据集。

程序

输出

Gaussian mixture models

现在,结合三个高斯来拟合数据。然后,执行聚类,其中包括为每个观测值赋予一个标签。找到收敛的对数似然值以及对数似然函数收敛所需的迭代次数。

输出

Gaussian mixture models

打印收敛的对数似然值和模型所需的迭代次数。

程序

输出

-1.4985672470486966
8

因此,对数似然花了 7 次迭代才收敛。经过几次迭代后,对数似然值没有明显变化。

高斯混合模型是用于建模较大群体中服从正态分布的子群体的概率模型。这是一种无监督学习,因为子群体分配是未知的。

  • 例如,在建模人类身高数据时,男性的平均身高通常建模为均值约为 5'10" 的正态分布,女性的平均身高建模为均值约为 5'5" 的正态分布。
  • 如果我们有身高数据而不是每个数据点的性别指定,那么所有身高的分布将遵循两个按比例缩放(不同方差)和移位(不同均值)的正态分布的总和。

尽管高斯混合模型 (GMM) 通常包含更多组件,但此模型就是一个示例。在用 GMM 建模数据时,基本问题之一是估计各种正态分布组件的参数。

什么是 GMM 或高斯混合模型?

根据称为“高斯混合版本”的概率模型,每个记录点都是通过混合有限数量的具有未知参数的高斯分布创建的。作为 k 均值聚类方法的泛化,混合模型可能是显而易见的,因为它可应用于密度估计和类别。

与数据集中每个聚类相关联的多元高斯分布。高斯分布定义了数据在每个聚类中的分布方式,而权重显示了给定数据点属于特定聚类的可能性。

可以使用期望最大化 (EM) 方法。这包括在估计混合模型的权重和高斯分布的参数之间交替,以实现收敛。

高斯混合模型的实际应用示例

以下是 GMM 实际应用的几个实例

  • 聚类: GMM 可用于识别趋势并将相关观测值归为一组。例如,GMM 可用于根据客户的购买模式和人口统计信息将客户分组为不同的细分市场。
  • 密度估计: 给定数据集的概率密度函数 (PDF) 可以使用 GMM 进行估计。

GMM 可用于识别与其余数据显着不同的观测值,这在基于密度的异常识别等任务中很有用。

异常检测: GMM 可用于异常识别,以查找数据集中的异常观测值。例如,可以根据典型网络流量数据训练 GMM,然后将其应用于查找指示入侵尝试的异常流量模式。

语音识别: 为了模拟语音(音素)的概率分布,GMM 经常用于语音识别系统。因此,当给定输入音频信号时,系统能够确定最可能的音素序列。

计算机视觉: GMM 可用于计算机视觉应用程序中,以模拟图像中对象的显示方式。例如,GMM 可用于模拟交通监控系统中各种车辆类型的显示方式。

高斯混合模型的正式定义

  • 在高斯混合模型 (GMM) 中,数据集是从各种底层多元正态分布的组合中生成的。
  • 此外,它还可以作为更复杂模型(如卡尔曼滤波器和隐马尔可夫模型 (HMM))的基本组件。

由于其能够将多维连续数据的概率分布表示为许多正态分布的加权和,因此高斯混合模型

高斯混合模型的优点

  • 灵活性: 高斯混合模型可以近似任何可以描述为多个正态分布的加权和的分布,这使得它们能够模拟广泛的概率分布。因此,它本质上是灵活的。
  • 鲁棒性: 由于高斯混合模型可以解释多个模式(通常称为分布中的“峰值”)的存在,因此它们对数据中存在的异常值具有相对的鲁棒性。
  • 速度: 高斯混合速度 在应用有效的优化方法(如期望最大化 (EM) 算法)时,模型可以非常快地拟合数据集。
  • 处理缺失数据: 在某些观测值不完整的情况下,高斯混合模型通过边缘化缺失变量来处理缺失数据的能力可能很有用。
  • 可解释性: 如果您能清楚地读取高斯混合模型的参数,例如组件的权重、均值和协方差,那么理解数据的底层结构可能会有所帮助。

高斯混合模型的缺点

下面列出了采用高斯混合模型的缺点

  • 对初始化的敏感性: 当混合中组件过多时,高斯混合模型可能对模型参数的起始值敏感。这有时可能导致对真实最大似然解的收敛性差。
  • 正态性假设: 高斯混合模型假设数据是从正态分布的组合中生成的,这在实践中可能并非总是如此。如果数据偏离正态性,GMM 可能不是最佳模型。
  • 组件数量: 为高斯混合模型选择正确的组件数量可能很困难,因为使用太少或太多的组件可能导致数据拟合不正确。两个位置的极端都会产生一个难以处理的困难任务。

在统计学和机器学习中,这种参数模型经常用于密度估计和聚类。当处理不完全符合单一高斯分布的数据时,GMM 特别有用。

参数估计: 期望最大化 (EM) 技术通常用于从可用数据中估计 GMM 的权重、均值和协方差。为了最大化给定模型的数据的似然性,EM 算法迭代地调整这些参数。

应用

  • 聚类: 数据可以使用 GMM 分组为几个组,每个高斯分量表示一个聚类。
  • 密度估计: 用于生成建模或异常检测的数据的密度函数。
  • 此外,它们有时会收敛到局部最优,并且对初始化敏感。

GMM 是统计学和机器学习中灵活的工具,已应用于各种任务,例如自然语言处理、异常检测以及图像和语音处理。

当然,以下提供了有关高斯混合模型 (GMM) 的更深入细节

  • 基于 GMM 的数据建模

单变量(单变量)和多变量(多变量)数据都可以使用 GMM 进行建模。每个高斯分量的协方差矩阵可以捕获多变量数据中几个变量之间的相关性。

  • 似然和概率

概率密度:特征空间中数据点的概率密度可以使用 GMM 确定。这可以帮助确定特定数据点与模型的匹配程度。

GMM 经常用于监督学习环境,目的是估计给定模型的一组数据的似然性。分类等应用程序可以利用这种似然估计。

  • EM 算法

对于训练 GMM,期望最大化 (EM) 算法经常被使用。它在这两个主要步骤之间切换

  • 期望 (E 步)

该方法在此步骤中计算属于每个高斯分量的每个数据点的后验概率(或责任)。

  • 最大化 (M 步)

为了最大化数据的预期对数似然,该算法修改每个高斯分量的参数(权重、协方差和均值)。

  • 起点

由于 GMM 对初始化敏感,因此初始参数的选择可能会影响结果。K 均值聚类和随机初始化是两种流行的初始化策略,它们使用 EM 算法进行改进。

  • 规范化

可以应用正则化方法,例如链接分量协方差或向协方差矩阵对角线添加一个微小常数,以避免过拟合。

  • 利用

图像和视频处理:在计算机视觉应用程序中,GMM 用于背景减除、对象跟踪和图像分割。

  • 语音和音频处理

GMM 已用于说话人识别和语音识别。

  • 异常检测

通过突出显示模型下可能性较低的数据点,GMM 可用于查找数据中的异常或离群值。

  • 生成建模

GMM 有助于数据增强和生成建模任务,因为它们可用于创建类似于训练数据的合成数据样本。

  • 附加组件

GMM 是用于在更复杂模型(如隐马尔可夫模型 (HMM))的各种状态下建模发射概率的有用工具。

  • 问题

实际数据可能并不总是符合 GMM 对每个高斯分量所做的球形或椭圆形假设。当数据呈现更复杂的形状时,可以使用其他模型,例如 t 分布混合或具有对角协方差的高斯混合模型(球形高斯)。

结论

总之,高斯混合模型 (GMM) 是一种灵活且流行的机器学习和统计方法,用于建模显示不同高斯(正态)分布组合的数据。它们适用于许多不同类型的工作,包括异常检测、密度估计和聚类。

GMM 在语音识别、自然语言处理、图像处理和图像处理等各种领域都很有用。它们还可以适应复杂的数据分布。高斯分量的定义、其参数的估计以及概率密度函数作为这些分量的加权和的表示是 GMM 的基本要素。总而言之,GMM 是从数据中提取底层结构并得出关于它的概率结论的有效方法。