L6.09.1exposure bias设计研究

系统只能观察被展示过的内容,未被展示的项永远得不到正反馈

别名: 曝光偏差 · 未展示无正例 · MNAR in recsys

概念解释

点击、完播、加购,都只能发生在已经出现在屏幕上的条目上。没被排出来的条目,再合适也不会留下正例。曝光偏差(exposure bias)指:观测到的正反馈以展示政策为条件,未展示项在数据里与「用户不喜欢」无法区分——不是没被喜欢,是没被允许表现。

展示–行为回路说的是两边互相写成对方。这里要钉的是标签的缺失结构:正例集合被展示集 recency-bound 了。

机制

推荐日志是 MNAR 的:缺失不是随机的,而是由上一轮排序决定的。学习算法若把未点击当负,等于把「没看见」和「看见了不喜欢」混成一类。下一次排序更加不敢把未展示项放出来,正例通道继续只对已展示开放。未展示项于是在数据里死亡,不是在偏好里死亡。

位置放大了这一点:同一次展示里,后面的条目被看见的概率也低,正反馈再向头部集中。所以「只有正信号」还不够描述问题——即便有跳过,跳过仍以曝光为条件。

怎么研究

方法来自曝光偏差与缺失非随机:用随机或均匀探测槽收集一块与政策无关的观测,对比政策日志。自变量:探测比例、未点击是当负还是当缺失。因变量:未展示项进入后续曝光的机会、用探测数据估的相关度与政策数据估的差。

离线回放看不见未展示项的真实标签。要报的是:在探测槽里受欢迎、在政策日志里却像负例的条目比例。那就是曝光偏差的体积。线上评估和探索成本是后续问题。

边界

用户主动搜索或打开外链时,展示由查询决定,曝光偏差转到检索侧,不是推荐政策。物品池小到几乎每条都会轮到时,偏差减轻。这条只处理「正例必须以展示为条件」,不处理用户故意演戏,也不处理离线指标偏爱日志政策。

怎么落地

  • 未点击默认当缺失,不要当负。负例只从明确的关闭、不喜欢、看过却秒退里来。
  • 留一股不跟当前排序走的曝光,专门让从未出过的条目有机会留下正例。
  • 验证:找一批在探测槽里点击高、在主政策下几乎无曝光的条目。若主模型把它们估得很低,曝光偏差已经写进分数。把它们强制曝光一轮,看正例是否出现。

延伸

  • 同组L6.09.2 早期的偶然点击会被放大成长期稳定的画像特征 · L6.09.3 用户为获得想要的推荐而调整行为,行为数据因此失去代表性 · L6.09.4 打破回路需要主动探索,而探索的成本立即可见、收益延后 · L6.09.5 用历史日志做离线评估会系统性偏向产生这些日志的现有策略
  • 相邻L6.04 反馈回路 · L6.08 过滤气泡与多样性 · L6.13 推荐的负面反馈通道
  • 站内检索exposure bias · MNAR · missing not at random

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/L6.09.1