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

2021-05-14 16:53:20 浏览数 (2)

作者:一元,四品炼丹师

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

0 人点赞