【问题标题】:Eigenvalues are always 1特征值始终为 1
【发布时间】:2018-06-06 13:39:58
【问题描述】:

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

我使用了以下代码。

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

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

【问题讨论】:

  • 简而言之,pca就是eig。
  • the question you asked yesterday 一起看到这一点,我建议你从一本关于数学的书中学习 PCA,因为你似乎缺乏对它的感知/理解。首先找出您想要实现的目标,然后尝试确定 PCA 是否是正确的工具,如果是,则开始研究它,然后再实施它。看起来你有这条路线倒退。

标签: matlab pca eigenvalue


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 2017-08-10
    • 2014-03-04
    • 2016-07-15
    相关资源
    最近更新 更多