有很多论文探讨如何构建优秀的序列推荐模型,但是这篇论文<A Case Study on Sampling Strategies for Evaluating Neural Sequential Item Recommendation Models>探讨如何评估这些序列推荐模型。最常见的评估方式是用一个较小的item子集,该集合包含所有相关items,和大量负采样的items(从全集中采样),有两种采样方法,一种是均匀随机采样,另一种是用流行度进行采样,这样更符合item在整个集合出现的分布。大部分论文都用基于流行度采样的的方式去评估比较各个序列推荐模型,然而该论文发现这种评估方式是错的,和对不采样进行评估相差很大,所以使用流行度进行负采样和用全部item进行评估是否存在差异呢?这篇论文就比较了当前比较“出众”的序列化模型在不同评估方式的区别,并给出结论。

实验配置

训练集测试集构造方式很简单,每个人都会有个交互序列,去掉后面两个,前面的序列用于训练,倒数第二个是预估,最后一个用于测试。评估指标就是最常见的HR@K和NDCG@K:

该论文比较了以下几种模型:

  • GRU
  • Neural Attentive Recommendation Machine(NARM)
  • Self-Attention based Sequential Recommendation(SAS-Rec)
  • Bert4Rec

实验结果

先比较不同模型在不同数据集,采样HR@10评估,用流行度采样负采样100的结果,如下图所示,这样看BERT4Rec在什么数据集都表现最好:

只能说,不要给上面的结论欺骗了!

我们随机采样20次,取平均,并对不同模型在不同采样方式下进行排序:

我们发现,在full上,bert4rec在某些数据集竟然能倒数第一?在uniform上也表现一般。我们会发现使用uniform和popular的rank和full并不一致。

如果我们使用不同的负采样个数,评估排名变化又很大,如下图所示:

看到这里,是不是不相信任何一个号称自己是最强的序列推荐模型了?使用所有item的集合评估才是最正确的,在看这篇论文之前,十方也坚定的认为按流行度进行负采样评估模型足以,看完这篇才发现这么做完全是错的。

如何评估序列推荐模型?相关推荐

  1. 性能超越最新序列推荐模型,华为诺亚方舟提出记忆增强的图神经网络

    作者 | Chen Ma, Liheng Ma等 译者 | Rachel 出品 | AI科技大本营(ID:rgznai100) 用户-商品交互的时间顺序可以揭示出推荐系统中用户行为随时间演进的序列性特 ...

  2. 《预训练周刊》第16期:中科院推出全球首个图文音三模态预训练模型、顶会论文探索100层序列推荐模型的加速训练...

    No.16 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第16期&l ...

  3. WWW 2022 | 弯道超车:基于纯MLP架构的序列推荐模型

    ©作者 | 于辉,周昆 来源 | RUC AI Box 本文主要提出了一个基于纯 MLP 架构的序列化推荐模型,其通过可学习滤波器对用户序列进行编码,在 8 个序列化推荐数据集上超越了 Transfo ...

  4. 【推荐实践】用户行为序列推荐模型

    文章作者:汪剑 出门问问 算法工程师 编辑整理:Hoh Xil 导读:今天我们谈谈用户行为序列上的推荐模型.首先我们对序列推荐问题做一个定义和描述,然后主要讲述可以用在序列推荐任务中的 NN 模型,最 ...

  5. 【ccf2021训练赛】图书推荐算法赛道(SASRec序列推荐模型 | 序列推荐模型分类)

    内容总结 会话推荐是指,对于一个用户的点击序列(即session),预测下一个要点击的物品.即输入所有的物品V={v1,v2,-,vm} ,在给定某个session为s=[v1,v2,-,vn]的用户 ...

  6. mf模型 svd++_序列推荐模型(一): FPMC

    Factorizing Personalized Markov Chains for Next-Basket Recommendation 摘要和介绍 这篇文章发表于 WWW2010,当时主流的推荐方 ...

  7. SIGIR 2022 | 当多层级遇到多兴趣:用于序列推荐的多粒度神经模型

    ©作者 | 机器之心编辑部 来源 | 机器之心 来自快手和武汉大学的研究者通过结合多兴趣学习和多层级图卷积聚合提出了一种多粒度神经模型,显著增强了精确学习用户复杂行为的能力,对用户不同层级下多种兴趣的 ...

  8. TransFM:基于因子分解机的序列推荐方法

    ▌概述 今天解读的论文是由 Rajiv Pasricha 和 Julian McAuley 两位大佬提出的发表在 RecSys18 上的,是 TransRec 和 FM 的结合版本.论文下载地址: h ...

  9. WWW‘22 推荐系统论文之序列推荐篇

    专栏系列文章 - 知乎一.算法面经篇枫桦:深度学习算法工程师面经(微软.阿里.商汤.滴滴.华为.海康.平安.陌陌等offer)之上篇 枫桦:深度学习算法工程师面经(微软.阿里.商汤.滴滴.华为.海康. ...

最新文章

  1. 360董事长兼CEO周鸿祎:未来网络攻击或造成物理伤害
  2. android stack error message is Fail to start the plugin
  3. Leetcode 169.多数元素 (每日一题 20210715)
  4. git添加user及repository
  5. nanopi 创建共享文件夹
  6. SpringCloud(1) 架构演进和基础知识简介
  7. iOS APP网络分析之rvictl(可以捕捉除了Wifi以外的网络类型)
  8. 前端学习(2845):秒杀基本介绍
  9. python多线程url采集器 + github_python实现多线程采集的2个代码例子
  10. linux下常用压缩(compress ,gz ,bzip2,xf)命令和打包命令(tar,zip)详解
  11. 搜索dwr做即时聊天的时候看到的问题
  12. 机器学习: 最大似然估计 (MLE) 最大后验概率(MAP)
  13. EXCEL VBA开发单元格日历选择
  14. Vue----.stop、.prevent、.capture、.self用法以及.stop和.self的区别
  15. Python绘制饼状图对商品库存进行分析
  16. python画三角形并涂色_如何用python画叠加三角形?
  17. 分享40款效果非常漂亮的 HTML5 CSS3 网站模板,模板免费下载
  18. SQL注入攻击的原理、分类和防御方法
  19. 从勾股定理看机器学习
  20. 分不清合约机与定制机,怀疑被骗

热门文章

  1. 解释BOM头和去掉方法
  2. vue.js官方文档 PDF
  3. 修改数据表——添加约束(二十二)
  4. 程序员应该具备的能力
  5. Mvc示例代码调试之一----调试工具及设置(用firebug与vs联合调试)
  6. 速读训练软件_记忆力训练:如何提高注意力呢?
  7. socket编程实现文件传输功能
  8. vc实现透明位图,透明背景
  9. MFC隐藏和显示一个控件的方法
  10. 十年的老代码,你敢动?