高斯判别分析

2025年6月20日 | 3 分钟阅读

机器学习中用于分类的监督学习算法有两种类型。

  1. 判别式学习算法
  2. 生成式学习算法

逻辑回归、感知机和其他判别式学习算法是判别式学习算法的例子。这些算法试图在学习过程中确定类别之间的边界。判别式学习算法可用于解决一个分类问题,以确定患者是否患有疟疾。然后检查边界,看新样本是否落在边界上,即 **P(y|X)**,也就是说,给定一个特征集 X,它属于类别 "y" 的概率是多少。

另一方面,生成式学习算法采用不同的方法。它们试图分别捕捉每个类别的分布,而不是寻找类别之间的边界。如前所述,生成式学习算法将分别检查受感染患者和健康患者的分布。然后,它将尝试单独学习每个分布的特征。当出现一个新样本时,会将其与两种分布进行比较,并分配给它最相似的类别,即在给定 **P(y)** 的情况下的 **P(X|y)**,这里的 P(y) 被称为类先验。

这些贝叶斯理论的预测被用于预测生成式学习算法。

Gaussian Discriminant Analysis

通过仅分析特定类别中的 **P(X|y)** 和 **P(y)**,我们可以确定 P(y|X),即考虑到一个样本的特征,它属于类别 "y" 的可能性有多大。

高斯判别分析是一种生成式学习算法,旨在确定每个类别的分布。它试图为每一类数据分别创建高斯分布。在使用生成式学习算法的情况下,如果结果接近其类别对应的等高线中心,则其可能性非常高。当我们远离等高线中心时,可能性会减小。下图说明了判别式和生成式学习算法之间的差异。

Gaussian Discriminant Analysis
Gaussian Discriminant Analysis

让我们来看一个二元分类问题,其中所有数据集都是 **IID**(独立同分布)的。为了确定 **P(X|y)**,我们可以使用多元高斯分布来计算每个特定类别的概率密度方程。为了确定 P(y) 或每个类别的类先验,我们可以利用伯努利分布,因为二元分类中使用的所有样本数据可以是 0 或 1。

因此,一个样本的概率分布和类先验可以通过高斯和**伯努利分布**的通用模型来确定:

Gaussian Discriminant Analysis

为了根据上述参数理解概率分布,我们可以构建似然公式,该公式是每个数据样本的概率分布与类先验的乘积(将概率分布视为乘积是合理的,因为所有数据样本都被认为是 IID)。

Gaussian Discriminant Analysis

根据似然估计的原则,我们需要选择参数以使似然函数最大化,如公式4所示。与其最大化似然函数,我们可以提升对数似然函数,这是一个严格递增的函数。

Gaussian Discriminant Analysis
Gaussian Discriminant Analysis

在上述方程中,“**1{条件}**” 是指示函数,如果该条件成立则返回 1;否则返回零。例如,1{y = 1} 仅在数据样本的类别为 1 时返回 1。否则,它返回 0。同样,对于 1{y = 0},它仅在样本类别为 0 时返回 1,否则返回 0。

导出的参数可用于公式1、2和3,以发现整个数据样本的概率分布和类先验。计算出的值可以进一步相乘以确定似然函数,如公式4所示。如前所述,它是概率函数,即 P(X|y)P(y),被整合到贝叶斯公式中以计算 P(y|X)(即,对于给定的特征 'X' 确定数据样本的类型 'y')。

因此,高斯判别分析在数据量有限(比如几千个例子)的情况下表现得非常好,并且如果我们在数据分布方面的基本假设是正确的,它可能比逻辑回归更具鲁棒性。


下一主题演化算法简介