推荐系统的最佳离线评估方法通常侧重于准确性、排名质量和实际泛化能力。这些方法利用历史交互数据来模拟模型在生产环境中的表现。主要方法包括准确性指标、基于排名的评估和时间感知的(time-aware)数据划分,每种方法都针对推荐质量的不同方面。
首先,准确性指标,如 Precision@K、Recall@K 和平均精度均值 (MAP),衡量推荐与已知用户偏好的契合程度。例如,Precision@10 计算用户在测试数据中实际互动过的物品占前 10 名推荐物品的百分比。如果一个用户观看了 5 部电影,模型在前 10 名推荐中推荐了 3 部相关的,那么 Precision@10 就是 30%。MAP 通过计算所有用户的平均精度得分来扩展此概念,同时强调正确排名(例如,奖励将相关物品排在列表更靠前位置的模型)。这些指标简单明了,但可能会忽略物品多样性或排名中的位置偏差等细微差别。
其次,排名指标,例如归一化折损累计增益 (NDCG) 和命中率 (Hit Rate),评估推荐的顺序。当相关物品出现在列表顶部时,NDCG 会分配更高的分数。例如,相关物品位于位置 1 的推荐列表得分会高于位于位置 10 的列表。命中率衡量在前 N 个推荐中是否存在至少一个相关物品,这对于主页轮播等需要即时互动的场景非常有用。为了确保现实的评估,数据应该按时间顺序分割(例如,在 2023 年 3 月之前的互动数据上训练,在之后的互动数据上测试),而不是随机分割,因为这更能模拟模型预测未来行为的真实世界场景。
最后,覆盖率和多样性指标有助于评估推荐是否过于狭窄或重复。覆盖率衡量模型可以推荐的商品占目录总商品数的百分比,从而防止偏向热门商品。多样性指标,如列表内部相似度,检查推荐的物品彼此之间的区别度(例如,避免连续推荐三部动作片)。例如,电影推荐器可以使用类型或导演元数据来计算物品之间的相似度。虽然这些指标不直接衡量准确性,但它们确保系统能够满足用户多样化的需求并避免停滞不前。结合这些方法可以在部署前对模型的有效性提供一个全面的评估。