样本
🏀

样本

Created
Mar 2, 2023 07:17 AM
Tags
推荐系统
样本
Text
关于推荐系统样本的工程考虑,包括样本采样、样本清洗以及样本赋权
样本可以看作推荐系统的源泉,样本的好坏从根本上影响着推荐系统的上限,因此样本的选择和处理也是我们需要重点关注的
常见的样本空间:所有样本、其他域样本、候选样本、曝光样本、点击样本、购买样本等;
而在推荐系统中的召回层、粗排层、精排层都需要单独进行样本空间的构建,对其正负样本空间的构建,需要考虑到多方面因素,让我们来一起探索吧!

样本采集

召回层

召回层的目标是尽可能多的覆盖用户的潜在兴趣,所以选择上会更多的考虑 items 的多元化和全面化
正样本
  • 用户的历史点击行为:包括不同时间段、不同场景、不同类型的点击;
  • 用户的反馈行为:包括评分、评论、收藏、分享、购买等;
  • 用户画像信息:包括年龄、性别、地域、兴趣标签等;
负样本
  • 曝光未点击
    • 会导致样本选择偏差(Sample Selection Bias):曝光未点击只能反映用户对已经展示的物品的兴趣,而忽略了那些没有展示但可能更有吸引的物品,这可能会导致召回模型过度拟合已有的曝光数据,而无法发现新的或者潜藏的用户兴趣;
  • 全局随机选择
    • 从全局候选物料中随机抽取 items 作为召回的负例,在 Youtube DNN 双塔模型中使用过;
    • 缺点是可能会导致正负样本比例较大,需要进行处理,例如随机选择/权重/造伪样本等;
  • batch 内随机
    • 在每个 batch 内随机选择其他 item 作为负样本;
    • 优点是不需要额外的采样中心,减轻了开发;缺点是可能会引入正样本和无关的负样本;
  • Popularity 选择
    • 从流行度低的物品中随机选择负例,原理是认为用户更有可能对流行度低的物品不感兴趣;
    • 优点是可以减低误杀正样本的风险;缺点是会忽略潜在的长尾效应;
  • Hard 选择
    • 基于模型损失来选择负样本的方法,认为难以正确分类的负样本,即损失较大的负样本,对于模型的学习更有价值;
    • 优点是可以加快模型收敛和提高模型性能;缺点是可能会增加训练难度和计算开销;
    • Airbnb根据业务逻辑来选取hard negative:1、增加与正样本同城的房间作为负样本,增强了正负样本在本地域上的相似性,加大模型的学习难度 2、增加“被房主拒绝”作为负样本,增强了正负样本在“匹配用户兴趣爱好”上的相似性,加大了模型的学习难度;

粗排层

正样本
  • 曝光点击
  • 联级粗排
    • 选取精排的Top_K为正样本,精排尾部或者召回的随机结果作为负样本;
    • 优点可以提高排序效果,减少样本选择偏差,提高召回通路的利用率;缺点是需要依赖精排模型,增加了计算成本和时延,可能存在过拟合风险;
负样本
  • 曝光未点击
    • 简单易实现,但是可能存在样本选择偏差
  • 级联粗排
    • 精排尾部或者召回的随机结果作为负样本,选取精排的Top_K为正样本;
  • 全局随机
    • 优点可覆盖更多的候选物料,防止过拟合;缺点是会引入噪声和无关物料,降低模型效果;

精排层

正样本
  • 曝光点击
    • 简单易实现,但可能忽略用户的其他行为和偏好,导致模型的泛化能力不足;
  • 用户点击、收藏、购买等多种行为综合考虑
    • 利用了用户反馈信息,提高了模型准确度和覆盖度,但也需要考虑不同行为之间的权重和时间衰减因素;
  • 用户在多个目标上的偏好,例如商品品类、价格区间、品牌等
    • 可以捕捉用户多维兴趣,提高模型的个性化程度和多样性,但是需要解决目标之间的冲突和平衡问题;
负样本
  • 曝光未点击
  • 随机选择
    • 可以考虑在全局/召回/粗排等候选物品中随机抽取负样本;
  • 从模型预测结果中选择
    • 挑选出对模型最具挑战性的负样本,例如同城市中的其他房间(Airbnb),但是可能会导致训练不收敛或者陷入局部最优

样本清洗

  • 数据错误:例如用户ID错误、商品ID错误等(多数为标识错误),需要进行纠正或者删除;
  • 数据重复值:例如用户反复曝光后,可能产生重复样本,一般重复样本取其一即可,一般通过uid+时间戳进行判断;假设出现矛盾样本,例如上报了用户同时点击和未点击某个item,则需要根据业务需求进行判断处理;
  • 数据噪声:例如无关的用户行为,用户未关注的商品,低质量的商品评价等等,这些都需要针对性的配合业务进行处理;例如美团曾采用对最后一次点击之后的曝光样本删除的逻辑,因为用户可能未曾关注到后续的曝光样本;
  • 数据缺失值:缺失值处理一般进行填充或者删除;填充可考虑平均值、均值等;
  • 数据异常值:异常需要识别和处理,例如机存在恶意刷屏欣慰或者爬虫机器人等,通过观察整体数据,来判断一定时间内的行为数大于某值为异常值,一般采取删除操作;

样本权重

推荐系统中正负样本不均匀问题是一个常见的挑战,除了采用下采样或者上采样的方法来调整正负样本的比例外,样本赋权也是常用的方法;

样本赋权

  • 基于频率/时长的赋权方法
    • 根据样本中出现的频率或者点击率来给样本分配权重;
  • 基于业务的赋权方法
    • 根据不同点击行为,例如点击、点赞、购买等行为基于不同的权重;