前段时间还跟实验室同学专门讨论了下关于个性化排序中的评价指标问题,即我们在实验的过程中究竟使用哪一种实验设置才能较好的反映模型的泛化能力,比如采用全量测试数据进行排序,但该方法需要的测试时间较长;比如使用采样的测试样本进行排序评估,该方法虽然评估时间大大缩短但不能完全反映模型性能。如今Rendle大佬通过实验的方式告诉了我们答案,并且凭借该主题获得了KDD2020的最佳论文,祝贺!

众所周知,推荐系统主要有两大任务:评分预测和个性化排序。其中,针对评分预测任务的评判指标主要是均方误差(MSE)、均方根误差(RMSE)和平均绝对误差(MAE)等回归指标。这些指标的评价相对来说复杂度较低,因此对于全量测试数据进行评估相对可行。对于个性化排序任务需要在给定上下文的情况下对大量的项目候选进行排序,因此需要利用平均准确率(MAP)、归一化折损累计增益(NDCG)等排序指标来评估模型的性能。如果大家想了解更多排序模型知识可以移步推荐系统中排序学习的三种设计思路。

目前,主流的个性化排序任务(Item Recommendation)的文献为了加速评价指标的计算,经常利用采样的指标(Sampled Metrics)进行评价,即针对待测试的正样本和随机出来的较小规模的负样本进行排序,比如在测试阶段对一个正样本和从大量候选集采样出来的99个负样本进行排序,然后计算该样本相对于负样本的排序位置进行性能评估。虽然这种实验设置可以一定程度上反映模型A的排序性能好于B,但根据论文的实验结果发现,这种结论并不总是成立的,往往采样指标的性能跟确切指标的性能不一致。另外,实验结果表明抽样规模越小,指标之间的差异就越小,而且对于非常小的抽样规模,所有指标都会塌陷为AUC指标。因此,论文提出了一种改进的采样评价指标用来提高评价质量。最后,该论文建议评价的时候尽量不要采样,如果不听话非要采样那就用所提出的修正的采样指标来提高评价质量。

来,让我们先来熟悉下常用的排序指标,即AUC,Precision,Recall,AP和NDCG。其中,为全部物品个数,为预测的列表结果,为预测的样本个数,代表该物品所在的位置,为设置的预测截断个数,为测试时采样的负样本个数。

AUC衡量了相关项目排在非相关项目前边的可能性。

Precision衡量了在前k个预测物品中相关物品的比例。

Recall代表预测召回的物品中排在前k位置物品的比例。

Average Precision表示对于前边Precision指标的平均。

NDCG为归一化的折损累计收益,通过在分母引入位置收益来表示排在前边并且收益大的项目获得的收益较高。

接下来介绍目前大部分文献采用的简化的采样过后的指标,以此来应对大规模样本的效率问题。大部分论文在评价的时候假设只有一个正样本,即=1,然后基于这个正样本采样若干个负样本,以此来进行排序,看最终该正样本排在了什么位置。因此上文的精确采样可以表示为下图所示的简化形式。

接下来主要介绍下论文中的实验结果分析与结论。

下图1展示的是将正样本随着排序位置的变化所产生的评价指标的变化。左图是针对所有的候选集来说的,右图是针对Top100来说的。从左图可以看出AUC是与排序位置无关的指标,随着排名逐渐靠后,排序指标线性的递减。也就是说把正样本从排名100移到101位的变化跟把排名从第2位移到第1位一样;平均准确率AP的分数衰减的最明显,例如在排名第1位的价值是排名第2的两倍;右图展示了各种指标在Top100的指标变化,可见除了AUC以外,其他指标都对排序位置比较敏感。

对于排序评价指标的选择取决于是否位置敏感,即由于用户的注意力有限以及网站或者App有限的展示资源,人们大多比较关心排在头部的物品之间的相对位置,而忽略尾部的项目排序位置,因此对于测试阶段我们需要强调头部效应。而在训练阶段我们需要尽量打消这样的基于位置的偏见(Position bias),尽可能的还原用户点击该物品是真的处于喜欢,而非仅仅因为排在了头部显眼的位置。我喜欢你,不仅仅是因为你出现在了我眼前,而更是因为你的内在。

下表展示了3个推荐算法A,B,C预测结果不同而产生的关于AUC,AP,NDCG和Recall的评价结果。表1是针对5个实例的精确评价,表2是采样过后进行的评价。可见只有AUC这种位置不敏感的指标对于三个推荐算法的排名没有变化,依然是算法A最高,C次之,B垫底。而对于其他指标来说,利用采样之后的评价指标出现了与精确指标不一致的结果。

另外,论文还针对采样个数关于评价指标的变化进行了实验。实验结果出现群魔乱舞的现象。发现随着评价阶段负采样个数的增加,原来性能优越的算法A出现性能恶化,最终被算法C打败的情况。可见,只针对一个负采样个数来作为最终模型的性能评价有失公平。这么一想,咱的破模型没准在某个负采样个数的设置下可能打败著名的N某F。

另外,论文对于采样指标中不同的采样个数对结果的影响与精确的指标做了相关对比实验。可见不同的采样个数与精确的指标之间差距较大,并且即使采样个数足够大,仍然与精确的评价指标之间存在较大偏差。所以,只利用某一种负采样个数进行性能评估是具有偶然性的,但往往必然的结果是与真正的评价效果相差很远

最后,论文提出了对于采样评价指标的修正版本。左边是修正的采样指标AP在采样个数为的结果,右边是在全量测试样本上的评价结果,可见两者效果是差不多相等的。

最后,大佬给出了一些做实验的建议。

抽样指标可能无法很好地指示该指标下推荐算法的真实性能。

对于未校正的指标,这主要是由于采样引入的较大偏差造成的。

使用校正方法,可以减少这种偏差,但要付出更高的方差代价。

如果论文中确实需要使用抽样指标,并且仍对指标的真实性能感兴趣,建议使用本文提出的校正方法。在这种情况下,请务必使用不同的样本(例如,不同的随机种子)重新进行实验。

尽管这种改进的评价指标优于未校正的采样指标,但由于偏差,它仍然倾向于得出错误的结论。所以只有完全避免抽样,才能消除这种偏差。

更多关于论文细节,请阅读原文。


往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/662nyZF本站qq群1003271085。加入微信群请扫码进群(如果是博士或者准备读博士请说明):

【论文解读】KDD2020最佳论文: 关于个性化排序任务评价指标的大讨论相关推荐

  1. GPT-3等三篇论文获NeurIPS2020最佳论文奖 | AI日报

    为 AI 内行人定制资讯, 帮你一篇尽览 AI 行业要闻. GPT-3等三篇论文获NeurIPS2020最佳论文奖 今日NeurIPS 2020 公布了最佳论文奖和时间检验奖.OpenAI 等提出的语 ...

  2. iccv2020论文汇总_ICCV2019 最佳论文出炉,附1987~2019历届ICCV最佳论文汇总( 提供下载)...

    微信公众号:极市平台 极市小编整理了ICCV 2019( IEEE International Conference on Computer Vision)的全部接收论文,大会目前正在韩国首尔如火如荼 ...

  3. 【论文解读】GCN论文总结

    本次要总结和分享的是ICLR2017的关于GCN方面的代表作之一论文:SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS, ...

  4. 【论文解读】DeepFM论文总结

    本次要总结分享的是 推荐/CTR 领域内著名的deepfm[1] 论文,参考的代码tensorflow-DeepFM[2],该论文方法较为简单,实现起来也比较容易,该方法在工业界十分常用. 「建议在非 ...

  5. transformer论文解读_【论文解读】ICLR2020 | 深度自适应Transformer

    作者 | kaiyuan   整理 | NewBeeNLP 一篇来自ICLR2020,facebook人工智能实验室的论文,关于改进Transformer推理速度的.论文地址:https://arxi ...

  6. COLING 2018 最佳论文解读:序列标注经典模型复现

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  7. 后浪“95”获 CVPR 2020 最佳论文,前得主这样解读

    来源 | AI TIME 论道 CVPR 2020已落下帷幕,共计投稿6656篇,录用1470篇,涵盖的方向包括目标检测.目标跟踪.图像分割.人脸识别.姿态估计.三维点云.视频分析.模型加速.GAN. ...

  8. CVPR 2021大奖出炉!何恺明获最佳论文提名,第一届Thomas S. Huang 纪念奖颁发

    作者 | 陈大鑫.琰琰.青暮 就在刚刚,CVPR 2021最佳论文.最佳学生论文等奖项出炉了! 其实在前不久,CVPR 2021官方推特上就公布了本次CVPR 2021最佳论文奖的32篇候选论文,按照 ...

  9. GPT-3不算机器学习算法创新?2020年AI顶会最佳论文榜单引发激烈争论

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 2020年的最后一天,来回顾一下今年所有AI顶会的最佳论文吧! 今年,顶会的最佳论文,既有ECCV的"2D变3D"的N ...

最新文章

  1. java跨库join方案_集算器协助java处理多样性数据源之跨库关联
  2. 2020-09-27 What is Sector-Bounded Nonlinearities?
  3. Spring源码:IOC容器
  4. vscode vim快捷键失效_VIM真的好用吗?到底要不要学习VIM?
  5. Controller接口控制器(3)
  6. HDU-2502 月之数 组合数
  7. (一)mybatis之JDBC介绍
  8. Silverlight 1.0 beta 和1.1 Alpha体验
  9. 在iOS中获取UIView的所有层级结构 相关
  10. 华为自带时钟天气下载_华为天气时钟农历插件,求华为自带的天气时钟
  11. exp在线计算机计算,Exp 数学表达式计算器算法分享
  12. ubuntu 查看cpu运行频率_ubuntu cpu频率控制
  13. 【电子知识摘要】合金电阻
  14. 【公司邮箱怎么注册】Foxmail帐户邮箱数据保存在什么地方?如何备份一个帐户?
  15. matlab全桥电路设计,全桥变换电路的Matlab仿真及实验装置开发.pdf
  16. Linux学习-96-win和vmware的linux系统之间文件传递
  17. eclipse如何汉化
  18. 基于html5的网上订餐系统,基于jsp的网上订餐系统
  19. 学计算机的鼓励,鼓励学习的经典语句
  20. 前端安全问题及防范措施

热门文章

  1. Mac 10.11系统下cocoaPods安装注意事项
  2. 微信公众开发api接口
  3. CentOS 6.4 i386 版本安装 FastDFS、使用Nginx作为文件访问WEB服务器
  4. Qomolangma实现篇(四):基本特性增强与多投事件系统
  5. c语言0x00如何不截断_binary 和 varbinary 用法全解
  6. 学生成绩管理系统设计报告python_python实现简易版学生成绩管理系统
  7. 第13天学习Java的笔记(类定义)
  8. rhino4.0安装教程
  9. mastercam2018安装教程
  10. fileviewpro绿色免安装版