前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >惊了,小小位置偏差,线上涨了这么多!

惊了,小小位置偏差,线上涨了这么多!

作者头像
炼丹笔记
发布2021-05-14 16:53:20
1.3K0
发布2021-05-14 16:53:20
举报
文章被收录于专栏:炼丹笔记

作者:一元,四品炼丹师

PAL: A Position-bias Aware Learning Framework for CTR Prediction in Live Recommender Systems(RecSys2019)

准确预测点击率(CTR)是推荐系统的关键。一般来说,CTR模型是基于从流量日志中收集的用户反馈来训练的。

然而,位置偏差存在于用户反馈中,因为用户点击某个商品不仅是因为她喜欢它,而且因为它处于一个好的位置。

一种方法是将位置作为训练数据中的一个特征进行建模,由于其简单性,在工业应用中得到了广泛的应用。特别地,由于实际位置信息在那时不可用,因此必须使用默认位置值来预测在线推断中的CTR。但是,使用不同的默认位置值可能会导致完全不同的推荐结果。因此,这种方法导致次优的在线性能。针对这一问题,本文提出了一种位置偏差感知学习框架(PAL),用于实时推荐系统中的CTR预测。它能够对离线训练中的位置偏差进行建模,并在没有位置信息的情况下进行在线推理。在为期三周的AB测试中,大量的在线实验证明PAL在CTR和CVR(转换率)方面比基线高出3%-35%。

问题背景

一个用户点击一个商品不仅仅是因为用户喜欢该商品,还有可能是因为该商品处在一个非常好的曝光位置。

之前处理该问题一共有两种方案:

  1. 使用IPW(inverse propensity weighting):对位置信息应用用户定义的变换,然后固定变换后的值。这么做很难为位置信息手动设计一个好的转换,这导致效果比自动学习的转换差。
  2. 将位置信息当做特征输入:但这么做在在线推断中,必须使用默认位置值来预测CTR,因为此时实际位置信息不可用。使用不同的默认位置值可能会导致完全不同的推荐结果,从而导致次优的在线性能。

本文提出了一个位置偏差感知学习框架(PAL)来模拟离线训练中的位置偏差,并在没有位置信息的情况下进行在线推理

PAL的思想是基于这样一个假设:用户点击某个商品的概率取决于两个因素:

  • 用户看到该商品的概率;
  • 用户点击该商品的概率;

假设用户看到了该商品。每个因素在PAL中被建模为一个模块,这两个模块的输出的乘积就是用户点击某个项目的概率。

如果对两个模块分别进行优化,由于两个模块的训练目标不一致,可能导致整个系统处于次优状态。为了避免这种局限性,提高CTR预测性能,PAL对两个模块同时进行了优化。一旦这两个模块通过离线训练得到很好的训练,第二个模块即用户点击该项目的概率(假设该项目已被用户看到)就被部署来预测在线推理中的CTR。

方案

符号

我们假设线下点击数据,其中是样本总数,是样本的特征向量,是第个位置的特征向量, 是样本的位置信息, 是用户的反馈。

常见方案

之前处理该方案的策略有:将position-bias当做是一个特征或者似乎一个模块。

1. 作为特征

将位置信息建模为一个特征, 线下训练的时候,我们将其作为特征向量并且拼接输入到模型当中, .

这么做就要求我们在在线推理时也需要有输入,默认值的话会带来次优的效果,而如果枚举position信息的话又会导致时间增大,不能接受,所以这么做泛化性会较差。

2. 作为模块

针对以上以将位置信息作为特征的局限性,本文提出了一种新的以位置信息为模块的框架,以便在离线训练中建立位置偏差模型,在没有位置信息的情况下进行在线推理。

框架

我们的框架是基于这样一个假设,即一个商品只有在被用户看到时才被用户点击。更具体地说,我们认为商品被用户点击的概率取决于两个因素:

  • 商品被用户看到的概率;
  • 用户点击商品的概率;

假设商品被用户看到,那么我们有:

p(y=1|x,pos) = p(seen|x,pos) p(y=1|x,pos,seen)

我们做进一步的假设:

  • 一个商品被看到的概率只与相关位置被观察到的概率有关;
  • 一个商品被点击的概率是和位置无关的;
p(y=1|x,pos) = p(seen|pos) p(y=1|x,seen)

我们提出的框架可以基于上面的等式并且由两个模块组成。

其中第一个模块是 , 我们将其表示为"ProbSeen"并且将位置信息作为输入,第二个模块建模概率,我们将其表示为,, 表示模型预测的CTR。我们的损失函数为:

L(\theta_{ps}, \theta_{pCTR}) = \frac{1}{N} \sum_{i=1}^N l(y_i, bCTR_i) = \frac{1}{N} \sum_{i=1}^N l(y_i, ProbSeen_i * pCTR_i)

其中, 和是ProbSeen和pCTR的参数,为交叉熵损失函数。pCTR模块在在线预测的时候不是直接优化的,实际上,标签和预测的是最小化的, 一旦我们的PAL训练完成, 模块被部署到线上用于CTR预测, 在PAL中位置信息是不需要的。

实验

线下实验

  • Baseline:The baseline framework refers to “as a feature" strategy
  • 不同的位置k对于Base的影响很大。

AB测试的提升

  • 我们注意到线上线下都得到了一直的提升;

小结

我们提出了一个PAL框架,它可以在离线训练中对训练数据中的位置偏差进行建模,在在线推理中可以在没有位置信息的情况下预测CTR。与基线相比,PAL在为期三周的在线AB测试中有更好的结果。大量的在线实验结果验证了该框架的有效性。

参考文献

  1. PAL: A Position-bias Aware Learning Framework for CTR Prediction in Live Recommender Systems:https://dl.acm.org/doi/pdf/10.1145/3298689.3347033
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 炼丹笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准确预测点击率(CTR)是推荐系统的关键。一般来说,CTR模型是基于从流量日志中收集的用户反馈来训练的。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档