PCA 的线性度

机器算法验证 主成分分析 线性的
2022-02-09 18:38:02

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

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

其中 这就是说,PCA 在数据矩阵 X_i 上获得的特征向量之和不等于 PCA 在数据矩阵之和上获得的特征的定义不就是:X=X1+X2++XnXiXif

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

那么,如果 PCA 不满足这个非常基本的线性条件,为什么它会被认为是“线性的”呢?

3个回答

当我们说 PCA 是一种线性方法时,我们指的是从高维空间到低维空间在 PCA 中,这个映射是由与 PCA 特征向量矩阵相乘得到的,因此显然是线性的(矩阵乘法是线性的):这与降维的非线性方法形成对比,其中降维映射可以是非线性的。f:xzRpRkx

z=f(x)=Vx.

另一方面,前个特征向量是从数据矩阵使用你所说的在你的问题中: 而且这个映射肯定是非线性的:它涉及计算协方差矩阵的特征向量,这是一个非线性过程. (作为一个简单的例子,将 乘以会使协方差矩阵增加,但其特征向量保持不变,因为它们被归一化为具有单位长度。)kVRp×kXRn×pPCA()

V=PCA(X),
X24

“线性”可以表示很多东西,并且不仅仅以正式的方式使用。

PCA 通常不被定义为正式意义上的函数,因此当这样描述时,预计它不会满足线性函数的要求。正如您所说,它更经常被描述为一个过程,有时是一个算法(尽管我不喜欢最后一个选项)。它通常以一种非正式的、没有明确定义的方式被称为是线性的。

例如,在以下意义上,PCA 可以被认为是线性的。它属于一系列方法,这些方法认为每个变量都可以通过函数 来近似, 其中是一组变量,具有一些期望财产。在 PCA 的情况下,是一组自变量,可以减少基数,而在特定意义上的近似精度损失最小。这些是许多环境中理想的属性。Xi

XifY(α)
αRkYkY

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

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

的最佳(在某种意义上)值也就是说,PCA 仅将线性函数视为似是而非的假设。从这个意义上说,我认为它可以被合理地描述为“线性”。Yαij

PCA 提供/是一种线性变换。

如果你使用与特定分析相关的映射,比如那么MPCA(X1+X2)M(X1+X2)=M(X1)+M(X2)

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


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

旋转将向量(比如二维欧几里得空间中的一个点)与某个参考向量(比如 ),不是线性变换。例如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]

这种角度的加倍,涉及角度的计算,不是线性的,类似于变形虫的说法,即特征向量的计算不是线性的