调整超参数ALS模型

时间:2018-02-14 04:29:45

标签: scala apache-spark-ml matrix-factorization

我正致力于调整隐式ALS模型。在超级参数中:rank,maxiter,regParam,alpha,numItemBlocks,numUserBlocks,是否存在通常最能提高准确性的关键参数?是否存在可以正常工作的值范围?我在scala工作的是一个通常使用的网格搜索过程,(我对python更熟悉。)

1 个答案:

答案 0 :(得分:0)

这是我的2美分:

在这三个超参数中,排名是最重要的参数,因为它决定了用于建模产品和用户特征的潜在因素。根据我的经验,50-200之间的值几乎适用于所有情况。超过200会变得有点过分。

由于ALS收敛速度很快,因此通常无需将maxiter参数更改为超出值。除非正则化参数(regparam)很高,否则对于大多数数据集,值200应该足够了。在这种情况下,您可能需要更多。

regparam的默认值0.1适用于大多数情况,无需更改。您可以对此参数执行gridsearch以确定是否愿意。