首页 >> 百科

主成分分析法步骤与优缺点(主成分分析法教你

2023-01-29 百科 258 作者:admin

这篇文章的目的是对主成分分析 (PCA) 提供一个完整而简单的解释,尤其是它是如何工作的,以提高对分析方法的理解和利用,而无需强大的数学背景。

PCA其实是网上广泛提及的一种方法,涉及的文章也很多。 然而,很少有文章在不深入研究技术细节的情况下开门见山地解释 PCA 的工作原理和“原因”。 这就是这篇文章的目的:以更简单的方式解释主成分分析。

在开始讲解之前,本文对PCA在每一步的工作原理进行了逻辑性的解释,简化了其背后的数学概念,如标准化、协方差、特征向量和特征值,而不关注如何去做。

什么是主成分分析?

PCA是一种降维方法,常用于对大数据集进行降维,将大的变量集转化为更小的变量集,但仍包含大变量集中的大部分信息。

减少数据集中的变量数量自然是以牺牲精度为代价的,而降维的好处就是用稍低的精度换取简单。 因为较小的数据集更容易探索和可视化,并且使机器学习算法更容易和更快地分析数据而无需处理不相关的变量。

总而言之,PCA 的概念很简单——减少数据集中的变量数量,同时保留尽可能多的信息。

一步一步的解释

第 1 步:标准化

此步骤的目的是规范化输入数据集变量的范围,以便可以大致按比例分析每个变量。

更具体地说,在使用 PCA 之前必须标准化数据的原因是 PCA 对初始变量的方差非常敏感。 也就是说,如果初始变量的范围之间存在较大差异,则范围较大的变量将占据范围较小的变量(例如,范围在 0 到 100 之间的变量将占据 0 到 100 之间的范围) 1变量),这将导致主成分的偏差。 因此,将数据转换为可比较的比例可以避免这个问题。

从数学上讲,这一步可以通过减去平均值并除以每个变量值的标准差来完成。

归一化完成后,所有变量都将转换为相同的范围 [0,1]。

第二步:协方差矩阵计算

此步骤的目的是了解输入数据集的变量相对于平均值的变化情况。 或者换句话说,看他们之间有没有关系。 因为有时候,变量是高度相关的,因为它们包含了很多信息。 因此,为了识别这些相关性,我们执行协方差矩阵计算。

协方差矩阵是 ap × p 对称矩阵(其中 p 是维数),所有可能的初始变量和相关的协方差作为条目。 例如,对于一个有3个变量x、y、z的三维数据集,协方差矩阵就是下面的3×3矩阵:

由于变量与自身的协方差是它的方差 (Cov(a,a)=Var(a)),在主对角线(左上角到右下角)你实际上有每个起始变量的方差。 并且由于协方差是可交换的 (Cov(a,b) = Cov(b,a)),协方差矩阵的项关于主对角线对称,这意味着上三角部分和下三角部分相等。

作为矩阵项的协方差告诉我们变量之间的相关性是什么?

协方差的重要标志如下:

· 如果为正,则两个变量同时增加或减少(相关)

· 如果为负,则一个减少另一个增加(不相关)

好的,现在我们知道协方差矩阵只不过是一张表,总结了所有可能配对的变量之间的相关性。 让我们继续下一步。

第三步:计算协方差矩阵的特征向量和特征值,识别主成分

特征向量和特征值都是线性代数概念,需要从协方差矩阵计算,以确定数据的主成分。 在开始解释这些概念之前,让我们先了解一下主成分的含义。

主成分是由初始变量的线性组合或混合形成的新变量。 这种组合中的新变量(如主成分)彼此不相关,大部分原始变量被压缩到第一个成分中。 因此,10 维数据将显示 10 个主成分,但 PCA 会尝试在第一个成分中获取尽可能多的信息,然后在第二个成分中获取尽可能多的剩余信息,依此类推。

例如,假设你有一个 10 维数据,你最终会得到类似下面的截图,其中第一个主成分包含原始数据集的大部分信息,而最后一个主成分只包含它的一小部分. 因此,以这种方式组织信息可以在不丢失太多信息的情况下进行降维,这将需要丢弃携带较少信息的组件。

需要认识到的一件重要事情是,由于新变量是由原始变量的线性组合构成的,因此它们将更加难以解释,并且对我们没有任何实际意义。

从几何上讲,主成分代表了解释最大方差的数据方向,也就是说,它们是捕获数据中大部分信息的线。 这里,方差与信息的关系是,直线所携带的方差越大,数据点沿线的分散度越大,沿线的点越分散,所携带的信息就越多。 简而言之,只需将主成分视为提供最佳角度来查看和评估数据的新轴,以便观察结果之间的差异更加明显。

PCA 如何构建主成分?

由于主成分的数量与数据中变量的数量一样多,因此主成分的构造方式是第一个主成分占数据集中最大可能的方差。 例如,假设我们的数据集的散点图如下所示,是否可以猜出第一主成分? 是的,那是与紫色标记大致匹配的线。 因为它经过原点,而且是点(红点)的投影最分散的线。 或者从数学上讲,它是使方差最大化的线(从投影点(红点)到原点的平方距离的平均值)。

第二个主成分以相同的方式计算,前提是它与第一个主成分不相关(即垂直),并且它占第二大方差。

直到计算出p个主成分的个数,等于原始变量的个数。

现在我们了解了主成分的含义,让我们回到特征向量和特征值。 首先,你只需要知道它们总是成对出现,所以每个特征向量都有一个特征值,它们的个数等于数据的维数。 例如,对于 3D 数据集,有 3 个变量,因此有 3 个具有相应特征值的特征向量。

不用说,上面解释的所有“魔术”都是特征向量和特征值,因为协方差矩阵的特征向量实际上是方差最大(或信息最多)的轴的方向,我们称之为主成分。 并且,特征值只是附加到特征向量的系数,这些系数给出了每个主成分中携带的方差量。

按照特征值的顺序对特征向量进行排序,从最高到最低,您将获得按重要性排序的主成分。

例子:

假设我们的数据集是二维的,有2个变量x,y,协方差矩阵的特征向量和特征值如下:

如果我们将特征值按降序排列,得到λ1>λ2,也就是说第一主成分(PC1)对应的特征向量是v1,第二主成分(PC2)对应的特征向量是v2。

一旦我们有了主成分,为了计算每个成分贡献的方差(信息)百分比,我们将每个成分的特征值除以特征值之和。 如果我们将这个算法应用到上面的例子中,我们会发现 PC1 和 PC2 分别携带了数据的 96% 和 4% 的方差。

第 4 步:特征向量

正如我们在上一步中看到的,计算特征向量并按特征值的降序对它们进行排序使我们能够按重要性顺序找到主成分。 这一步我们要做的就是选择保留所有分量或者舍弃那些不太重要(低特征值)的分量,与其他分量组成一个向量矩阵,我们称之为特征向量。

因此,特征向量只是一个矩阵,其中包含我们决定保留为列的组件的特征向量。 这是降维的第一步,因为如果我们选择只保留 n 个特征向量(分量)中的 p 个,则最终数据集将只有 p 个维度。

例子:

按照上一步的示例,我们可以使用 v1 或 v2 向量来形成特征向量。

或者丢弃不太重要的向量v2,只用v1构成特征向量。

删除特征向量 v2 会将维数减少 1,并导致最终数据集中的信息丢失。 但是考虑到 v2 只携带了 4% 的信息,损失并不重要,我们仍然拥有 v1 携带的 96% 的信息。

因此,正如我们在示例中看到的那样,您可以选择是保留所有成分还是丢弃不重要的成分,具体取决于您要查找的内容。 如果你不追求降维,只想用新的不相关的变量(主成分)来描述你的数据,那么你不需要保留不太重要的成分。

最后一步:沿主成分轴重新绘制数据

在前面的步骤中,除了标准化之外不需要更改任何数据,只需选择构成特征向量的主成分,但在输入数据集时始终与原始轴(即初始变量)对齐。

在这一步和最后一步中,目标是使用协方差矩阵的特征向量形成新的特征向量,将数据从原始轴重新定向到主成分轴(因此得名 PCA)。 这可以通过将原始数据集的转置乘以特征向量的转置来完成。

郑重声明:本文版权归原作者所有,转载文章仅出于传播更多信息之目的。 如作者信息标注有误,请第一时间联系我们修改或删除,谢谢。

关于我们

最火推荐

小编推荐

联系我们


Copyright 8S新商盟 Rights Reserved.
联系YY号:2949821684
邮箱:chenjing919994@sohu.com
备案号:浙ICP备2023016511号-1