作者:一元,四品炼丹师
Capturing Delayed Feedback in Conversion Rate Prediction via Elapsed-Time Sampling(Arxiv2021)
背景
很多时候,算法工程师都专注在建模的事情上,却忽略了数据的质量问题,尤其是在搜索推荐中,用户在点击完商品之后可能不会当时就下单,要过几天才下单,那这些数据怎么办?因为模型需要按天更新啊,所以自然就会出现很多错误的标签,其实这些都是延迟带来的错误,那怎么处理这种问题呢?请大家细细阅读本文。绝对精彩!
转换率(CVR)预测是数字显示广告最关键的任务之一。商业系统通常需要以在线学习的方式更新模型,以跟上不断变化的数据分布。但是,转换通常不会在用户单击后立即发生。这可能导致标签不准确,这被称为延迟反馈问题。在以往的研究中,延迟反馈问题的处理方法要么是长时间等待正标签,要么是在负样本到达时消耗掉它,然后在转换之后插入一个正的重复样本。事实上,在等待更准确的标签和使用新的数据之间存在一种权衡,这在现有的工作中没有被考虑。
为了在这一权衡中取得平衡,我们提出了时间采样延迟反馈模型(ES-DFM),该模型模拟了观察到的转换分布与真实转换分布之间的关系。然后在经过时间抽样分布下,通过重要性抽样优化真转换分布的期望值。我们进一步估计每个实例的重要性权重,作为CVR预测中损失函数的权重。为了证明ES-DFM的有效性,我们在公共数据和私有工业数据集上进行了大量的实验。实验结果表明,我们的方法始终优于先前的最新结果。
据我们所知,
基础背景
我们取用户的特征, 商品的特征作为我们的输入,所有的特征被表示为, 并且目标是学习用户购买商品的概率. , 表示转化发生了,否则, 理想状况下面, CVR模型是从真实分布中采样得到的训练数据集,我们的理想损失就可以通过下面的方式进行表示:
其中是CVR模型函数,是参数, 为分类损失。因为延迟反馈问题,真实的分布是和观测到的训练集的分布不一样,所以理想下的是不可能拿到的。
为了更精确地描述这种延迟反馈设置,我们引入了三个时间点和相应的时间间隔,
这三个时间点,分别是:
提出的方案
为了实现对等待时间的灵活控制,我们假设elapsed time是从经过时间分布中提取的。本文我们提出了一个概率模型,将经过时间分布、延迟时间分布, 和转换率合并为一个统一的框架。为了实现对实际CVR预测目标的无偏估计,我们提出了一种与经过采样方法相对应的重要性加权方法。然后我们给出了一个实用的重要权重估计,并分析了该估计所引入的偏差,从而指导我们设计一个合适的经过时间分布.
Elapsed-Time 采样延迟反馈模型
为了在获得准确的反馈信息和保持模型的新鲜度之间取得平衡,在建模过程中应该集成一个合理的等待时间(elapsed time)。此外,elapsed time 应该是一个依赖于的分布, 也就是, , 例如:
然后,我们等待样本在赋予一个标签的时间间隔。通过引入时间分布,我们提出了我们的经过时间采样延迟反馈模型(ES-DFM),该模型模拟了观察到的转换分布和真实转换分布之间的关系,根据:
其中,
在模型训练的时候,有些转化会在未来某个时间点发生转化但是却依旧没有观测到,之前的方案例如DFM和FSIW会忽略这些转化。
我们认为这些对于延迟反馈任务是很重要的,因为正样本比负样本少得多,而正样本可以定义模型优化的方向。因此,在这项工作中,一旦用户接触到广告,数据将被发送(如果已经有fake negative,则复制)给带有正标签的模型。然后,应重新规范化,如下所示:
注意这边的condition on x为了方便已经被省略了。由于我们插入了延迟正样本,样本总数将增加,所以我们应该用除以来归一化。
ES-DFM的重要性权重
为了在延迟反馈问题中获得无偏的CVR估计,我们通过importance sampling优化的期望,
其中, 是CVR模型函数, 是参数, 为分类损失。
我们可以使用近似的权重优化理想的目标. 我们可以得到:
其中,
是延迟的正的概率,表示一个样本是duplicated正的概率; 是真实的负概率,表示观测到负例是真实负例并且不会转化的概率。于是我们的importance weighed CVR损失函数为:
其中是从elapsed-time采样分布中采样得到的训练样本。
Importance Weight(IW)的估计
通过importance sampling解决延迟反馈问题的挑战在于我们需要估计importance weights ,在本文中,我们将分解成两部分,和, 更加准确地, 我们使用二分类方法去预估这两个概率。我们训练一个分类器来预测延迟正样本的概率同时训练一个分类器来预估真实负样本的概率;为了构建训练数据集,对于每个样本,我们从得到一个elapsed time ,
实践中,所有这些需要的样本是可以从流式数据中获得的,数据筛选可以通过在loss函数上面加入mask得到,因此我们可以在流式训练中使用共享网络同时建模训练和;
重要性采样方法通常会因为概率的相除引入高方差,我们的方法很少会引入高的方差。
IW的Bias分析
importance weighted loss是使用理想的和可以做到无偏。但是,因为预估的importance weights 和,可能会引入bias。预测的概率会收敛到:
通过上面的式子,我们可以得到下面的结论,这也引导我们设计更好的elapsed-time 采样分布:
所以我们可以控制等待时间(elapsed time)分布来降低偏差, 这是实现之前所说的trade-off的核心,也是现有方法缺失的一部分。
实验
在延迟反馈设置中,同一样本可以被标记为正样本或负样本。它与噪音标签的学习密切相关(Natarajan等人,2013),其中一些标签是随机翻转的。我们假设一个处理延迟反馈问题的方法不仅要纠正错误的标签,而且要在纠正错误标签或纠正失败之前(例如,如果权重模型偏离太多,偏差将很大,校正将失败)减少错误标签的负面影响。
因此我们进行了稳健性实验。我们随机选择流数据集中所有正样本的部分,然后将其标签(点击时间和支付时间)与随机选择的负样本交换。注意,我们不干扰预训练数据集,因此初始CVR模型和预训练重要性加权模型不受干扰。我们用不同的干扰强度进行了实验,我们可以看出,
我们在我们的在线评估框架中进行了A/B测试。我们观察到了稳定的性能改善,与最佳基线相比,
其中GMV是通过项目的交易数量乘以每个项目的价格来计算的。在线和离线的DFM-B测试结果与工业流媒体测试结果一致。
结论
在流式训练环境下,标签准确度和模型新鲜度之间的权衡从未被考虑过,这是该方法的主动决策,而不是离线环境下的被动特征。针对流式CVR预测中的延迟反馈问题,提出了时间分布来平衡标签准确度和模型新鲜度的方法。在经过时间抽样分布下,通过重要性抽样优化真转换分布的期望值。此外,我们还提出了一个严格的流式训练和测试实验协议,使之更符合实际的工业应用。最后,大量的实验证明了我们的方法的优越性。
参考文献