什么是主成分分析 (PCA)?
主成分分析 (PCA) 将大型数据集中的维数减少为保留大部分原始信息的主成分。该方法通过将潜在的相关变量转化为一组较小的变量(称为主成分)来实现这一目的。
Karl Pearson 因在 1901 年开发 PCA 而受到赞誉,但是主成分分析 (PCA) 的普及是随着计算机的普及而开始的,因为计算机可以进行多元统计计算。1主成分分析 (PCA) 对于可视化和深入了解高维数据集或具有许多特征的数据非常有效,因为它可以轻松识别趋势、模式或异常值。
主成分分析 (PCA) 通常用于机器学习算法的数据预处理。主成分分析 (PCA) 可以从大型数据集中提取最丰富信息量特征,同时保留初始数据集中最相关的信息。这降低了模型复杂性,因为每个新特征的添加都会对模型性能产生负面影响,这通常也称为“维度诅咒”。
通过将高维数据集投影到更小的特征空间中,主成分分析 (PCA) 还可以最大限度地减少或完全消除常见问题,例如多重共线性和过拟合。当两个或多个独立变量彼此高度相关时,就会出现多重共线性,这可能会给因果建模带来问题。过拟合模型对新数据的泛化效果很差,从而完全降低了它们的价值。主成分分析 (PCA) 是回归分析中的一种常用方法,但也可用于各种用例,例如模式识别、信号处理、图像处理等。
虽然主成分分析 (PCA) 还存在其他变体,例如主成分回归和核 PCA,但本文将重点关注当前文献中的主要方法。
PCA 与 LDA 与因子分析
主成分分析 (PCA) 是一种类似线性判别分析 (LDA) 的降维技术。与 LDA 相反,主成分分析 (PCA) 并不局限于监督学习任务。对于无监督学习任务,这意味着主成分分析 (PCA) 可以降维而无需考虑类标签或类别。主成分分析 (PCA) 还与因子分析密切相关。它们都减少了数据集中的维度或变量的数量,同时最大限度地减少了信息损失。主成分分析 (PCA) 将变量分解为线性独立主成分的子集。然而,因子分析通常用于了解底层数据结构,重点关注捕捉变量传播的潜在变量或未测量因素。
PCA 与 K-means 聚类
PCA 和 k-means 聚类都是用于数据分析的无监督机器学习技术,但它们具有不同的目标和方法。PCA 用于降低数据的维度,而 k-means 聚类则根据相似性将数据点分组在一起。您选择的技术取决于具体数据集和分析目标。
主成分分析 (PCA) 创建新变量,如主成分,它们是原始变量的线性组合。主成分分析 (PCA) 将具有多个变量的数据集作为输入,将数据集生成到较低维度的子空间中,即具有更少变量的规约数据集。它通常用于探索性数据分析以构建预测模型,但也用于数据预处理以降低维度。
K-means 是一种聚类算法,它根据数据点与聚类中心的距离将数据点分配到聚类中。它将包含一个或多个变量的数据集作为输入,并生成一组具有相似数据点的聚类。它通常用于对各种用例的数据进行聚类,例如图像分割、客户细分和异常检测。
最新的 AI 新闻 + 洞察分析
在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。
立即订阅
主成分分析的工作原理
主成分分析 (PCA) 将大型数据集的信息内容汇总为一组较小的不相关变量,称为主成分。这些主成分是原始变量的线性组合,与其他线性组合相比,它们具有最大方差。这些成分从原始数据集中捕获尽可能多的信息。
这种统计技术涉及线性代数和矩阵运算,它将原始数据集转换为由主成分构成的新坐标系。支撑主成分的协方差矩阵的特征向量和特征值允许分析这些线性变换。
假设您绘制了一个具有多个特征的数据集,从而形成了一个多维散点图。特征向量提供散点图中方差的方向。特征值是特征向量的系数;这些表示该方向数据的重要性。因此,特征值越高表示相应特征向量越重要。由于主成分表示数据中最大方差的方向,因此它们也是协方差矩阵的特征向量。
主成分分析 (PCA) 中计算两个主要成分:第一个主成分 (PC1) 和第二个主成分 (PC2)。
第一主成分
第一主成分 (PC1) 是数据点具有最高或最大方差的空间方向。它是最能代表投影点形状的线。在第一成分中捕获的可变性越大,从原始数据集中保留的信息就越大。没有任何其他主成分能够具有更高的可变性。
第二主成分
我们按照与 PC1 相同的方式计算第二主成分 (PC2)。PC2 解释数据集中第二高的方差,并且必须与 PC1 不相关。也就是说,PC2 必须与 PC1 正交,即垂直。这种关系也可以表示为 PC1 和 PC2 之间的相关性为零。
当 PCA 应用到数据集时,散点图通常用于显示 PC1 和 PC2 之间的关系。PC1 和 PC2 轴将相互垂直。
如果有任何后续成分,那么它们也将保留相同的属性,即它们不会与其他成分相关,并解释任何剩余的变化。
主成分分析 (PCA) 计算过程
主成分分析 (PCA) 计算过程总结为以下步骤,展示主成分的计算方式以及它们与原始数据的关系。
将连续初始变量的范围标准化
由于 PCA 可能偏向于特定特征,因此评估是否需要对数据进行归一化非常重要。数据应反映平均值为 0、标准差为 1 的正态分布。
在此步骤中,计算变量的平均值将其从原始数据集中减去,以便每个变量对分析的贡献均等。然后将该值除以每个变量的标准差,以便所有变量使用相同的比例。
计算协方差矩阵以确定相关性
协方差 (cov) 衡量两个或多个变量之间的相关性强弱。协方差矩阵总结了与数据集中所有初始变量配对组合相关的协方差。计算协方差矩阵有助于确定变量之间的关系,即变量之间如何偏离平均值。该数据矩阵是一个对称矩阵,这意味着变量组合可以表示为 d × d,其中 d 是维数。例如,对于三维数据集,协方差矩阵中将有 3 × 3 或 9 个变量组合。
矩阵中变量的符号告诉我们组合是否相关:
正(变量相关,同时增加或减少)
负(变量不相关,即一个变量减少,而另一个变量增加)
零(变量彼此不相关)
计算协方差矩阵的特征向量和特征值
在这里,我们计算协方差矩阵的特征向量(主成分)和特征值。作为特征向量,主成分表示数据中最大方差的方向。特征值表示每个成分的方差量。按特征值对特征向量进行排名可识别主成分的顺序。
选择主成分
在这里,我们决定保留和丢弃哪些成分。特征值较低的成分通常不会那么重要。碎石图通常绘制解释的总方差比例和方差的累积比例。这些指标有助于确定要保留的成分的最佳数量。所解释的特征值或总方差的 Y 轴创建“弯头”的点通常表示我们要包含多少个 PCA 成分。
将数据转换到新的坐标系
最后,将数据转换到由主成分定义的新坐标系中。也就是说,由协方差矩阵的特征向量创建的特征向量将数据投影到由主成分定义的新轴上。这会创建新数据,捕获大部分信息,但维度少于原始数据集。
Mixture of Experts | 8 月 28 日,第 70 集
解码 AI:每周新闻摘要
加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。
观看最新播客节目
主成分分析 (PCA) 结果解读
主成分分析 (PCA) 图是使用前两个主成分作为轴创建的散点图。x 轴为第一主成分 (PC1),y 轴为第二主成分 (PC2)。散点图显示了观测值(数据点)和新变量(主成分)之间的关系。每个点的位置显示该观测的 PC1 和 PC2 值。
绘图箭头的方向和长度指示变量的载荷,即每个变量对主成分的贡献。如果一个变量对于特定成分具有高载荷,则它与该成分具有强相关性。这可以突出显示哪些变量对数据变化有重大影响。
应用主成分分析 (PCA) 后剩余的主成分数量可帮助您解释数据输出。第一个主成分解释最大的数据方差,后面每个成分解释更小的方差。因此,成分的数量可以表示从原始数据集中保留的信息量。应用主成分分析 (PCA) 后,成分越少可能意味着您没有捕捉到太多的数据变化。成分越多表示数据变化越多,但结果可能更难解释。您可以使用碎石图或累积解释方差来确定要保留成分的最优数量。
主成分分析的应用
应用主成分分析 (PCA) 可帮助从具有许多变量的数据集中预处理或提取信息量最大的特征。预处理可降低复杂性,同时保留相关信息。使用 PCA 的常见场景包括:
图像压缩
主成分分析 (PCA) 可降低图像维度,同时保留基本信息。它有助于创建紧凑的图像表示,使其更易于存储和传输。
数据可视化
主成分分析 (PCA) 通过将高维数据投影到低维空间(例如 2D 或 3D 图)来帮助实现高维数据的可视化。这简化了数据解释和探索。
噪声过滤
PCA 可以通过关注捕获潜在模式的主要成分来消除数据中的噪声或冗余信息。
预测乳腺癌
PCA 在医疗保健领域也有应用。例如,它帮助更早、更准确地诊断疾病。论文 Breast Cancer Prediction using Principal Component Analysis with Logistic Regression 分析了一个著名的乳腺癌数据集2,该数据集收集自麦迪逊威斯康星大学医院病人的数据。该研究的作者 Akbar 使用 PCA 来降低六种不同数据属性的维度:
乳房肿块的 mean_radius
X 射线图像的 mean_texture
肿块的 mean_perimeter
肿块的 mean_area
图像的 mean_smoothness
诊断(患者是否被诊断出患有癌症)。
然后应用监督学习分类算法即逻辑回归来预测是否存在乳腺癌。
什么时候使用主成分分析 (PCA)
还有许多其他降维技术可用,包括线性判别分析、随机森林、统一流形逼近与投影 (UMAP) 以及 t 分布随机邻近嵌入 (t-SNE)。确定主成分分析 (PCA) 是否适合您的分析方法时,请考虑以下因素:
线性:PCA 是一种线性技术,而 t-SNE 和 UMAP 等其他技术是非线性的。这意味着 PCA 更适合变量之间具有线性关系的数据集。非线性技术更适合变量之间具有非线性或更复杂关系的数据集。
计算:PCA 使用矩阵运算进行计算,以高效管理大型数据集。其他技术(例如 t-SNE 和 UMAP)成本高昂,可能不适用于大型数据集。
信息保留:PCA 保留数据中的最大方差量。t-SNE 和 UMAP 专注于保留数据的本地结构。因此,PCA 更适合识别最重要的数据变量。非线性技术更适合于低维数据的可视化。
特征提取:主成分分析 (PCA) 是一种特征提取技术。它产生的新变量是原始变量的线性组合。其他技术(例如 UMAP 和 t-SNE)不会创建新变量。这意味着主成分分析 (PCA) 可以识别数据中最重要的变量。非线性技术更适合于低维数据的可视化。