AI高斯混合模型

AI高斯混合模型

1 在 AI 中 学习-5. AI 中的概率模型处理不确定性

人工智能 (AI) 中的学习是指系统通过经验、数据或与环境的交互随着时间的推移提高其任务性能的过程。

5. AI 中的概率模型处理不确定性,进行预测,并对复杂系统进行建模,其中不确定性和可变性起着至关重要的作用。这些模型有助于推理、决策和从数据中学习。

假设有一组数据点需要根据它们的相似性分为几个部分或集群。在机器学习中,这称为聚类。有几种方法可用于聚类:

• K 表示聚类

• 分层聚类

• 高斯混合模型

在本文中,将讨论高斯混合模型。

2 正态分布或高斯分布

在现实生活中,许多数据集可以通过高斯分布(单变量或多变量)进行建模。因此,假设这些集群来自不同的高斯分布是非常自然和直观的。或者换句话说,它试图将数据集建模为多个高斯分布的混合。这就是这个模型的核心思想。

在一维中,高斯分布的概率密度函数由下式给出

AI高斯混合模型的图1

其中  μ和  σ²分别是分布的平均值和方差。对于多元(假设 d 变量)高斯分布,概率密度函数由下式给出

AI高斯混合模型的图2

这是一个μd维向量,表示分布的平均值,是 d X d 协方差矩阵。

3 高斯混合模型

假设有 K 个集群(为简单起见,这里假设集群的数量是已知的,它是 K)。soμ 和 AI高斯混合模型的图3 也是每个 k 的估计值。如果只有一个分布,它们就会用最大似然法来估计。但是由于有 K 个这样的集群,并且概率密度被定义为所有这些 K 分布的密度的线性函数,即

AI高斯混合模型的图4

其中 πk是 k的混合系数th分配。为了通过最大对数似然法估计参数,请计算 p(Xμ,Σ,π)。

AI高斯混合模型的图5

现在定义一个随机变量 γk(X),使得γk(X)=ρ(k∣X)。

从贝叶斯定理

AI高斯混合模型的图6

要使对数似然函数最大,它关于 μ、Σ和 π的导数 p(X∣μ,Σ,π)应为零。

因此,将 p(X∣μ,Σ,π)的 μ导数等同于零,并重新排列项。

AI高斯混合模型的图7

同样,分别对 Σ和 pi 取导数,可以得到以下表达式

AI高斯混合模型的图8

AI高斯混合模型的图9

注:AI高斯混合模型的图10表示 k 中采样点的总数th簇。这里假设总共有 N 个样本,每个包含 d 个特征的样本用 xi表示

因此可以清楚地看到,参数不能以封闭形式进行估计。这就是 Expectation-Maximization 算法的好处所在。

4 期望最大化 (EM) 算法

期望最大化 (EM) 算法是一种迭代方法,用于在数据不完整、缺少一些数据点或具有一些隐藏变量时查找模型参数的最大似然估计。EM 为缺失的数据点选择一些随机值,并估计一组新数据。然后,这些新值通过填充缺失点来递归地用于估计更好的首次日期,直到值得到修复。

在期望最大化 (EM) 算法中,估计步长 (E-step) 和最大化步长 (M-step) 是迭代执行的两个最重要的步骤,用于更新模型参数,直到模型收敛。

5 估算步骤 (E-step):

• 在估计步骤中,我们首先初始化模型参数,如平均值 (μk)、协方差矩阵 (Σk) 和混合系数 (πk)。

• 对于每个数据点,我们使用当前参数值计算属于每个质心的数据点的后验概率。这些概率通常由潜在变量 γk 表示。

• 最后 根据当前参数值估计潜在变量的值 γ k

6 最大化步骤

• 在最大化步骤中,我们使用估计的潜在变量 γk 更新参数值

AI高斯混合模型的图11

• 我们将通过使用相应的潜在变量概率获取数据点的加权平均值来更新集群点的平均值 (μk)

• 我们将使用相应的潜在变量概率,取数据点与平均值之间的平方差的加权平均值,从而更新协方差矩阵 (Σk)。

• 我们将通过取每个分量的潜在变量概率的平均值来更新混合系数 (πk)。

7 重复 E 步和 M 步,直到收敛

• 我们在估计步骤和最大化步骤之间迭代,直到对数似然或参数的变化低于预定义的阈值,或者直到达到最大迭代次数。

• 基本上,在估计步骤中,我们根据当前参数值更新潜在变量。

• 但是,在最大化步骤中,我们使用估计的潜在变量更新参数值

• 这个过程会迭代重复,直到我们的模型收敛。

期望最大化 (EM) 算法是一个通用框架,可以应用于各种模型,包括高斯混合模型 (GMM)。上述步骤专门用于 GMM,但 Estimization-step 和 Maximization-step 的总体概念对于使用 EM 算法的其他模型保持不变。

8 高斯混合模型的实现

在此示例中,采用 iris Dataset。在 Python 中,有一个 Gaussian 混合类来实现 GMM。从 datasets 包中加载 iris 数据集。为简单起见,请选取唯一的前两列(即 sepal length 和 sepaper width 分别)。

以下内容为付费内容,请购买后观看

python案例

App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

1