嘿,记得给“机器学习与推荐算法”添加星标
前段时间还跟实验室同学专门讨论了下关于个性化排序中的评价指标问题,即我们在实验的过程中究竟使用哪一种实验设置才能较好的反映模型的泛化能力,比如采用全量测试数据进行排序,但该方法需要的测试时间较长;比如使用采样的测试样本进行排序评估,该方法虽然评估时间大大缩短但不能完全反映模型性能。如今Rendle大佬通过实验的方式告诉了我们答案,并且凭借该主题获得了KDD2020的最佳论文,祝贺!
众所周知,推荐系统主要有两大任务:评分预测和个性化排序。其中,针对评分预测任务的评判指标主要是均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)等回归指标。这些指标的评价相对来说复杂度较低,因此对于全量测试数据进行评估相对可行。对于个性化排序任务需要在给定上下文的情况下对大量的项目候选进行排序,因此需要利用平均准确率(MAP)、归一化折损累计增益(NDCG)等排序指标来评估模型的性能。如果大家想了解更多排序模型知识可以移步推荐系统中排序学习的三种设计思路。
目前,主流的个性化排序任务(Item Recommendation)的文献为了加速评价指标的计算,经常利用采样的指标(Sampled Metrics)进行评价,即针对待测试的正样本和随机出来的较小规模的负样本进行排序,比如在测试阶段对一个正样本和从大量候选集采样出来的99个负样本进行排序,然后计算该样本相对于负样本的排序位置进行性能评估。虽然这种实验设置可以一定程度上反映模型A的排序性能好于B,但根据论文的实验结果发现,这种结论并不总是成立的,往往采样指标的性能跟确切指标的性能不一致。另外,实验结果表明抽样规模越小,指标之间的差异就越小,而且对于非常小的抽样规模,所有指标都会塌陷为AUC指标。因此,论文提出了一种改进的采样评价指标用来提高评价质量。最后,该论文建议评价的时候尽量不要采样,如果不听话非要采样那就用所提出的修正的采样指标来提高评价质量。
来,让我们先来熟悉下常用的排序指标,即AUC,Precision,Recall,AP和NDCG。其中,为全部物品个数,为预测的列表结果,为预测的样本个数&#