0

我开始使用ALS 算法开发离线推荐系统。我需要为系统设定一个目标。

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

4

1 回答 1

1

早在推荐系统出现的早期,人们就认为预测评分是个好主意。事实证明,这本身几乎没有用。如果您在 UI 中有足够的空间来显示一些推荐,您会选择您认为用户会选择的评分最高的推荐吗?这总是会导致糟糕的表现。评级预测是 RMSE 旨在衡量的。

另一方面,MAP@k 旨在找到推荐者的预测性。它衡量训练数据预测测试数据中的内容的程度。它还说明了推荐的顺序。最近发现推荐的排名/排序对推荐的有效性有更大的影响,因为如果你只能显示有限的数量,它们最好是最有可能导致用户采取行动的。

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

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

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

于 2016-03-13T15:17:46.887 回答