我如何在推荐系统上设定目标?(平均平均精度,baselineRmse)

how can I set a goal on recommendation system ?(mean average precision, baselineRmse)

我开始使用 ALS algorithm 开发离线推荐系统。 我需要设定一个关于系统的目标。

所以我想知道用什么标准来评估推荐系统。 我已经知道 MAP(平均精度)和对 baselineRmse 的改进,我想知道:这些标准在现代推荐中的表现如何系统来设定我的目标。

早在推荐系统出现的早期,人们就认为预测收视率是个好主意。这已被证明本身几乎毫无用处。如果 UI 中有足够的 space 来显示一些推荐,您会选择您认为用户会选择评分最高的那个吗?这总是会导致性能不佳。评分预测是 RMSE 旨在衡量的指标。

MAP@k 另一方面是为了找到推荐系统的预测能力。它衡量训练数据预测测试数据内容的能力。它还说明了推荐的顺序。 Ranking/ordering 最近发现推荐对推荐的有效性有更大的影响,因为如果您只能显示有限的数量,它们最好是最有可能促使用户采取行动的。

MAP@k 还考虑了排名,如果你测量 MAP@1 和 MAP@10,你会看到 MAP 分数下降 如果 你的第一个推荐是更多很有可能在测试数据中排在第10位。这意味着您订购的建议大致正确。

出于这些原因,我们使用 MAP@k。拆分您将在以后的休息中使用的 "gold standard" 数据集并保持拆分静态——大约 80%-20% 将通过随机选择或时间拆分,最近的 20% 用作测试拆分。在 80% 的基础上建立模型,然后为 20% 中的每个交互获得推荐,并查看推荐是否包含在测试集中实际交互的项目。所有这些的总和将进入 MAP@k 计算,k 取决于您要求的推荐数量。

查看这些参考资料和我们必须执行此操作的一些工具: