所以我一直在使用Apache Mahout来构建一个推荐系统。我对使用SVD矩阵分解方法很感兴趣。
我想知道如何微调输入参数: ALSWRFactorizer(dataModel,no_of_hidden_features,lambda,iterations)
我尝试了改变lamda的值,从0.05到0.065,我的推荐分数先升后降。因此,我选择0.05945作为得分达到峰值的值。
这是我唯一可以用来估计no_of_iterations和hidden_features的方法吗?(值是先升后降,我预计no-of_feature介于20-30之间)。
此外,这是正确的方法吗?
编辑:嗯,我又运行了几个测试,我似乎已经将重点放在了使用20个隐藏特性上,lambda = 0.0595,20次迭代。
然而,我很感激任何解释我如何以更好的方式做到这一点的答案。
发布于 2014-08-08 01:29:45
所以我偶然发现了这篇论文:Application of Dimensionality Reduction in Recommender System
在4.3节中,他们基本上遵循了我所做的相同步骤。在花了一两天时间浏览google结果后,迭代实验似乎是微调这些参数的唯一答案。
发布于 2014-08-09 02:26:08
不知道你说的是什么意思,你的“分数”先升后降。如果您描述的是在应用每个参数迭代之后运行精度类型的交叉验证测试,那么您做了正确的事情。您得出的值非常接近ALS-WR的“经验法则”。
https://stackoverflow.com/questions/25170406
复制相似问题