我应该使用什么指标来评估带有 ALS 的隐式矩阵分解推荐器?

机器算法验证 推荐系统 模型评估 公制 评分
2022-04-05 10:32:23

我目前正在使用隐式评分(在一篇文章上花费的时间)实现推荐系统,但我想知道评估系统的正确指标是什么。MSE 似乎不适合这个用例。

我的算法基于论文:Collaborative Filtering for Implicit Feedback Datasets

1个回答

评估基于隐式反馈的推荐是很棘手的。以下是我推荐的几种方法。

方法一

您可以使用修改后的精度和召回指标。总的来说,程序如下,

  1. 将您的数据按用户划分为训练集和测试集
  2. 对于测试集中的用户,给定他们的历史,使用基于隐式反馈的模型获得前 N 个推荐。
  3. 可以使用模型给出的推荐数来计算精度,该模型实际上与用户所采取的行动相匹配(例如,在文章的情况下阅读)。
  4. 召回率可以使用前 N 个推荐捕获的用户操作(用户阅读的文章)的数量来计算。
  5. 您可以为测试集中的所有用户计算这些并将它们平均。

方法二

该方法类似于方法 1,但不是按用户拆分训练和测试数据,而是使用一种称为“留一出”的策略。在这种情况下,我们使用一个简单的准确度指标。计算精度的步骤如下,

  1. 对于每个用户(或用户子集),隐藏已阅读/浏览的一篇文章并将其移动到测试集(留出一篇)。
  2. 使用用户历史记录,获取每个用户的前 N ​​个推荐。
  3. 计算被遗漏的文章被前 N 个推荐捕获的次数。

请注意,在这两种情况下,前 N 个推荐中的 N 个都将成为您可以进一步调整的超参数。