A Critical Study on Data Leakage in Recommender System Offline Evaluation

Ji Y., Sun A., Zhang J. and Li C. A critical study on data leakage in recommender system offline evaluation. TOIS, 2022.

本文讨论了现在的推荐系统评价方式 (如 Leave-one-out) 存在的数据泄露的问题, 以及所导致的一些风险.

主要内容

  • 由于大部分的数据切分方法并没有严格遵守 global timeline 进行划分, 如下图所示

  • 所以, 在评估的时候可能会导致:

    1. 为某个用户预测下一个他可能感兴趣的商品, 但是预测出来的结果在当前时刻实际上可能还没上架;
    2. 由于训练中接触到了一些未来的信息, 这在实际中也是不太可能的.
  • 实验设置:

  • 如上图所示, 将整个数据集按照年份分成 10 份, 选择 Y5, Y7 作为测试集. 然后训练的时候, 比如 Y6, 表示用 Y1-Y6 的数据作为训练集.

  • 需要注意的是, Y5/Y7 作为测试集, 不是指把整个年份的交互作为测试, 是那些 users 的最后一个交互在 Y5/Y7 中的作为测试, 所以训练集和测试集是不会有重叠的.

数据集统计信息

Top-N Recommendation List

  • 如上图所示, 大抵有如下的结论:
    1. 一旦未来的训练数据集被使用, 模型的推荐结果就会推荐只有在未来才有可能出现的 items, 这在实际中是不会发生的;
    2. 随着未来的训练数据的增加, 这个现象呈现加重的趋势.

Recommendation Accuracy

  • 作者进一步比较在逐步增加未来数据的时候, 模型的精度的变化:

  • 其实仅仅从图中, 似乎感觉整体的精度的变化其实不大, 但是比较相对的排名变化, 其实影响还是很大的:

  • 可以发现, 不同的模型, 同一个数据集, 当未来数据的比例变化的时候, 各自的相对排名往往不是固定的. 这个其实影响很大, 因为这变相说明我们在一般的如 leave-one-out 这种切分下得到的结论可能并不适用于实际的场景. 不过这里我有那么点疑问, 为啥这里 BPR 的效果能这么好, 感觉和具体的数据集也是有关系的.

理想的切分方式

  • 理想的切分方式是采用滑动窗口:

  • 这种方式已经被应用一些在线推荐中去了, 不过这种方式也存在一些技术上的问题:
    1. time windows 的长度, 太长了用户兴趣可能会变化很大, 太短了测试样本点又太少;
    2. 超参数调节, 应该根据哪部分数据进行参数调节?
    3. 如何综合评价模型? 因为完全也有可能出现某一部分测试集上一个方法好, 另一部分另一个方法好, 是平均地看待精度还是仅仅取最后一个测试集来判断, 也是一个问题.

代码

[official]

posted @ 2024-05-05 17:09  馒头and花卷  阅读(10)  评论(0编辑  收藏  举报