关注我们,提升学习效率
title:On Sampling Collaborative Filtering Datasets
link:https://cseweb.ucsd.edu/~jmcauley/pdfs/wsdm22.pdf
from:WSDM 2022
code:https://github.com/noveens/sampling_cf
1. 导读
本文主要是针对采样提出的对应方法,在实际工作中,通常面临的数据量是非常大的,并且有些数据是长尾分布的,稀疏的,有时需要对大型数据进行相应的采样后再进行模型的训练,本文一方面介绍了许多已有的方法,对于这方面不太了解的小伙伴可以阅读了解;另一方面,提出了一种新的方式,SVP-CF,来对数据进行采样。
文中涉及一些额外内容,可在“参考内容”中查看。
2. 方法
一般推荐系统方法涉及三类数据,
针对不同类型的数据可以采用不同的模型方法,本文主要采用以下方法对所提方法进行测试对比,他们能够适用的场景以及所采用的评价指标具体如下,
给定用户-商品数据D,目标是通过采样策略s构建一个p%的子集 。在本文中,为了全面起见,作者考虑了八种流行的抽样策略的样本,可分为以下三类:
首先是三种交互采样方式。
构建用户-商品交互二分图,然后进行采样。
基于代理的选择(Selection-Via-Proxy,SVP)[1]是针对分类数据集提出的,如cifar-10等。其思想是希望设计一个简单且高效的模型作为代理来定义每个数据点的重要性。本文就是基于SVP提出的,但是要将其用于CF数据,需要考虑以下几点,
由于用户-商品交互数据的异质性,我们可以以各种不同的方式进行子采样,即对用户,交互,商品等其中一类进行采样,文中作者讨论将SVP-CF应用于用户和交互采样的情况,其他情况亦可扩展。
无论是对用户还是交互进行采样,SVP-CF 通过在原始数据 D 上训练一个廉价的代理模型 P 并修改遗忘事件方法 [2] 以保留具有最高重要性的数据点。对于显式反馈,如果是采样交互,则数据点的重要性被定义为特定交互的平均MSE,如果采样用户,则数据点的重要性被定义为用户u的平均MSE;对于隐式或序列反馈,采用P的平均逆AUC作为数据点的重要性。
为了处理** MNAR 和长尾问题**,提出了 SVP-CF-Prop,它利用用户和商品的倾向来纠正分布不匹配,同时估计每个数据点的重要性。令 表示真实是交互的情况下,预测也是交互的概率,r表示相关性分数。E表示P的总共训练轮次。 表示训练到第e轮次后的代理模型P, 表示用户u的正交互的集合, 表示负交互的集合。SVP-CF-Prop的重要性函数 定义为下式,其中的p_ui由下面的倾向性模型来建模得到。
有许多方法可以对用户-商品交互的倾向性得分建模,包括逻辑回归等。这里倾向性得分计算公式如下,其中N_u,N_i分别表示用户和商品的总数,A和B是两个固定的标量, ,
令不同CF场景为f,评价指标为m,在全数据上推荐系统方法得到的性能表示为 ,采样后的性能表示为 ,其性能衡量可以由下式计算,这里的λ是常数, 函数是 Kendall’s Tau系数,具体计算方式可从网上查找。https://blog.csdn.net/mba16c35/article/details/42490537
3. 结果