【问题标题】:Reducing dimensions using eigs or eig使用 eigs 或 eig 减小尺寸
【发布时间】:2012-08-08 06:12:01
【问题描述】:

我有一个 1024x704x256 的图像,我已将其重组为二维矩阵。每行代表一个能量通道,每列代表一个像素。我正在执行 PCA 以使用代码减少频段数量:

A=A-repmat(mean(A,2),1,size(A,2));  
[V, D] = eig(cov(A'));  
Evalues = diag(D);  
pc = V * A;  

其中 A=均值调整后的 2D 数据集,V=特征向量矩阵,D=特征值矩阵。

我的问题是 V 和 D 的输出(使用 eigs 或 eig)自动按升序排列。在较小的数据集上使用这些函数之前,我没有遇到过这个问题。我需要知道哪些向量/值对对应于矩阵 A 中的行以进行进一步分析。有什么想法吗?

【问题讨论】:

  • PCA 的目的是将原始数据转换为一组正交分量。因此,您必须放弃与原始数据集中行的对应关系。

标签: matlab pca


【解决方案1】:

特征值/特征向量问题可以定义为

A*V = lambda*V

其中lambda 是标量(特征值),V 是向量(特征向量)。

据我所知,特征值和特征向量都与矩阵A 中的各个行没有任何特定对应关系。

您能否详细说明为什么不希望对特征值/向量进行排序?

【讨论】:

  • 感谢您的回复。我想将变量的数量从 256 个减少到六个或更少。当我减少变量的数量时,我不确定我将不可避免地保留哪些变量。也许这不是 eigs 函数的问题,但是我对有序输出感到困惑,之前收到过非升序输出。
  • 嗯...如果没有记忆,高效的特征值/向量查找算法会返回最大的特征值/向量对first,所以如果eig() 的输出将排序...
猜你喜欢
  • 2021-11-25
  • 2012-10-05
  • 2018-01-30
  • 2012-04-22
  • 2015-01-27
  • 2011-08-16
  • 2020-01-24
  • 2011-12-26
  • 1970-01-01
相关资源
最近更新 更多