PCA的线性


35

PCA被认为是线性过程,但是:

PCA(X)PCA(X1)+PCA(X2)++PCA(Xn),

其中 。这就是说,由PCA在数据矩阵上获得的特征向量的总和不等于由PCA在数据矩阵的总和上获得的特征向量。但是线性函数的定义不是:X=X1+X2++XnXiXif

f(x+y)=f(x)+f(y)?

那么,如果PCA不满足线性这一非常基本的条件,为什么将其视为“线性”呢?


我曾经写过或听到过(对不起,我不记得在哪里或什么时候),PCA“属于线性过程族”,因为它依赖于变量之间的线性依赖性。它使用Pearson相关矩阵并寻求方差最大的线性组合。
卢卡斯Deryło

4
通过考虑普通最小二乘回归的简单得多且常规的设置,此问题的性质可能会变得更加清晰:这是线性统计过程的原型。然而,如公式,估计最小二乘系数的过程显然是数据矩阵非线性函数。(注意,它是响应向量的线性函数。)Xβ^=(XX)1Xyy
whuber

4
可能值得记住的是f(x)= x + 1也是一个“线性函数” ...但是它不能满足您刚才所说的...这应该可以解释一些东西。
Mehrdad

那是因为(X1+X2)T(X1+X2)X1TX1+X2TX2
Gabriel

Answers:


39

当我们说PCA是线性方法时,我们指的是降维映射从高维空间到低维空间。在PCA中,此映射是通过与PCA特征向量矩阵相乘得出的,因此显然是线性的(矩阵乘法是线性的):这与降维的非线性方法相反,在降维方法中,降维映射可以是非线性的。f:xzRpRkx

z=f(x)=Vx.

另一方面,使用您所说的从数据矩阵中计算出顶部特征向量您问题中的: 并且映射肯定是非线性的:它涉及计算协方差矩阵的特征向量,这是一个非线性过程。(作为一个简单的例子,乘法 由增加的协方差矩阵由,但其本征向量留,因为它们归一化为具有单位长度的相同)。kVRp×kXRn×pPCA()

V=PCA(X),
X24

对于这个简单的答案,我获得了35票赞成,这是非常荒谬的(并且主要是由于该线程在“热网络问题”中存在了一段时间)。
变形虫说莫妮卡(Reonica Monica)

5

“线性”可能意味着很多事情,并且并非仅以正式方式使用。

PCA在形式上通常不被定义为函数,因此,当如此描述时,PCA不能满足线性函数的要求。正如您所说,它通常被描述为一个过程,有时甚至被描述为一种算法(尽管我不喜欢这最后一个选项)。人们通常认为它是非正式的,没有明确定义的方式是线性的。

例如,在以下意义上,可以将PCA视为线性的。它属于一系列方法,这些方法认为每个变量可以通过函数近似, 其中并且是一组变量,其中一些变量属性。在PCA的情况下,是一组自变量,可以在特定意义上以最小的近似精度损失来减小基数。在许多设置中,这些都是理想的属性。Xi

XifY(α)
αRkYkY

现在,对于PCA,每个被限制为 ,即变量的线性组合。fi

fY(α)=i=1kαiYi
Y

鉴于此限制,它提供了一个过程来找到和的最佳值(在某种意义上)。也就是说,PCA仅将线性函数视为合理的假设。从这个意义上讲,我认为可以合理地将其描述为“线性”。Yαij


3

PCA提供/是线性变换。

如果您获取与特定分析相关的地图,请说然后。MPCA(X1+X2)M(X1+X2)=M(X1)+M(X2)

罪魁祸首是,和不是相同的线性变换。PCA(X1+X2)PCA(X1)PCA(X2)


作为比较,使用线性变换但本身不是线性变换的过程的一个非常简单的示例:

旋转加倍的矢量的角度(说在2-d欧几里得空间中的点)与一些参考矢量(说),不是线性变换。例如D(v)v[x,y]=[1,0]

D([1,1])[0,2]

D([0,1])[1,0]

D([1,1]+[0,1]=[1,2])[0.78,2.09][1,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.