博客进阶
如何测量与缓解位置偏差
How to Measure and Mitigate Position Bias
这篇博客文章说明位置偏差:排位靠前的物品更容易被看到和点击,与相关性无关,例如 Google 搜索首位点击量约为第十位的 10 倍。文中还讨论了展示偏差、点击首个相关结果后忽略其余等原因,以及偏差通过历史数据自我强化的反馈回路,并给出测量与缓解方式的笔记。适合做推荐系统、关注排序与评估偏差的人阅读。
- 分级
- 值得看
- 收录时间
- 2026-10-29
中文精读
原文约 1,531 词 · 6 节
什么是位置偏差
- 位置偏差指排名靠前的物品更容易被看到、从而更容易被点击,无论它是否真的相关;这也导致排名靠后的物品互动率偏低。
- 在 Google 搜索中,第一位的点击量是第十位的 10 倍;Netflix 的推荐横排也是从左到右浏览。
- 成因有三类:盲目相信算法点击顶部结果;靠后物品曝光本身较少(呈现偏差,presentation bias,如翻到第二页);点击或播放了第一个相关结果后就忽略其余物品。
- 后果是难以区分用户互动是因内容真相关还是因排名高;用有偏历史数据训练会通过自我强化的反馈回路放大偏差,使更相关但排名低的物品持续低互动、无法提升排名。
- 本节还说明下面介绍的各种测量方法各有取舍:有的更能分离出位置偏差本身,有的在日志数据上更可行。
通过随机化测量位置偏差
- 最直接的做法是把(顶部)结果均匀随机打乱(RandN / RandTopN):同一物品出现在多个位置,互动差异可干净归因于位置偏差;缺点是损害用户体验,成本过高或不可行。
- 另一种是利用物品位置本身的随机性:线上有多个排序器、或排序器频繁更新时,历史数据中就蕴含随机性,无需 RandTopN 这类侵入式干预即可估计位置偏差;但除非规模大、排序器多且更新频繁,否则很难获得这种数据。
- 较弱的形式是多组件(widget)推荐同一物品但位置不同,此时上下文(用户、物品、查询)固定;但组件位置或呈现方式(标题、解释)等噪声会混入。
- 若没有多组件,可用跨上下文的位置差异(如 item-to-item 推荐中同一推荐物品在不同上下文物品下处于不同位置);但上下文不固定,因相关性随上下文变化而噪声较大。
- 利用固有随机性的最大优点是无用户影响,因为只用日志数据测量。
- 可用期望最大化(expectation maximization)推断位置偏差:位置偏差模型假设物品被点击仅当它被检验且相关,检验只依赖位置、相关性只依赖上下文与物品;Google 在邮件和文件检索搜索日志(多数查询只有一次点击)上用特征而非 ID 表示查询和物品,验证了其有效性。
通过随机化测量位置偏差(续)
- 折中做法是加少量随机性:FairPairs 交换第 k 与 k+1 位,RandPair 交换第 1 与第 k 位;与 RandN 一样保持物品相关性不变,可测出位置带来的互动差异,但 k 较大时 RandPair 会损害体验。
- 借鉴推荐中的意外性(serendipity),给每个物品位置加上从正态分布(如 np.random.normal)随机采样的值,再按总和重排;标准差决定每个物品获得上下浮动 x 位的机会。
- 但给位置加随机不区分原始分数差异:原始分是第二名 10 倍的第一名,与只有 1.1 倍的第一名被同等对待。
- 因此可改为给原始分数加随机:一种是 Boltzmann 探索,先把原始分数归一化/softmax 成概率,再从位置 1 开始按概率采样填充;每个物品按推荐概率获得更高位置的机会,该概率也可用于反事实评估。这类方法先把物品锚定在原位置再加随机,相比 RandTopN 可能减少对用户的负面影响。
缓解位置偏差
- 在推荐系统早期、更重探索而非利用时,加入一定随机性是可行做法:多个物品可能出现在同一位置,可记录哪个物品表现更好并据此训练模型。
- 若无法加随机,可用测得或学到的位置偏差对日志数据去偏,例如前述 Google 论文用推断出的位置偏差训练以逆倾向加权精度(inverse propensity weighted precision)为优化目标的模型。
- 另一种方式是在模型中引入位置特征,让模型学习位置如何影响回报;服务时把所有物品的位置特征设为 1 以抵消位置影响,具体参见 Google《Rules of Machine Learning》第 36 条。
结语
- 位置偏差的影响随用户体验(UX)而异:大平台上用户通过搜索、推荐、类目页等多种途径自然发现物品、且线上跑多个算法时,单个算法的位置偏差会被其他算法冲淡。
- 若是新平台,或 UX 中大部分物品发现来自单一界面(如外卖 App 的餐厅搜索、社交媒体信息流),作者认为应尽早测量并缓解位置偏差。
参考资料与引用
- 列出了 8 篇参考文献,涵盖最少侵入式随机化、点击位置偏差模型实验比较、有偏反馈下的无偏学习排序、个人搜索中的选择偏差、无侵入干预估计位置偏差、位置偏差估计用于无偏学习排序、Boltzmann 探索、推荐系统意外性综述。
- 文中给出引用格式:Yan, Ziyou. (Apr 2022). How to Measure and Mitigate Position Bias. eugeneyan.com,并附 BibTeX 条目。
- 致谢中列出 Yang Xinyi 阅读了草稿。