【问题标题】:Octave/Matlab: PCA on sparse matrix: how to get only the most important eigenvectors?Octave/Matlab:稀疏矩阵上的 PCA:如何仅获得最重要的特征向量?
【发布时间】:2013-06-28 19:33:56
【问题描述】:

我正在使用 Octave 并且有一个巨大的稀疏矩阵,我必须得到它的特征值。但是,如果我只是使用一个函数来获取所有特征值和特征向量,结果会占用太多空间,因为输入矩阵是稀疏的。

我怎样才能只得到有限数量的最重要的特征向量?

【问题讨论】:

    标签: matlab octave pca sparse-matrix


    【解决方案1】:

    使用eigs 代替eig

    D = eigs(A,k);
    

    这将返回矩阵A 的最大特征值k。根据this page,Octave 确实支持eigs 用于稀疏矩阵。 eigs 使用与 eig 不同的技术,总体速度较慢,通常不应该使用,除非在您描述的情况下。

    请务必查看 sigma 参数的选项,例如,如果您只想要关于其实部的最大特征值。

    eigs 的 Matlab 文档是 here

    【讨论】:

    猜你喜欢
    • 2013-09-25
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 2012-12-17
    • 2016-10-09
    • 1970-01-01
    • 2014-03-09
    相关资源
    最近更新 更多