前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何评估序列推荐模型?

如何评估序列推荐模型?

作者头像
炼丹笔记
发布2021-11-10 10:49:31
7020
发布2021-11-10 10:49:31
举报
文章被收录于专栏:炼丹笔记炼丹笔记

作者:十方

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

01

实验配置

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

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

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

02

实验结果

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

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

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

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

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

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

论文:https://arxiv.org/pdf/2107.13045.pdf

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 炼丹笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档