0

我用MATLAB来做特征值分解,数据的维数大约是10000,所以协方差矩阵是10000*10000。当我eig()在 MATLAB 中使用该函数时,它非常慢。有什么方法可以加快特征值分解。我使用特征值分解来做主成分分析(PCA),所以我只使用前K个特征值和特征向量。不需要获取所有的特征值和特征向量。我曾尝试使用Intel-MKL进行特征分解,但是当我使用该mex接口时,出现了一些错误。我将其发布在链接https://stackoverflow.com/questions/19220271/how-to-use-intel-mkl-for-speed-my-own-matlab-mex-cpp-applications

请给我一些建议,谢谢。

4

1 回答 1

2

eigs如果您的数据稀疏,或者您对第一个k值感兴趣,请使用。例如, eigs(A,k)返回 k 个最大幅度特征值。请注意,eigs仅对于前几个特征值会更快,并且对于 k > 某个值(可能是 5...)会更慢

于 2013-10-08T04:13:04.883 回答