关于PCA如何从几何问题(具有距离)转变为线性代数问题(具有特征向量)的直观解释是什么?


54

我读过很多关于PCA,包括各种教程和问题(如这一个这一个这一个,而这一个)。

PCA试图优化的几何问题对我来说很清楚:PCA试图通过最小化重建(投影)误差来找到第一个主成分,这同时使投影数据的方差最大化。

在此处输入图片说明

当我第一次阅读该书时,我立即想到了线性回归之类的东西。也许您可以根据需要使用梯度下降法解决它。

但是,当我看到通过使用线性代数并找到特征向量和特征值来解决优化问题时,我的想法震惊了。我根本不了解线性代数的这种用法如何发挥作用。

所以我的问题是:PCA如何从几何优化问题变成线性代数问题?有人可以提供直观的解释吗?

我不是在寻找像一个回答这一个,说:“当你解决PCA的数学问题,它最终被等同于找到协方差矩阵的特征值和特征向量。” 请解释为什么特征向量出来是主要成分,为什么特征值出来是投影到它们上的数据的方差

顺便说一句,我是软件工程师,而不是数学家。

注意:上图是从本PCA教程中获取并修改的。


2
在第一个链接后面的长话题中,有@amoeba的动画答案,它解释了核心问题。PCA是数据轴(列)的旋转,直到它们与数据矢量(变量)变得不相关为止。这种旋转矩阵是通过特征分解或奇异值分解找到的,称为特征向量矩阵。
ttnphns

2
此外,即使您不是数学家(我也不是),您可能也听说过线性代数欧几里得几何是紧密相关的数学领域。他们甚至作为一门叫做分析几何学的学科一起研究。
ttnphns

1
optimization problem是的,我认为可以通过(迭代,收敛)优化方法解决PCA问题。但是,由于它已经通过数学实现了封闭式解决方案,为什么不使用该更简单,有效的解决方案呢?
ttnphns

你问provide an intuitive explanation。我想知道为什么我已经链接到的变形虫的直观,清晰的答案不适合您。你问_why_ eigenvectors come out to be the principal components...为什么?根据定义!特征向量数据云的主要方向。
ttnphns

6
@ttnphns:我实际上认为这个问题是合理的。这就是我的理解。PCA希望找到投影最大方差的方向。该方向(根据定义)称为第一主要方向。在另一方面,所述协方差矩阵的特征向量是(根据定义)这种载体瓦特c ^ 瓦特= λ 瓦特。那么为什么特征向量最大的特征向量给出第一个主方向呢?这里的直觉是什么?当然不是根据定义。我一直在考虑它,并且我知道如何证明它,但是很难凭直觉进行解释。CwCw=λw
变形虫说恢复莫妮卡

Answers:


54

问题陈述

PCA试图优化的几何问题对我来说很清楚:PCA试图通过最小化重建(投影)误差来找到第一个主成分,这同时使投影数据的方差最大化。

那就对了。我在这里(没有数学)或这里的答案中解释了这两种公式之间的联系(带数学)的。

让我们采取第二种说法:PCA正在尝试寻找方向,以使数据在其上的投影具有最大可能的方差。根据定义,该方向称为第一主要方向。我们可以正式化如下:给定协方差矩阵C,我们正在寻找一个矢量w具有单位长度,w=1个,使得wCw是最大的。

(只是在不清楚的情况下:如果X是居中的数据矩阵,则投影由Xw给出,其方差为1个ñ-1个XwXw=w1个ñ-1个XXw=wCw)。

在另一方面,的特征向量C是,根据定义,任何矢量v,使得Cv=λv

结果表明,第一主方向由特征值最大的特征向量给出。这是不平凡和令人惊讶的声明。


证明

如果打开有关PCA的任何书籍或教程,则可以在上面找到以下关于上述陈述的几乎单行证明。我们要最大限度地wCw的约束下是w=ww=1个 ; 这是可以做到引入拉格朗日乘数和最大化wCw-λww-1个 ; 分化,我们得到Cw-λw=0,这是本征向量方程。我们看到λ实际上已经被代此溶液到目标函数,它给出为最大特征值wCw-λww-1个=wCw=λww=λ。由于该目标函数应被最大化,因此λ必须是最大特征值QED。

对于大多数人来说,这往往不是很直观。

CCλ一世wCwλ一世w一世2w=1个000λ1个wCw

我认为这是一个非常直观且非常有用的论据,但它依赖于谱定理。因此,我认为真正的问题是:谱定理背后的直觉什么?


谱定理

采取对称矩阵C。以它的特征向量w1个与最大特征值λ1个。将此特征向量设为第一个基础向量,并随机选择其他基础向量(以使所有这些向量都是正交的)。C在此基础上将如何看待?

λ1个w1个=1个000Cw1个=C11C21Cp1个λ1个w1个=λ1个000

λ1个

λ1个

C=λ1个0000

λ1个λ2CC


这是对完全相同的论点的更抽象的表述。

Cw1个=λ1个w1个Cvw1个Cvw1个

w1个Cv=w1个Cv=vCw1个=vCw1个=λ1个vw1个=λ1个0=0。

Cw1个w1个w2


我确实很清楚“拉格朗日乘数”。但是,您能告诉我为什么我们需要单位长度约束吗?谢谢
Haitao Du

2
wwCwwwCww

ñ-1个

@amoeba:谢谢您的回答。我对您的某些表达方式感到困惑。您用w表示单位长度向量,该向量原来是第一个特征向量(主要成分)。当我在R(例如prcomp(iris[,1:4], center=T, scale=T))中运行PCA时,我看到带有一堆浮点数的单位长度特征向量(0.521, -0.269, 0.580, 0.564)。但是,在“证明”下的答案中,您写道:要使该表达式最大化,应该简单地采用w =(1,0,0,…,0),即第一个特征向量。为什么证明中的特征向量看起来如此格式正确?
stackoverflowuser2010

1
w1个Cv

5

Eckart and Young(https://ccrma.stanford.edu/~dattorro/eckart%26young.1936.pdf)的结果是从1936年得出的,其结果如下:

1个[RdķüķvķŤ=一种[RG一世ñX^ϵ中号[R||X-X^||F2

其中M(r)是秩r矩阵的集合,这基本上意味着X的SVD的前r个分量给出X的最佳低秩矩阵近似,并且最佳的平方Frobenius范数-平方和矩阵的元素。

这是矩阵的一般结果,乍一看与数据集或降维无关。

XXX^


4

谱定理小号=一种ð一种-1个ð=诊断λ1个λ2λñλ1个λ2λñX1个X2Xñ一种X1个一种X2一种Xñ一种X一世||一种X一世||=λ一世一种X一世
ñ>p[RķX=pX=üΣVŤΣ=s一世Ĵs11s22spp>0Xv一世=s一世一世ü一世一世ps一世一世=0一世>ñv一世ΣVŤ


4

“同时使投影数据的方差最大化。” 您听说过瑞利商吗?也许那是一种看待这种情况的方式。即协方差矩阵的瑞利商为您提供了投影数据的方差。(维基页面解释了为什么特征向量最大化瑞利商)


1

@amoeba给出了简洁的形式化和证明:

我们可以将其形式化如下:给定协方差矩阵C,我们正在寻找具有单位长度“ w” = 1的向量w,以使w T Cw最大。

但是我认为有一个直观的证明:

结果表明,第一主方向由特征值最大的特征向量给出。这是不平凡和令人惊讶的声明。

我们可以将w T Cw 解释为向量w和Cw之间的点积,这是通过w进行变换 C 获得的:

w T Cw =“ w” *“ Cw” * cos(w,Cw)

由于w具有固定长度,为了使w T Cw 最大化,我们需要:

  1. 最大化“ Cw”
  2. 最大化cos(w,Cw)

事实证明,如果我们将w作为具有最大特征值的C的特征向量,则可以同时存档两个特征值:

  1. “ Cw”为最大值(如果w偏离该特征向量,将其沿正交特征向量分解,则应该看到“ Cw”减小。)
  2. w和Cw方向相同,cos(w,Cw)= 1,最大值

由于特征向量是正交的,因此与C的其他特征向量一起构成了X的一组主成分。


1的证明

将w分解为正交的主要和次要特征向量 v1v2假设它们的长度分别为v1和v2,则将。我们想证明

(λ 1 w)的2 >((λ 1 V1)2 +(λ 2 V2)2

由于λ 12,我们有

((λ 1个 V1)2 +(λ 2 V2)2

<((λ 1个 V1)2 +(λ 1 V2)2

=(λ 12 *(V1 2 + V2 2

=(λ 12 *瓦特2

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.