近十年里,top-N商品推荐是隐式反馈中一个被普遍研究的课题,其目的是从大量数据中识别出用户可能偏心的一小部分物品。前端
各类top-N物品推荐算法已经被开发出来,特别是基于深度学习的研究取得了很大的进展。web
为了证实推荐算法的有效性,须要在基准数据集上创建可靠的评价实验。一般,这样的评估过程包括一系列对于数据集、指标、基线方法和其余方案的设置。算法
因为每一个设置步骤能够选择不一样的选项,须要制定和设计适当的标准,以使实验设置标准化。为此,有必要对近期研究中有分歧的实验设置进行系统的回顾。网络
本文介绍一篇被CIKM 2020收录的论文,在这篇论文中,对于不一样的实验设置对评价top-N商品推荐算法的影响,做者设计了一个经验性的大规模实验。性能
论文标题:学习
《Revisiting Alternative Experimental Settings for Evaluating Top-N Item Recommendation Algorithms》
测试
论文来源:ACM CIKM 2020优化
论文连接:http://arxiv.org/abs/2010.04484lua
1设计
论文介绍
咱们试图找出致使近期评测工做中出现分歧的重要评估设置。
具体来讲,考虑三个重要的影响因素,即 数据集分割、采样指标和数据领域选择 。
数据集分割是指利用原始数据构造训练集、验证集和测试集;采样指标是指用采样方法得到不相关物品来计算评测指标的结果;数据领域选择是指从不一样领域中选择合适的数据集进行评估。
为了检验这三个因素的影响,咱们在Amazonreview数据集上进行了大量的实验,其中包含来自24个领域的1.428亿条用户交互记录。
top-N物品推荐本质上是一项排序任务。与先前的工做不一样,本文并不关心特定方法的性能,而是研究一个特定的实验设置因素如何影响不一样方法的整体排序。
本文选取了8种具备表明性的推荐算法做为比较方法,包括传统方法和基于神经网络的方法。咱们利用三种序列相关性指标来刻画排序结果的差别。
咱们的实验获得了如下结论:
首先,对于数据集分割,随机切分与时序切分产生了必定程度上不一样的方法排序。数据集的切分方式应该取决于特定的任务。建议在通常状况下采用随机切分的方式划分数据集合,而对时间敏感的任务采用按照时序划分方式(如序列推荐)。
第二,基于采样指标的表现排名与精确排名的相关性略弱,增长采样物品的数量会提升排序相关性程度。在使用采样指标时,研究人员应尽量采样较多的不相关物品。
最后,具备不一样领域特征或稀疏程度的数据集合可能会产生不太相同的表现排名。一个较优的策略是选择可以涵盖多个领域、不一样方面的表明性数据集。
2
引言实验设置与方案
2.1 实验设置
在这一部分中,咱们描述数据集、比较方法和评估指标,来准备进行实验。
数据集
咱们采用亚马逊产品评论数据集进行评估,其中包含来自24个领域的1.428亿条评论。对于top-N物品推荐,每条评论被视为用户和某个物品之间的交互记录,而其他信息则被丢弃,好比文本和元数据。
因为几种比较方法没法在有限的时间内对Book领域的数据集得出结果,所以为了提升效率,咱们删除了这个领域。
最后,咱们使用来自其他23个领域的用户项交互数据做为最终数据集。咱们进一步采用5-core的预处理方式,删除了不活跃的用户和不常常被点击的商品。
比较方法。咱们选取了八种推荐算法,包括popularity,ItemKNN,SVD++ [9]和BPR,DSSM,NCF,DIN 和 GCMC。在这八种方法中,popularity和ItemKNN主要基于简单的全局或物品特定的统计,SVD++和BPR利用矩阵分解技术,DSSM和NCF利用神经网络建模用户-物品交互,DIN经过关注现有行为来学习用户偏好,GCMC采用图神经网络进行推荐。
这八种方法很好地涵盖了传统方法和基于神经网络的方法。在本文中,咱们只考虑general item recommendation,而不考虑context-awarerecommendation或sequential recommendation。注意,咱们的重点不是肯定最佳算法,而是研究不一样实验设置对最终表现排名的影响。
评价指标
Top-N项目推荐能够视为一项排序任务,排在前端的结果须要重点考虑。
在下面的实验中,咱们使用了四个指标:
(1)顶部K个位置的截断精度和召回率(P@K and R@K),
(2)平均准确率(MAP),
(3)ROC曲线下面积(AUC);
(4)另外两个指标的结果nDCG@K和MRR。
它们与上述四个指标产生了类似的结果,咱们省略了对应的实验结果。
2.2 实验方案
在本节中,咱们将介绍用于比较top-N商品推荐的实验方案。
配置
咱们引入“配置”一词来表示上述三个因素的不一样选择的组合,即数据集分割,采样指标和领域选择。
咱们选择这三个因素是由于这些在最近的基于神经网络的方法文献中仍然存在必定的分歧(缺少标准化的讨论)。
注意,咱们不会列举这三个因素的全部可能选项,咱们只考虑近期研究中流行或有争议的选项。为了减小其余因素的影响,咱们可能经过不一样的选项单独报告结果,也可能根据先前的研究将其设置为建议的选项。
相关测量
在给定配置的状况下,咱们能够得到基于某种指标的八种比较方法的一个排序列表。咱们采用三种排序相关性度量来刻画两个排序之间的相关性或类似度:
(1)Overlap Ratio at top-k positions (OR@k);
(2)Spearman’s Rank Correlation (SRC);
(3)Inversion Pair Count (IPC)。
选择这三种方法的理由以下:
SRC刻画了总体排序的相关性,IPC提供了对SRC值的更直观的理解,对于商品推荐,排名靠前的位置须要更多关注,可由OR@k刻画。
实验步骤
给定一个指标,咱们首先根据配置(用验证集优化)导出八种方法的表现排序。为了检验一个因素的影响,咱们将经过考虑备选方案来生成多个配置。而后,利用上述指标计算两种不一样配置下的表现排名之间的关联度。最后,相关结果将在23个数据领域上取平均值(除第4.3节以外)
3
实验
在这一部分中,咱们给出了与数据集分割、采样指标和数据领域选择三个因素相关的实验结果。当考虑一个因素时,咱们会固定其他两个因素。
也就是说,在两个配置进行比较的状况下,咱们只改变所研究的因素,而将其他的设置设为相同的。
3.1 数据集切分分析
咱们首先研究不一样的数据集切分策略(即构建训练/验证/测试集)对表现排名的影响。
设置
对于每一个用户,咱们首先使用两种方法组织用户的交互记录:
(1) 随机排列(RO),随机选择商品;
(2) 时序排列(TO),根据交互时间戳对商品进行排序。
而后,可使用如下两种经常使用方法拆分从新排序的用户项交互序列:
(1)基于比率的分割(Ratio-basedSplitting, RS),根据预约比率将数据集分为三个部分,以进行训练,验证和测试,此处将比例设置为8:1:1。
咱们重复此过程五次,以生成不一样的评估集,计算平均结果。
(2)Leave-one-out分割(LS),选择一个物品做为测试集,另外一个物品做为验证集,其他物品所有做为训练集。
LS策略能够看做是RS的一个特例,当其中验证集和测试集都只包含一个项目。考虑到物品排序和切分方式,能够生成了四个组合,如图1所示。
图1:四种切分策略的说明性示例。用户与20个物品交互。项目i的下标表示与用户的交互顺序:较小的索引表示较早的交互时间。咱们使用标准、划线和灰色框分别表示训练集、验证集和测试集。
结果
表1中给出了两种不一样配置之间的比较结果。
首先,与切分法(比率法或留一法)相比,物品排列方式(随机排列或时序排列)对表现排名的影响更为显著。
对于每个指标,表中前两行的相关性数值显著弱于最后两行的相关性数值。时序排列本质上应用于序列化推荐(Sequential recommendation)的设置。
建议在通常状况下(尤为是评估时序不敏感的推荐算法)应采用随机排序,而在时序敏感的状况下(如序列化推荐)采用时序排列。
第二,使用相同的物品排列方式,两种切分方法生成的算法排序很是类似 (请参见每一个度量的最后两行)。
实际上,在最近的文献[8,11]中,留一法(leave-one-out)评测已经被普遍采用。咱们建议在通常状况下使用基于比率的切分方式,以得到更准确的评估。
然而,对于小数据集,留一法切分能够缓解数据稀疏,而且简化评测环节。
表1:数据集合切分不一样配置的相关性比较。全部结果都是基于23个领域进行平均得到的。这里,“RS”和“LS”表示基于比率的分割和leave-one-out分割;“RO”和“TO”表示随机排列和时序排列。“↑”(“↓”)表示越大(小)效果越好。
3.2 采样指标分析
接下来,咱们研究抽样指标(Sampled metrics,只使用一组采样不相关物品用于评测指标的计算)对表现排名的影响。
采样设置
对于测试环节,当物品集合很大时,将项目集中的全部未交互物品都做为候选对象是很费时的。因此,目前一种流行的方法是将采样一小部分不相关物品进行计算。这种方法称为采样指标。
咱们考虑了两种采样策略:随机采样和流行度采样,即根据均匀分布或基于频率的分布对不相物品进行采样。
咱们进一步考虑使用三个不一样数量的不相关样本,即{10,50,100},这意味着一个真实物品将与10个、50个或100个采样得到的不相关物品配对。当咱们采用leave-one-out法分割时,状况变为real-plus-N[3,6]。
为了进行比较,咱们将整个商品集(不包括真实物品)的排序做为参考排名。
根据第4.1节,对于数据集切分,在全部比较配置中采用基于比率的数据集分割(用RS表示)和随机排序(用RO表示)。
实验结果
表2展现了不一样采样指标的相关结果,这些结果远小于表1中的数值。这代表使用采样指标对表现排名有较大影响。
事实上,最近的研究已经讨论过这样一个问题[7]:采样指标可能得不到一致的排序。另外一个观察的结果是,采样更多不相关的项目增长了采样指标和准确指标之间的相关度。
最后,不一样的采样策略可能会致使某些特定算法的表现动荡,从而严重影响表现排名。比较两种采样策略,均匀采样与总体排名的相关性彷佛更高。
通常来讲,采样指标不该使用于小数据集。若是须要,咱们建议采样更多不相关的物品(如[9]建议的1000个项目)。
表2:采样指标不一样配置的相关性比较。表中结果对于23个领域进行了平均。“={RO,RS}”表示用于使用随机排序对于物品进行排列,使用基于比率的方法进行切分,“pop”/“uni”表示流行度/均匀采样,下标表示采样数量,“all”表示使用全部物品进行评测。
3.3 数据邻域选择分析
这里,咱们考虑不一样领域是否会致使不一样的表现排名。这个问题对于回答如何选择合适的数据集进行评测颇有用。
实验设置
给定两个领域,咱们首先根据第4.1节和第4.2节中建议的设置(RO,RS,all)生成一个配置,而后基于某个指标得到每一个领域下的表现排名。
而后,咱们计算了两个领域排名之间的Spearman’sRank Correlation得分。咱们对全部指标的SRC得分取平均值。最后的分数用来衡量两个领域之间的相关性。
实验结果
图2显示了两个领域之间的平均相关结果。咱们对行和列进行从新排序,以即可以在对角线上聚合较大的值。有趣的是,整个热度图彷佛包含四大块(组),其中组内相关值高于组间相关值。结果代表,在相同的配置下,不一样的领域可能会产生不一样的表现排名。
所以,评估时应考虑领域差别。经过对数据集的考察,咱们发现领域特征(例如,第一组主要对应于数字产品)和稀疏程度(如用户-项目交互比率)彷佛对相关结果有显著影响。
使用多个来来自于不一样领域、稀疏度不一样的数据集是个好方法。这里,“领域”是指Amazon数据集的类别。咱们将在将来的工做中使用更多的数据集来研究这个问题。
图2:成对领域相关性的可视化。每一个单元格表示两个领域之间计算的相关性分数(颜色越深表示值越大)。
4
结语
咱们经过实验检验了三个重要因素对于top-N推荐算法评测的影响。咱们的实验结果为物品推荐算法提出了一些经验建议。
首先,对于数据集切分,建议使用基于比例切分方式而且使用随机物品排列方式(非时序推荐任务),而leave-one-out切分方式能够用于较小数据集或者加快评测流程(如调参过程)。
第二,应该谨慎使用采样指标。若是使用,咱们建议加大采样样本数。
第三,建议使用来自不一样领域的多个数据集合做为评测数据集合。在将来的工做中,咱们还将研究更多因素和数据集合来进一步完善当前的工做。
引用
[1] S. Rendle, C. Freudenthaler, Z. Gantner, BPR:Bayesian Personalized Rankingfrom Implicit Feedback, in: UAI 2009, 452–461,2009.
[2] S. Zhang, L. Yao, A. Sun, Y. Tay, Deep Learning Based Recommender System: ASurveyand New Perspectives, ACM Comput. Surv. 52 (1) (2019) 5:1–5:38.[3] A. Bellogín, P. Castells, I. Cantador, Precision-oriented evaluation ofrecommendersystems:an algorithmic comparison, in: ACM RecSys, 333–336, 2011.[4] T. Silveira, M. Zhang, X. Lin, Y. Liu, S. Ma, How good your recommendersystemis?A survey on evaluations in recommendation, JMLC 10 (5) (2019) 813–831.[5] H. Steck, Evaluation of recommendations: rating-prediction and ranking, in:ACM,RecSys 2013, 213–220, 2013.[6] A. Said, A. Bellogín, Comparative Recommender System Evaluation: BenchmarkingRecommendationFrameworks,in: ACM RecSys, 129–136, 2014.[7] W. Krichene, S. Rendle, On Sampled Metrics for Item Recommendation, in: ACMSIGKDD,2020.[8] R. He, J. J. McAuley, Ups and Downs: Modeling the Visual Evolution of FashionTrendswith One-Class Collaborative Filtering, in: WWW 2016, 507–517, 2016.[9]Y. Koren, Factorization meets the neighborhood: a multifacetedcollaborativeflteringmodel, in: ACM, SIGKDD 2008, 426–434, 2008.[10] P. Huang, X. He, J. Gao, L. Deng, A. Acero, L. P. Heck, Learning deepstructuredsemanticmodels for web search using clickthrough data, in: CIKM, 2013.[11] X. He, L. Liao, H. Zhang, L. Nie, X. Hu, T. Chua, Neural CollaborativeFiltering,in:WWW, 2017, 173–182, 2017.[12] G. Zhou, X. Zhu, C. Song, Y. Fan, H. Zhu, X. Ma, Y. Yan, J. Jin, H. Li, K.Gai,DeepInterest Network for Click-Through Rate Prediction, in: ACM, SIGKDD,1059–1068,2018.[13] R. van den Berg, T. N. Kipf, M. Welling, Graph Convolutional MatrixCompletion,CoRRabs/1706.02263.