我目前正在创建推荐系统。该推荐系统与神经网络一起工作,然后搜索最近的邻居,从而为用户提供推荐。数据是隐含的。我只有用户购买了哪些产品的数据。根据这些数据,我创建了推荐。
用隐式数据评估这个推荐系统的最佳指标是什么?
我可以先评估模型然后再评估搜索算法吗?如果是这样,指标是否不同?我必须使用哪些指标来做什么?
我目前正在创建推荐系统。该推荐系统与神经网络一起工作,然后搜索最近的邻居,从而为用户提供推荐。数据是隐含的。我只有用户购买了哪些产品的数据。根据这些数据,我创建了推荐。
用隐式数据评估这个推荐系统的最佳指标是什么?
我可以先评估模型然后再评估搜索算法吗?如果是这样,指标是否不同?我必须使用哪些指标来做什么?
有两种主要类型的评估 - 在线和离线。
在线评估意味着向实际用户展示模型的预测。由于推荐系统的目标是销售更多产品,因此推荐系统的最佳整体最佳指标是增加对实际用户的销售。如果模型增加销售额,最好通过将模型投入生产和 A/B 测试来完成。鉴于资源有限(时间或对生产系统的访问),这种方法并不总是可行的。
离线评估是指通过保留现有数据对模型进行评估来模拟在线评估。
如果可能,请根据时间拆分数据。在早期数据上训练模型。在后面的数据上测试模型。对于给定的产品和用户配对,模型将预测购买或不购买(二元分类器)。该模型可以作为任何二元分类器进行评估。对于给定的域,精度或召回率可能更重要。
然而,这在很多时候是不可能的,因为很多时候数据没有被跟踪或者产品-用户对可能很稀疏。如果不跟踪时间,可能会随机拆分数据以模拟时间。如果产品-用户对稀疏,则产品-用户对会沿着潜在因素聚集。
由于各种偏见,离线评估非常棘手。最突出的偏见类型是位置偏见。我推荐以下论文 ( https://arxiv.org/pdf/1608.04468.pdf ),其中包含我自己用于监控和开发大型运动时尚公司推荐人的指标。这个想法是应用一种反事实的方法来使您的估计器不偏向于文档的反向倾向。
当您对 relance r_i 使用隐式反馈时,预计对于某些查询 x 排名较高的项目 y。因此,存在对给定位置的项目进行观察的隐含概率。该概率可用于重新加权度量,如下所示:
可以证明这个估计量也是无偏的。相同的技巧可用于您希望的任何指标,NDCG、MAP 等...您还可以申请关键绩效指标的反事实估计,例如预期转化率、点击率、添加到购物车等...
不幸的是,此类估计器的问题之一是已知它们由于权重因子而具有很大的方差。我推荐这篇论文进行解释(https://arxiv.org/pdf/1801.07030.pdf)