特征值始终为 1

Eigenvalues are always 1

当我得到 PCA 变换图像的对角线特征值时,无论图像是什么,我总是得到 1。这背后的原因是什么?

我使用了下面的代码。

coeff = pca(pmap);
disp(coeff);

[V,L]=eig (coeff'*coeff);
Lamda = diag(L);
disp(Lamda);

pca输出的coeff已经是特征向量,都是正交的。它们甚至是正交的,因为 MATLAB 对它们进行了归一化。相对权重在 pcaexplained 输出参数中。

所以 transpose(coeff)*coeff 给你单位矩阵,它只包含 1,单位矩阵的特征向量显然都是 1 在一个维度上。

原因是 因为这就是线性代数的工作原理