文 | 成指导
源 | 知乎

背景

推荐系统中大量使用用户行为数据,作为系统学习的标签或者说信号。但用户行为数据天生存在各式各样的偏差(bias),如果直接作为信号的话,学习出的模型参数不能准确表征用户在推荐系统中的真实行为意图,造成推荐效果的下降。
因此,本篇聊一聊推荐系统中常见的偏差,与相应的去偏思路与方法。本篇的主要脉络依据中科大何向南教授、合工大汪萌教授联合在 TKDE 上的一篇综述文章展开:Bias and Debias in Recommender System: A Survey and Future Directions

推荐的反馈闭环

推荐系统是由用户、数据、模型,三者互相作用产生的一个动态的反馈闭环。闭环分为三个阶段:

User -> Data

用户会产生大量的 user-item(对抖音是用户-视频、对头条是用户-文章)交互数据,以及各类周边信息包括 user 特征、item 属性、交互上下文信息等。其中 user-item 交互数据中 user 集合被表示成 ,item 集合被表示成 。

user 与 item 两者间互相作用形成反馈矩阵(feedback matrix),类型分为两种:

  • 隐式反馈:表示为 ,矩阵中元素 是二值化 0、1 取值表示 user u 是否发生与 item i 的交互行为(bool 类型,例如购买、点击、查看等行为)

  • 显式反馈:表示为 ,矩阵中元素 是 user u 对 item i 的评分(float 类型,例如豆瓣评分

Data -> Model

根据历史观测数据,训练模型预测 user 是否采纳 item 的程度。

Model -> User

模型返回预测推荐结果给到用户,进一步影响用户的未来行为和决策。

三个阶段不断循环,在闭环中逐渐加剧各阶段的 bias,会造成更严重的问题。

常见偏差

数据偏差

显式反馈数据 - Selection Bias

定义:当用户可以自由选择 item 进行评分,可观测到的评分并不是所有评分的有代表性样本。换而言之,评分数据是“非随机缺失”(missing not at random, MNAR)的

这个偏差的来源比较好理解,我们也可以想想自己是不是也是这样:倾向于评分喜爱的 item(例如,热衷粉丝的电影、歌曲等) ,倾向于评分特别好或者特别差的 item(例如,去看电影很想夸好片,很想喷烂片)

显式反馈数据 - Conformity Bias

定义:用户评分倾向于与其他人相似,即使是完全基于他们自己的判断,也会受到影响

这个偏差是由从众心理导致的。对于大众一致喜欢/讨厌的 item,个体用户做判断时经常会受到外界声音的影响

隐式反馈数据 - Exposure Bias

定义:仅有一部分特定 item 曝光给了用户,因此没有观测到的交互行为并不直接等同于是训练中的负例

可以想一想,对于没有产生交互行为(没有点击、购买等行为)的数据样本而言,其实是由 2 个原因造成:

  1. 用户的确不喜欢当前 item;

  2. 当前 item 没有曝光给用户(对于从没刷到过的视频,我们无法确定自己是否喜欢)

对于数据曝光问题,之前的研究有几个角度:

  1. 当前版本的曝光取决于上一个推荐系统版本的策略,决定了如何展现;

  2. 因为用户会主动搜索或寻找感兴趣的 item,因此用户选择成为了影响曝光的因素,使得高度相关/吸引力(例如标题党、美女图片类新闻)的 item 更容易被曝光;

  3. 用户的背景关系是影响曝光的一个因素,例如好友、社区、地理位置等因素会影响曝光;

  4. 流行的 item 会更容易曝光给用户,因此 Popularity Bias 是另一种形式 Exposure Bias

隐式反馈数据 - Position Bias

定义:用户倾向于无视相关性地去对推荐列表中更高位置上的 item 产生交互行为

位置偏差在搜索系统中是一个经典并持续存在的偏差,同样在推荐系统中也会存在,用户普遍会对于头部观测到的 item 产生更多点击(还没有产生审美疲劳?)。尤其会对“用户点击行为”作为正例信号进行学习的模型,位置偏差会在训练、评估阶段产生错误影响

模型偏差

Inductive Bias

偏差不一定总是有害的,实际上一些归纳偏差被故意加入到模型设计中为了实现某些特性

定义:为了模型更好地学习目标函数并且泛化到训练数据上,会设置一些模型假设。假设未必都是准确的,会产生一些偏差

列举某些经典的假设(未必造成有害影响):

  1. 用户交互行为可以由向量内积表示

  2. Adaptive negative sampler 提出用于增加学习速度,即使结果损失函数不同于最初分布

  3. CNN 网络的局部特征重要性

推荐结果的偏差与不公平性

Popularity Bias

定义:流行的 item 会被更频繁地推荐、产生用户交互

长尾效应或者说二八定律带来了这个偏差,会降低个性化层次、用户对于平台的惊喜体验,造成马太效应

Unfairness

定义:整个系统不公平歧视某些群体用户

这个偏差的本质原因是数据的不平衡性,会带来社会性问题(年龄、性别、种族、社交关系多少等歧视)。不公平的数据,会造成更不公平的用户体验,产生恶循环

不公平性更多是由于系统数据分布不平衡造成的,例如某个基本由中老年用户组成的 app 较难对于年轻用户的行为进行建模,系统推荐出的视频会更倾向于有“年代感”

反馈闭环加剧各类偏差

User->Data->Model->User 的不断循环,会在已有偏差的基础上,进一步放大偏差

这篇文章简单介绍了一些推荐系统中常见的偏差 bias,并进行了一些简单的分类。这里的分类体系并非绝对合理但却具有一定代表性。

寻求报道、约稿、文案投放:
添加微信xixiaoyao-1,备注“商务合作”

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

聊聊推荐系统中的偏差相关推荐

  1. 浅谈数据中的偏差问题和推荐系统去偏最新研究进展

    ©作者 | 杨晨 来源 | RUC AI Box 本文首先回顾了数据中的偏差问题,通俗易懂地做一个解释和引入,并基于最近两年发表在顶级会议(KDD.SIGIR.WWW.AAAI 等)的推荐系统去偏相关 ...

  2. SIGIR 2021 | AutoDebias:推荐系统中通用的自动去偏方法

    ©PaperWeekly 原创 · 作者|董汉德 学校|中国科学技术大学硕士生 研究方向|信息检索 摘要 近些年来,推荐系统的偏差越来越受到研究者的关注.训练推荐模型的数据大多为观测所得,而非实验所得 ...

  3. 推荐系统去流行度偏差(bias)文献四篇

    Keeping Dataset Biases out of the Simulation : A Debiased Simulator for Reinforcement Learning based ...

  4. 多目标学习在推荐系统中的应用

    本文概览: 1. 多目标学习提出的背景 一般来说在搜索和推荐等信息检索场景下,最基础的一个目标就是用户的 CTR,即用户看见了一篇内容之后会不会去点击阅读.但其实用户在产品上的行为是多种多样的.比如在 ...

  5. 【推荐系统】多目标学习在推荐系统中的应用

    本文概览: 1. 多目标学习提出的背景 一般来说在搜索和推荐等信息检索场景下,最基础的一个目标就是用户的 CTR,即用户看见了一篇内容之后会不会去点击阅读.但其实用户在产品上的行为是多种多样的.比如在 ...

  6. 推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019...

    整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 个性化推荐算法滥觞于互联网的急速发展,随着国内外互联网公司,如 Netflix 在电影领域,亚马逊.淘宝.京东等在电商领域,今日头 ...

  7. 在推荐系统中,我还有隐私吗?联邦学习:你可以有

    2020-11-19 15:38:41 机器之心分析师网络 作者:仵冀颖 编辑:H4O 在推荐系统无所不在的网络环境中,用户越来越强烈地意识到自己的数据是需要保密的.因此,能够实现隐私保护的推荐系统的 ...

  8. 物品推荐系统中的挑战和解决方案

    2020-01-30 17:03:18 作者:datarevenue 编译:ronghuaiyang 导读 如何处理没有见过的数据,优化响应时间,并频繁更新模型. 如何处理不可见的数据,优化响应时间, ...

  9. 聊聊 Linux 中的五种 IO 模型

    聊聊 Linux 中的五种 IO 模型 2016/04/21 · IT技术 · 8 评论 · iO, 同步, 异步, 阻塞, 非阻塞 分享到:0 本文作者: 伯乐在线 - 陶邦仁 .未经作者许可,禁止 ...

最新文章

  1. java.util.Collections.synchronizedSet()方法的使用
  2. ajax分页node,分页数据(使用 paginate 方法)《 Node.js 应用:分页器 》
  3. 算法(6) —— AVL树
  4. 星型模型 3nf的区别_贵州省遵义市工业模型经典案例展示
  5. JS判断上传文件类型
  6. Linux_09 Linux软件包管理 rpm与yum
  7. Tensorflow详解保存模型(基础版)
  8. 2016-05-09的POC Yaas Open Event的代码审查
  9. vb计算机水平考试笔试,全国计算机等级考试VB二级笔试复习资料-20210522014715.docx-原创力文档...
  10. mysql事务模式怎么查_Mysql InnoDB中的查询事务模式与锁定select ..for update
  11. GetModuleHandle
  12. js select 联动
  13. Eero并入Amazon:确保用户隐私政策依然不变
  14. 官宣!什么是新基建时代的混合云? | 凌云时刻
  15. 编写matlab程序设计状态反馈增益阵,利用MATLAB设计状态观测器.pdf
  16. 使用HTML图片热区area map制作区域地图的选择高亮效果
  17. 什么是服务器虚拟化,虚拟化的优势!
  18. 【python】自动化测试浏览器不关闭
  19. 线程池满Thread pool exhausted排查和解决
  20. 利用gitee仓库的流水线功能实现Java项目的自动化部署

热门文章

  1. 这本轻小说真厉害 2016
  2. 数据结构_二叉树遍历
  3. POJ-3590 The shuffle Problem 置换+DP | DFS
  4. 数据库中字段类型Number(n,m)大概说明
  5. 二逼了吧,你竟然在中断里面休眠
  6. 整理一篇Linux drm显示系统的文章
  7. 单片机(MCU)如何才能不死机之对齐访问(Aligned Access)
  8. Linux C实现简单的shell
  9. html判断整数小数点后两位小数点,js控制input框只能输入数字和一位小数点且小数点后面只有两位小数...
  10. 十二、HTML5新增标签特性详解(audio、video、input)