【问题标题】:The ideal SVD implementation?理想的 SVD 实施?
【发布时间】:2013-05-05 18:29:25
【问题描述】:

当然,理想是主观的。我正在做一些研究,我需要为矩形矩阵的 SVD 计算实现生产级代码。所以这就是我发现的,GraphLab 和 Mahout 使用 Lanczos 算法来实现 SVD,而我发现其他方法包括 QR 分解和 Jacobi 方法。我的问题是计算 SVD 的首选方法是什么?为什么?

【问题讨论】:

    标签: matlab statistics machine-learning computer-vision


    【解决方案1】:

    你可以试试 C++ 的 Eigen 库,它的性能非常好,如果你是 C++ 程序员,使用起来也不难:

    http://eigen.tuxfamily.org/dox/classEigen_1_1JacobiSVD.html

    Graphlab 将 Eigen 用于线性代数,不确定他们是否将其用于 SVD。

    【讨论】:

      【解决方案2】:

      我发现this paper 似乎很有帮助。

      在部分

      45.2 奇异值分解算法

      正在讨论不同的算法。

      算法的不同在于是否涉及迭代,以及需要什么确切的输出,比如如果你只想要特征向量,事情会有点不同。

      【讨论】:

        猜你喜欢
        • 2010-12-20
        • 1970-01-01
        • 1970-01-01
        • 2015-09-07
        • 2018-12-24
        • 1970-01-01
        • 2013-10-14
        • 2018-11-17
        • 1970-01-01
        相关资源
        最近更新 更多