主成分分析

2025 年 6 月 4 日 | 阅读 4 分钟

主成分分析 (PCA) 是一种无监督学习算法,用于机器学习中的降维。它是一个统计过程,通过正交变换将相关特征的观测值转换为一组线性不相关的特征。这些新的变换后的特征称为主成分。它是用于探索性数据分析和预测建模的流行工具之一。通过减少方差来从给定数据集中提取强大模式是一种技术。

PCA 通常试图找到一个低维曲面来投影高维数据。

PCA 通过考虑每个属性的方差来工作,因为高方差属性显示出类之间的良好分离,因此它减少了维数。PCA 的一些实际应用包括图像处理、电影推荐系统、优化各种通信信道的功率分配。它是一种特征提取技术,因此它包含重要的变量并丢弃不重要的变量。

PCA 算法基于一些数学概念,例如:

  • 方差和协方差
  • 特征值和特征向量

PCA 算法中使用的一些常见术语

  • 维度:给定数据集中存在的特征或变量的数量。更通俗地说,它是数据集中列的数量。
  • 相关性:它表示两个变量之间的关联强度。例如,如果一个变量发生变化,另一个变量也会随之变化。相关值范围从 -1 到 +1。在这里,当变量成反比时,值为 -1;当变量成正比时,值为 +1。
  • 正交:它定义了变量之间不相关,因此变量对之间的相关性为零。
  • 特征向量:如果给定一个方阵 M 和一个非零向量 v。如果 Av 是 v 的标量倍数,则 v 是特征向量。
  • 协方差矩阵:包含变量对之间协方差的矩阵称为协方差矩阵。

PCA 中的主成分

如上所述,变换后的新特征或 PCA 的输出是主成分。这些 PC 的数量等于或小于数据集中存在的原始特征。这些主成分的一些属性如下:

  • 主成分必须是原始特征的线性组合。
  • 这些分量是正交的,即变量对之间的相关性为零。
  • 每个分量的重要性随着从 1 到 n 的增加而减小,这意味着第 1 个 PC 最重要,而第 n 个 PC 最不重要。

PCA 算法的步骤

  1. 获取数据集
    首先,我们需要获取输入数据集并将其分成两个子集 X 和 Y,其中 X 是训练集,Y 是验证集。
  2. 将数据表示为结构
    现在我们将数据集表示为一种结构。例如,我们将表示一个二维矩阵的独立变量 X。在这里,每一行对应一个数据项,列对应特征。列的数量是数据集的维度。
  3. 数据标准化
    在此步骤中,我们将标准化数据集。例如,在某个列中,方差较大的特征比方差较小的特征更重要。
    如果特征的重要性与特征的方差无关,那么我们将用该列的标准差除以该列中的每个数据项。这里我们将该矩阵命名为 Z。
  4. 计算 Z 的协方差
    为了计算 Z 的协方差,我们将取矩阵 Z 并对其进行转置。转置后,我们将 Z 乘以它。输出矩阵将是 Z 的协方差矩阵。
  5. 计算特征值和特征向量
    现在我们需要计算结果协方差矩阵 Z 的特征值和特征向量。特征向量或协方差矩阵是信息量大的轴的方向。而这些特征向量的系数定义为特征值。
  6. 对特征向量进行排序
    在此步骤中,我们将获取所有特征值并按降序(即从大到小)对其进行排序。同时,在特征值矩阵 P 中相应地对特征向量进行排序。结果矩阵将命名为 P*。
  7. 计算新特征或主成分
    在这里,我们将计算新特征。为此,我们将 P* 矩阵乘以 Z。在结果矩阵 Z* 中,每个观测值都是原始特征的线性组合。Z* 矩阵的每一列都彼此独立。
  8. 从新数据集中删除不重要或不太重要的特征。
    新的特征集已经生成,所以我们将在这里决定保留什么以及删除什么。这意味着,我们只保留新数据集中的相关或重要特征,而将不重要的特征删除。

主成分分析的应用

  • PCA 主要用作各种人工智能应用中的降维技术,例如计算机视觉、图像压缩等。
  • 它还可以用于在数据维度很高的情况下查找隐藏模式。PCA 使用的一些领域包括金融、数据挖掘、心理学等。