【问题标题】:Tuning Hyper Parameters ALS Model调整超参数 ALS 模型
【发布时间】:2018-07-24 14:00:12
【问题描述】:
我正在调整隐式 ALS 模型。在超参数中:rank、maxiter、regParam、alpha、numItemBlocks、numUserBlocks,是否有任何通常可以最大程度提高准确性的关键参数?是否存在已知工作良好的值范围?我在scala工作有没有一个普遍使用的gridsearch过程,(我对python比较熟悉。)
【问题讨论】:
标签:
scala
apache-spark-ml
matrix-factorization
【解决方案1】:
这是我的 2 美分:
在这三个超参数中,排名是最重要的一个,因为它决定了用于对产品和用户特征进行建模的潜在因素。根据我的经验,50-200 之间的值几乎适用于所有情况。超过 200 就变得矫枉过正了。
由于 ALS 收敛速度非常快,因此通常无需将 maxiter 参数更改为超出某个值。除非您的正则化参数 (regparam) 很高,否则 200 的值对于大多数数据集应该足够了。在这种情况下,您可能需要更多。
regparam 的默认值 0.1 在大多数情况下都适用,无需更改。您可以对此参数进行网格搜索以确定是否愿意。