为什么只有n - 1n−1如果维数为数据的主成分?nn≥n _≥n

机器算法验证 主成分分析 降维 特征值
2022-02-03 05:26:55

在 PCA 中,当维数大于(甚至等于)样本数时,为什么最多会有个非零特征向量?换句话说,协方差矩阵在个维度中的秩是dNN1dNN1

示例:您的样本是矢量化图像,尺寸为,但您只有图像。d=640×480=307200N=10

2个回答

考虑一下 PCA 的作用。简而言之,PCA(最常见的运行方式)通过以下方式创建一个新的坐标系:

  1. 将原点移动到数据的质心,
  2. 挤压和/或拉伸轴以使它们的长度相等,并且
  3. 将您的轴旋转到新的方向。

(有关更多详细信息,请参阅此出色的 CV 线程:理解主成分分析、特征向量和特征值。)但是,它不仅仅以任何旧方式旋转轴。你的新X1(第一个主成分)面向数据的最大变化方向。第二个主成分朝向与第一个主成分正交的下一个最大变化量的方向其余的主成分同样形成。

考虑到这一点,让我们检查@amoeba 的示例这是一个在三维空间中有两个点的数据矩阵:

X=[111222]
让我们在(伪)三维散点图中查看这些点:

在此处输入图像描述

因此,让我们按照上面列出的步骤进行操作。(1) 新坐标系的原点将位于(1.5,1.5,1.5). (2) 轴已经相等。(3) 第一个主成分将从(0,0,0)(3,3,3),这是这些数据变化最大的方向。现在,第二个主成分必须与第一个主成分正交,并且应该朝着剩余变化最大的方向前进。但那是什么方向?是不是从(0,0,3)(3,3,0),或从(0,3,0)(3,0,3), 或者是其他东西? 没有剩余的变异,因此不能再有任何主成分

N=2数据,我们可以拟合(最多)N1=1主要成分。

假设我们有一个矩阵X=[x1,x2,,xn], 其中每个xi是来自的观察(样本)d维空间,所以X是一个d经过n矩阵,和d>n.

如果我们首先将数据集居中,我们有i=1nxi=0, 意思是:x1=i=2nxi,所以列秩为Xn1, 然后rank(X)n1.

我们知道rank(XXT)=rank(X)n1, 所以XXT最多有n1非零特征值。