mahout svd 算法总结

最近几天测试了mahout svd算法,网上的文档比较少,花了不少时间读它的代码,终于把流程搞清楚了,在这里总结一下。

1、关于奇异值分解的理论基础,请参看下面的链接
2、关于奇异值分解的应用场景,请参看下面的例子
http://www.igvita.com/2007/01/15/svd-recommendation-system-in-ruby/
3、关于奇异值分解输入、输出文格式的件的转换,,请参考
注意输出结果解析的时应该用NamedVector,而不是SequentialAccessSparseVector
4、输出结果解释

输入的矩阵记为A,mahout svd输出的结果为矩阵A^t * A的特征值和特征向量,需要注意的是,特征值是按照顺序排列的。要得到U和奇异值需要做进一步的运算(参照第一步里面提到的公式),V则是输出的特征向量

原文来自:http://blog.sina.com.cn/s/blog_6634c1410100x3mb.html

posted @ 2012-04-26 21:43  icamel  阅读(983)  评论(0编辑  收藏  举报