【发布时间】:2013-05-05 18:29:25
【问题描述】:
当然,理想是主观的。我正在做一些研究,我需要为矩形矩阵的 SVD 计算实现生产级代码。所以这就是我发现的,GraphLab 和 Mahout 使用 Lanczos 算法来实现 SVD,而我发现其他方法包括 QR 分解和 Jacobi 方法。我的问题是计算 SVD 的首选方法是什么?为什么?
【问题讨论】:
标签: matlab statistics machine-learning computer-vision
当然,理想是主观的。我正在做一些研究,我需要为矩形矩阵的 SVD 计算实现生产级代码。所以这就是我发现的,GraphLab 和 Mahout 使用 Lanczos 算法来实现 SVD,而我发现其他方法包括 QR 分解和 Jacobi 方法。我的问题是计算 SVD 的首选方法是什么?为什么?
【问题讨论】:
标签: matlab statistics machine-learning computer-vision
你可以试试 C++ 的 Eigen 库,它的性能非常好,如果你是 C++ 程序员,使用起来也不难:
http://eigen.tuxfamily.org/dox/classEigen_1_1JacobiSVD.html
Graphlab 将 Eigen 用于线性代数,不确定他们是否将其用于 SVD。
【讨论】:
【讨论】: