首页 > 其他分享 >A Revisiting Study of Appropriate Offline Evaluation for Top-N Recommendation Algorithms

A Revisiting Study of Appropriate Offline Evaluation for Top-N Recommendation Algorithms

时间:2024-05-07 10:57:23浏览次数:26  
标签:方式 Study Appropriate metrics 切分 算法 Algorithms 排名 数据

目录

Zhao W., Lin Z., Feng Z., Wang P. and Wen J. A revisiting study of appropriate offline evaluation for top- n recommendation algorithms. TOIS, 2022.

系统性的讨论了推荐指标, 数据集切分, 优化方式对推荐系统离线评估的影响.

实验设置

  • 数据集:

  • 推荐算法:

    • 传统算法: Popularity, ItemKNN;
    • 矩阵分解: SVD++, BPRMF, NCF;
    • Item similarity-based: Factored Item Similarity Model (FISM), Neural Attentive Item Similarity Model (NAIS);
    • GNN-based: NGCF, LightGCN;
    • Non-sampling algorithms: CDAE, MultiVAE, ENMF.
  • 变化度量: 为了比较改变配置后算法的相对排名变化情况, 假设在两个配置 \(c_1, c_2\) 下, 上述算法的排名根据某个推荐指标得到排名分别为 \(R_k^{(c_1)}, R_k^{(c_2)}\), 作者引入了两个指标来衡量两个排名的一致性:

    • Overlap Ratio at top-\(k\) positions (\(OR@k\)):

      \[OR@k(c_1, c_2) = \frac{ |R_k^{(c_1)} \cap R_k^{(c_2)}| }{ k }, \]

      可以看到, \(OR@k\) 近关注排名前 top-\(k\) 的结果. 越大表示两个配置下 top-\(k\) 算法越一致.
    • Spearman Rank Correlation (SRC):

      \[SRC (c_1, c_2) = 1 - \frac{ 6 \sum_{a \in \mathcal{A}} (r_a^{(c_1)} - r_a^{(c_2)})^2 }{ |\mathcal{A}|^3 - |\mathcal{A}| }, \]

      这里 \(\mathcal{A}\) 表示所有的算法, \(r_a\) 表示算法 \(a\) 的排名. 可以看到, \(SRC\) 是一个综合所有排名的指标. 越大表示两个配置下所有算法越一致.

Evaluation Metrics

  • 首先, 作者调研不同的评价指标下, 对算法排名的影响, 主要考虑了如下的指标: Precision, Recall, F1, Mean Average Precision (MAP), Mean Reciprocal Rank (MRR), Normalized Discounted Cumulative Gain (NDCG), AUC, Novelty, Coverage.

Metric 的一致性

不同的 metrics 导致的算法排名差异

  • 如上图所示, 虽然在不同指标下, 算法的排名不尽相同, 但总体可以分成如下的几组:

    1. Recall;
    2. NDCG, MRR, MAP;
    3. Hit, Precision;
    4. AUC;
    5. Novelty;
    6. Coverage.
  • 总体上来说也是比较好理解, 每个 group 的指标在性质上本身就存在差异. 尤其是排序指标 NDCG, MAP 这种和多样性指标 Novelty, Coverage 之间.

  • 不过比较有意思的是, 对于 top-\(k\) 算法而言, 也就是'最好'的那部分算法而言, 整体的一致性都比较好.

  • 建议: 在评价一个算法的时候, 尽量挑选不同 group 中的指标.

Sampled metrics

  • 虽然 sampled metrics 效率更高, 但是已经有论文指出 sampled metrics 的评估方式是有偏差的, 所以这篇文章进一步探究这个问题.

Sampled metrics 是否会导致和 full ranking 的 metrics 不同的评价

  • 如上图所示, 横坐标是采样的负样本数量, 采样的方式有两种: 均匀采样和依照流行度采样. 可以发现:

    1. Uniform sampling 往往显示更好的效果, 且随着负样本数的增加越发趋近全量的评估;
    2. amendment 表示修正过 bias 的 sampled metrics, 但是作者发现其实效果并不明显.
  • 进一步观测下方的 OR 的结果, 可以发现, 对于 top-\(k\) 的算法而言, 采取 sampled 或者全量的方式评估影响不大.

数据集构建

数据集的选择和预处理

\(k\)-core filtering 的影响

  • 通常, 推荐数据集会进行这样的一个预处理, 即不断删除不活跃的 user/item 直到至少有 \(k\) 个 items/users. 那么这种预处理的方式影响有多大呢?

  • 如上图所示, 并没有一致性的答案, 前后的差异和数据集有关系, 作者进一步猜测, 差异性程度和数据集 user, item 的各自交互比例有关系, 越平衡一致性越好.

  • 建议: 数据集的选择应当覆盖 domian, sparsity, data characteristics.

数据集的切分

  • 作者考虑了如下的四种切分方式:
    • Rankdom Ordering Ratio-based Splitting (RO_RS): 随机打乱用户的交互, 然后用户的数据按照比例进行切分;
    • Rankdom Ordering Leave-one-out Splitting (RO_LS): 随机打乱用户的交互, 然后用户的序列中的倒一和倒二分别作为测试和验证;
    • Temporal Ordering Ratio-based Splitting (TO_RS): 按时间排列用户的交互, 然后用户的序列按照比例进行切分;
    • Temporal Ordering Leave-one-out Splitting (TO_LS): 按时间排列用户的交互, 然后用户的序列中的倒一和倒二分别作为测试和验证.

数据集的切分方式对结果的影响

  • Data set ordering 对结果的影响更为显著, 所以如果算法是时间相关的, 最好还是选择 temporal ordering 的方式.

数据集的切分方式对产生 invalid recommendations 的影响

  • 上面讨论的方式, 实际上都可能会发生训练集测试集的时间线有重合的情况, 自然有可能会发生 invalid recommendations.

  • 作者通过下列的方式来统计出现 invalid recommendations 的比例:

    \[\#invalid = \frac{1}{|\mathcal{U}|} \sum_{u \in \mathcal{U}} \sum_{i \in \hat{R}_u} I( T_i^f \ge T_u^l ). \]

    其中 \(\hat{R}_u\) 表示给 \(u\) 的推荐列表, \(T_u^l\) 表示用户的最后的交互时间, \(T_i^f\) 表示 \(i\) 的第一次的出现时间.

  • 如上表所示, 总体来说 Temporal ordering 的方式会比 Rankdom ordering 的方式更容易产生更多的 invalid recommendations. 作者给了一点解释, 但是我感觉没啥道理.

模型优化

这块启发不是很大, 感兴趣的请回看原文.

代码

[official]

目标函数

Sampling, non-sampling 方法的差异性

标签:方式,Study,Appropriate,metrics,切分,算法,Algorithms,排名,数据
From: https://www.cnblogs.com/MTandHJ/p/18176715

相关文章

  • A Critical Study on Data Leakage in Recommender System Offline Evaluation
    目录概主要内容数据集统计信息Top-NRecommendationListRecommendationAccuracy理想的切分方式代码JiY.,SunA.,ZhangJ.andLiC.Acriticalstudyondataleakageinrecommendersystemofflineevaluation.TOIS,2022.概本文讨论了现在的推荐系统评价方式(如L......
  • Fast Training Algorithms for Deep Convolutional Fuzzy Systems With Application t
    类似深度卷积神经网络DCNN,模糊系统领域有个深度卷积模糊系统deepconvolutionalfuzzysystem(DCFS),每一层都是一个模糊系统,上一层的输出是下一层的输入。这篇论文目的是加速DCFS的计算速度,解决可解释性1990年提出,也用反向传播训练DCFS受困于低维度小数据集,大数据量时计算负担太......
  • phpstorm配置xdebug (phpstudy环境下)
    phpstorm配置xdebug (phpstudy环境下)点击设置点击扩展组件打开XDebug调试组件点击设置点击配置文件点击配置xdebug的php版本,在最后找到xdebug的配置信息将默认生成的配置的下面两个改成Onxdebug.profiler_enable=Onxdebug.remote_enable=On最后添加idekey,这个在p......
  • 52 Things: Number 24: Describe the binary, m-ary and sliding window exponentiati
    52Things:Number24:Describethebinary,m-aryandslidingwindowexponentiationalgorithms.52件事:第24件:描述二进制、m进制和滑动窗口求幂算法。 Thisisthelatestinaseriesofblogpoststoaddressthelistof '52ThingsEveryPhDStudentShouldKnow......
  • 52 Things: Number 15: Key generation, encryption and decryption algorithms for R
    52Things:Number15:Keygeneration,encryptionanddecryptionalgorithmsforRSA-OAEPandECIES.52件事:第15件:RSA-OAEP和ECIES的密钥生成、加密和解密算法。 Thisisthelatestinaseriesofblogpoststoaddressthelistof  '52ThingsEveryPhDStuden......
  • 52 Things: Number 16: Describe the key generation, signature and verification al
    52Things:Number16:Describethekeygeneration,signatureandverificationalgorithmsforDSA,SchnorrandRSA-FDH.52件事:第16件:描述DSA、Schnorr和RSA-FDH的密钥生成、签名和验证算法。 Thisisthelatestinaseriesofblogpoststoaddressthelistof'......
  • 补充:基于项目的协同过滤推荐算法(Item-Based Collaborative Filtering Recommendation
    前言继续上篇博客,继续读论文。想看上篇论文的同学可以点击这里相关工作Inthissectionwebrieflypresentsomeoftheresearchliteraturerelatedtocollaborativefiltering,recommendersystems,dataminingandpersonalization.在本节中,我们简要介绍了一些与协同......
  • Top-N推荐算法 Top-N recommendation Algorithms
    引言推荐算法是计算机专业中的一种算法,通过一些计算,能够推测用户喜欢的东西,在互联网环境中应用比较广泛。Top-N算法在生活中非常常见,比如学术论文推荐论文、音乐软件推荐歌曲等。今天看到一篇名叫"ARevisitingStudyofAppropriateOfflineEvaluationforTop-NRecommendati......
  • DIC case study:DIC技术在渔业捕鱼效率方面的提升
    DICcase study:AfisheryresearchinstituteusesDICtechnologytoimprovefishingnetfishingefficiencyDoyouknowhowfishingnetscatchfish?Whatfactorsaffecttheefficiencyoftrawling?Howdotheshapeandtrajectoryofthetrawlchangeduring......
  • 基于项目的协同过滤推荐算法(Item-Based Collaborative Filtering Recommendation Alg
    前言协同过滤推荐系统,包括基于用户的、基于项目的息肉通过率等,今天我们读一篇基于项目的协同过滤算法的论文。今天读的论文为一篇名叫《基于项目的协同过滤推荐算法》(Item-BasedCollaborativeFilteringRecommendationAlgorithms)。摘要Recommendersystemsapplyknowledg......