我试图找出大数据集的本征值/本征向量,以便计算PCA的 。我可以计算出特征向量为2x2
,3x3
等。Matlab的本征值
的问题是,我有一个包含451x128我计算的协方差矩阵 让我从这个128x128的值的数据集。这一点,因此,如下所示:
A = [ [1, 2, 3,
2, 3, 1,
..........,
= 128]
[5, 4, 1,
3, 2, 1,
2, 1, 2,
..........
= 128]
.......,
128]
计算的特征值和特征向量128×128向量似乎真的很难和 需要占用大量的计算能力。但是,如果我允许A中的每个块为二维(3xN
),则可以计算协方差矩阵,该矩阵将给出3x3
矩阵。
我的问题是这样的:这对于求解特征值和向量是否是一个好的或合理的假设?是这样的:
A是含有128x451, 的foreach块的计算的协方差矢量, 的特征向量,像这样的2维矢量:
Eig1 = EIG(COV (A [0])) Eig2 = EIG(COV(A [1]))
这将然后给我128个特征值(每个块的128×128 VECT内部或者)..
如果这不正确,MATLAB如何处理这样的大尺寸数据?
你是什么意思是“如果这是不正确”? MATLAB可以在几分之一秒内找到大方阵的特征向量和特征值。 –
@AdarshChavakula嘿,我试图创建一个算法(在C++中),可以计算特征值和特征向量,而无需使用第三方软件..我可以计算一个'2x2','3x3',但是我很困惑如何计算大方矩阵。我不明白matlab如何做 - 这是否有意义? – Phorce