机器学习中的 PCA:假设、应用步骤和应用
已发表: 2020-11-12目录
了解 ML 中的降维
ML(机器学习)算法使用一些数据进行测试,这些数据在开发和测试时可以称为特征集。 开发人员需要减少其特征集中的输入变量数量,以提高任何特定 ML 模型/算法的性能。
例如,假设您有一个包含许多列的数据集,或者您在 3-D 空间中有一个点数组。 在这种情况下,您可以通过在 ML 中应用降维技术来减少数据集的维度。 PCA(主成分分析)是 ML 开发人员/测试人员广泛使用的降维技术之一。 让我们深入了解机器学习中的 PCA。
主成分分析
PCA 是一种无监督统计技术,用于减少数据集的维度。 具有许多输入变量或更高维度的 ML 模型在对更高输入数据集进行操作时往往会失败。 PCA 有助于识别不同变量之间的关系,然后将它们耦合起来。 PCA 在一些要遵循的假设上工作,它帮助开发人员维护一个标准。
PCA 涉及将数据集中的变量转换为一组称为 PC(主成分)的新变量。 主成分将等于给定数据集中原始变量的数量。
第一个主成分 (PC1) 包含早期变量中存在的最大变化,并且随着我们移动到较低的水平,这种变化会减小。 最终 PC 的变量变化最小,您将能够减少功能集的尺寸。
PCA 中的假设
PCA 中有一些假设需要遵循,因为它们将导致这种降维技术在 ML 中准确运行。 PCA 中的假设是:

• 数据集中必须存在线性,即变量以线性方式组合形成数据集。 变量表现出它们之间的关系。
• PCA 假设必须注意具有高方差的主成分,而将具有较低方差的主成分视为噪声。 Pearson 相关系数框架导致了 PCA 的起源,并且首先假设具有高方差的轴只会变成主成分。
• 所有变量都应在相同的比率测量水平上访问。 最优选的规范是样本集的至少 150 个观测值,比率测量值为 5:1。
• 偏离任何数据集中其他数据点的极值(也称为异常值)应该更少。 更多数量的异常值将代表实验错误,并会降低您的 ML 模型/算法。
• 特征集必须是相关的,应用 PCA 后减少的特征集将代表原始数据集,但以更少维度的有效方式。
必读:印度的机器学习薪资
应用 PCA 的步骤
在任何 ML 模型/算法上应用 PCA 的步骤如下:
• 数据的规范化对于应用 PCA 是非常必要的。 未缩放的数据可能会导致数据集的相对比较出现问题。 例如,如果我们在某个二维数据集中的列下有一个数字列表,则从所有数字中减去这些数字的平均值以标准化二维数据集。 规范化数据也可以在 3-D 数据集中完成。
• 标准化数据集后,找出不同维度之间的协方差并将它们放入协方差矩阵中。 协方差矩阵中的非对角元素将代表每对变量之间的协方差,对角元素将代表每个变量/维度的方差。
为任何数据集构建的协方差矩阵将始终是对称的。 协方差矩阵将表示数据中的关系,您可以轻松了解每个主成分的方差量。
• 您必须找到协方差矩阵的特征值,该矩阵表示图中数据在正交基础上的变异性。 您还必须找到协方差矩阵的特征向量,它表示数据中最大方差发生的方向。

假设您的协方差矩阵“C”有一个由“C”的特征值组成的方阵“E”。 在这种情况下,它应该满足这个方程——(EI – C) = 0 的行列式,其中“I”是与“C”维数相同的单位矩阵。 您应该检查它们的协方差矩阵是否是对称/方阵,因为这样只能计算特征值。
• 按升序/降序排列特征值并选择较高的特征值。 您可以选择要处理的特征值数量。 忽略较小的特征值会丢失一些信息,但这些微小的值不会对最终结果产生足够的影响。
选定的更高特征值将成为您更新的特征集的维度。 我们还形成了一个特征向量,它是一个由相对选择的特征值的特征向量组成的向量矩阵。
• 使用特征向量,我们找到正在分析的数据集的主要成分。 我们将特征向量的转置与缩放矩阵的转置相乘(归一化后数据的缩放版本)以获得包含主成分的矩阵。
我们会注意到最高特征值将适合数据,而其他特征值不会提供有关数据集的太多信息。 这证明了我们在减少数据集的维度时并没有丢失数据; 我们只是更有效地代表它。
实施这些方法是为了最终减少 PCA 中任何数据集的维度。
PCA的应用
许多部门都会产生数据,因此需要分析数据以了解任何公司/公司的增长。 PCA 将有助于减少数据的维度,从而使其更易于分析。 PCA的应用有:
• 神经科学——神经科学家使用 PCA 来识别任何神经元或在相变期间绘制大脑结构图。
• 金融——PCA 在金融领域用于降低数据维度以创建固定收益投资组合。 金融部门的许多其他方面都涉及 PCA,例如预测收益、制定资产配置算法或股权算法等。
• 图像技术——PCA 也用于图像压缩或数字图像处理。 通过绘制每个像素的强度值,可以通过矩阵表示每个图像,然后我们可以对其应用 PCA。
• 面部识别– 面部识别中的PCA 导致创建特征面部,从而使面部识别更加准确。
• 医疗——PCA 用于大量医疗数据,以找出不同变量之间的相关性。 例如,医生使用 PCA 来显示胆固醇和低密度脂蛋白之间的相关性。

• 安全性——使用 PCA 可以轻松发现异常。 它用于识别网络/计算机攻击并在 PCA 的帮助下将其可视化。
外卖点
如果原始数据集的相关性较弱或没有相关性,应用 PCA 后也会导致模型性能低下。 这些变量需要相互关联才能完美地应用 PCA。 PCA 为我们提供了特征的组合,并且从原始数据集中消除了单个特征的重要性。 方差最大的主轴是理想的主成分。
另请阅读:机器学习项目理念
结论
PCA 是一种广泛使用的技术,用于减少特征集的维度。
如果您有兴趣了解有关机器学习的更多信息,请查看 IIIT-B 和 upGrad 的机器学习和人工智能 PG 文凭,该文凭专为工作专业人士设计,提供 450 多个小时的严格培训、30 多个案例研究和作业、IIIT- B 校友身份、5 个以上实用的实践顶点项目和顶级公司的工作协助。
PCA 可以用于所有数据吗?
是的。 主成分分析 (PCA) 是一种数据分析技术,它提供了一种查看和理解非常高维数据的方法。 换句话说,PCA 可以应用于具有大量变量的数据。 有一个普遍的误解,认为 PCA 只能用于特定形式的数据。 例如,许多人认为 PCA 仅对数值变量有用。 不是这种情况。 事实上,PCA 可以用于所有类型的变量。 例如,PCA 可以应用于分类变量、有序变量等。
主成分分析的局限性是什么?
PCA 是分析数据和提取两个或三个最重要因素的绝佳工具。 发现异常值和趋势非常好。 但是,它有一些限制,例如:它不适合小型数据集(通常,数据集应该超过 30 行)。 它不会找到重要因素,而是根据值选择它们。 因此,很难找到重要的因素。 它背后没有强大的数学结构。 很难将数据与 PCA 进行比较。 它找不到任何非线性关系。
主成分分析的优点是什么?
主成分分析 (PCA) 是一种统计方法,用于将大量可能相关的变量转换为数量少得多的不相关变量,称为主成分。 PCA 可以用作数据缩减技术,因为它允许我们找到描述数据集所需的最重要的变量。 PCA 还可用于降低数据空间的维数,以便深入了解数据的内部结构。 这在处理大型数据集时很有帮助。