理解主成分分析、特征向量和特征值

机器算法验证 主成分分析 直觉 特征值 规范问题
2022-02-06 09:54:05

在今天的模式识别课上,我的教授谈到了 PCA、特征向量和特征值。

我理解它的数学原理。如果我被要求找到特征值等。我会像机器一样正确地做。但我不明白我没有明白它的目的。我没有感觉到它。

我坚信以下引用:

除非你能向你的祖母解释,否则你并不真正理解某事。 - 艾尔伯特爱因斯坦

好吧,我无法向外行或祖母解释这些概念。

  1. 为什么选择 PCA、特征向量和特征值?对这些概念有什么需求?
  2. 你会如何向外行解释这些?
4个回答

想象一下一场盛大的家庭晚餐,每个人都开始向您询问有关 PCA 的问题。首先你向你的曾祖母解释过;然后给你祖母;然后给你妈妈;然后给你的配偶;最后,送给你的女儿(她是一名数学家)。每次下一个人都少了一个门外汉。以下是对话的方式。

曾祖母:听说你在学“Pee-See-Ay”。我想知道那是什么...

你:啊,就是总结一些数据的方法。看,我们的桌子上放着一些酒瓶。我们可以通过颜色、烈度、年份等来描述每种葡萄酒。 可视化最初在这里找到。葡萄酒图表的颜色

我们可以列出酒窖中每种葡萄酒的不同特征。但其中许多将测量相关属性,因此将是多余的。如果是这样,我们应该可以总结出每一款酒的特点都比较少!这就是 PCA 所做的。

奶奶:这很有趣!那么这个 PCA 东西会检查哪些特征是冗余的并丢弃它们?

你:很好的问题,奶奶!不,PCA 没有选择某些特征并丢弃其他特征。相反,它构建了一些新的特征,这些特征最终很好地总结了我们的葡萄酒清单。当然,这些新特性是使用旧特性构建的;例如,一个新的特征可能被计算为葡萄酒年龄减去葡萄酒酸度水平或其他类似的组合(我们称之为线性组合)。

事实上,PCA 找到了可能的最佳特征,即总结葡萄酒列表的特征以及唯一可能的特征(在所有可能的线性组合中)。这就是它如此有用的原因。

母亲:嗯,这听起来确实不错,但我不确定我是否理解。当您说这些新的 PCA 特征“总结”了葡萄酒清单时,您的实际意思是什么?

你:我想我可以对这个问题给出两个不同的答案。第一个答案是您正在寻找一些葡萄酒特性(特征)在葡萄酒之间存在很大差异。事实上,想象一下你想出一个与大多数葡萄酒相同的属性。这不会很有用,不是吗?葡萄酒非常不同,但您的新财产让它们看起来都一样!这肯定是一个糟糕的总结。相反,PCA 会寻找尽可能多地表现出葡萄酒差异的属性。

第二个答案是您寻找可以让您预测或“重建”原始葡萄酒特征的属性。再一次,假设你想出了一个与原始特征无关的属性;如果你只使用这个新属性,你就无法重建原来的属性!这又是一个糟糕的总结。因此,PCA 寻找允许尽可能重建原始特征的属性。

令人惊讶的是,事实证明这两个目标是等效的,因此 PCA 可以用一块石头杀死两只鸟。

配偶:但是亲爱的,PCA 的这两个“目标”听起来如此不同!为什么它们是等价的?

你:嗯。或许我应该画一点(拿一张餐巾纸开始涂鸦)让我们挑选两个葡萄酒特征,也许是葡萄酒的深色和酒精含量——我不知道它们是否相关,但让我们想象一下它们是相关的。以下是不同葡萄酒的散点图:

PCA 示例数据

这个“酒云”中的每个点都显示了一种特定的酒。您会看到这两个属性()是相关的。一个新的属性可以通过在这个酒云的中心画一条线并将所有点投影到这条线上来构建。这个新属性将由线性组合给出,其中每一行对应于的某些特定值。xyw1x+w2yw1w2

现在仔细看这里——下面是这些投影对于不同线条的样子(红点是蓝点的投影):

PCA 动画:方差和重建误差

正如我之前所说,PCA 将根据“最佳”的两个不同标准找到“最佳”线。首先,沿着这条线的值的变化应该是最大的。注意红点的“点差”(我们称之为“方差”)随着线的旋转是如何变化的;你能看到它什么时候达到最大值吗?其次,如果我们从新的特征(红点的位置)重构原始的两个特征(蓝点的位置),重构误差将由连接红线的长度给出。观察这些红线的长度是如何随着线的旋转而变化的;你能看到总长度何时达到最小值吗?

如果你盯着这个动画看一段时间,你会注意到“最大方差”和“最小误差”同时达到,即当线指向我在酒云两侧标记的洋红色刻度时. 这条线对应于将由 PCA 建造的新葡萄酒产地。

顺便说一下,PCA 代表“主成分分析”,这个新属性被称为“第一主成分”。而不是说“属性”或“特征”,我们通常说“特征”或“变量”。

女儿:很好,爸爸!我想我明白为什么这两个目标会产生相同的结果:本质上是因为毕达哥拉斯定理,不是吗?无论如何,我听说 PCA 在某种程度上与特征向量和特征值有关;他们在这张照片上的什么位置?

你:精彩的观察。在数学上,红点的散布是用酒云中心到每个红点的平均平方距离来衡量的;如您所知,它被称为方差另一方面,总重构误差被测量为相应红线的平均平方长度。但由于红线和黑线之间的夹角始终为,因此这两个量的和等于酒云中心与每个蓝点之间的平均平方距离;这正是毕达哥拉斯定理。当然,这个平均距离不取决于黑线的方向,所以方差越大,误差越低(因为它们的总和是恒定的)。这种手摇的论点可以变得精确(90见这里)。

顺便说一下,你可以想象黑线是一根实心杆,每条红线都是一个弹簧。弹簧的能量与其长度的平方成正比(这在物理学中被称为胡克定律),因此杆将自行定向,以使这些平方距离的总和最小化。在存在一些粘性摩擦的情况下,我模拟了它的外观:

PCA 动画:钟摆

关于特征向量和特征值。你知道什么是协方差矩阵在我的示例中,它是一个矩阵,由这意味着变量的方差是变量的方差是,它们之间的协方差是由于它是一个正方形对称矩阵,它可以通过选择一个新的正交坐标系来对角化,由它的特征向量给出(顺便说一下,这被称为谱定理2×2

(1.070.630.630.64).
x1.07y0.640.63); 相应的特征值将位于对角线上。在这个新的坐标系中,协方差矩阵是对角的,看起来像:这意味着点之间的相关性现在为零。很明显,任何投影的方差都将由特征值的加权平均值给出(我只是在这里勾勒出直觉)。因此,如果我们简单地在第一个坐标轴上进行投影,将获得最大可能的方差 (由此可见,第一主成分的方向由协方差矩阵的第一特征向量给出。这里有更多细节。
(1.52000.19),
1.52

您也可以在旋转的图形上看到这一点:那里有一条与黑色垂直的灰色线;它们一起形成一个旋转坐标系。尝试注意蓝点何时在此旋转框架中变得不相关。再次,答案是它恰好发生在黑线指向洋红色滴答声时。现在我可以告诉你我是如何找到它们的(洋红色刻度):它们标记了协方差矩阵的第一个特征向量的方向,在这种情况下等于(0.81,0.58)


根据受欢迎的要求,我分享了制作上述动画的 Matlab 代码

Lindsay I Smith的手稿“主成分分析教程”确实帮助我了解了 PCA。我认为这仍然太复杂,无法向您的祖母解释,但还不错。您应该跳过计算特征等的前几位。跳到第 3 章中的示例并查看图表。

我有一些例子,我在其中研究了一些玩具例子,这样我就可以理解 PCA 与 OLS 线性回归。我会尝试挖掘这些并发布它们。

编辑: 您并没有真正询问普通最小二乘法 (OLS) 和 PCA 之间的区别,但自从我挖出我的笔记后,我写了一篇关于它的博客文章非常短的版本是 y ~ x 的 OLS 最小化垂直于独立轴的误差,如下所示(黄线是两个错误的示例):

替代文字

如果您要回归 x ~ y(与第一个示例中的 y ~ x 相反),它将最小化如下错误:

替代文字

和 PCA 有效地最小化与模型本身正交的误差,如下所示:

替代文字

更重要的是,正如其他人所说,在您拥有大量自变量的情况下,PCA 可以帮助您找出这些变量的哪些线性组合最重要。上面的例子只是帮助在一个非常简单的情况下可视化第一个主成分的样子。

在我的博客文章中,我有用于创建上述图表和计算第一个主成分的 R 代码。围绕 PCA 建立你的直觉可能值得一试。在我编写复制它的代码之前, 我往往不会真正拥有它。

让我们先做(2)。PCA 将椭球拟合到数据。椭圆体是扭曲的球形形状(如雪茄、煎饼和鸡蛋)的多维概括。这些都被它们的主要(半)轴的方向和长度整齐地描述,例如雪茄或鸡蛋的轴或煎饼的平面。无论椭圆体如何转动,特征向量都指向这些主要方向,而特征值会为您提供长度。最小的特征值对应于变化最小的最薄的方向,因此忽略它们(这会使它们变平)丢失的信息相对较少:这就是 PCA。

(1) 除了简化(上图),我们还需要简洁的描述、可视化和洞察力。能够减少维度是一件好事:它可以更容易地描述数据,如果我们幸运地将它们减少到三个或更少,让我们画一幅画。有时我们甚至可以找到有用的方法来解释图中坐标所表示的数据组合,从而可以深入了解变量的联合行为。


该图显示了一些云,每个云有个点,以及包含每个云 50% 的椭球和与主方向对齐的轴。在第一行,云基本上有一个主成分,占所有方差的 95%:这些是雪茄的形状。在第二行中,云基本上有两个主成分,一个大约是另一个大小的两倍,加起来占所有方差的 95%:这些是煎饼形状。在第三行中,所有三个主要成分都相当大:这些是蛋形。200

数据

任何在不显示集群、卷须或异常值的意义上“连贯”的 3D 点云都将看起来像其中之一。任何 3D 点云——只要不是所有的点重合——都可以用这些图之一来描述,作为识别进一步聚类或图案化的初始出发点。

您从考虑此类配置中获得的直觉可以应用于更高的维度,即使很难或不可能将这些维度可视化。

嗯,这里对 PCA 进行完全非数学的处理......

想象一下,你刚刚开了一家苹果酒店。你有 50 种苹果酒,你想弄清楚如何将它们分配到货架上,以便将味道相似的苹果酒放在同一个货架上。苹果酒有很多不同的口味和质地——甜味、酸味、苦味、酵母味、果味、清澈度、起泡味等。因此,要将瓶子分类,您需要回答两个问题:

1) 哪些品质对于识别苹果酒组最重要?例如,基于甜度的分类是否比基于果味的分类更容易将您的苹果酒归类为相似口味的组?

2)我们可以通过组合其中的一些来减少我们的变量列表吗?例如,实际上是否存在一个变量,它是“酵母度、清晰度和起泡度”的某种组合,并且它为分类品种提供了一个非常好的尺度?

这基本上就是 PCA 所做的。主成分是有用地解释数据集中变化的变量——在这种情况下,有用地区分组。每个主成分都是您的原始解释变量之一,或您的一些原始解释变量的组合。