如何加速c ++特征分解

时间:2013-10-08 02:18:54

标签: matlab pca eigenvector intel-mkl

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

链接中

请给我一些建议,谢谢。

1 个答案:

答案 0 :(得分:1)

如果您的数据稀疏,或者您对第一个k值感兴趣,请

使用eigs。例如, eigs(A,k)返回k个最大幅度的特征值。请注意,eigs仅对前几个特征值更快,而对于k> 1更慢。一些价值(可能是5 ......)

相关问题