前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >延迟反馈带来的样本偏差如何处理

延迟反馈带来的样本偏差如何处理

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

作者:十方

在广告系统中,转化率预估是个非常常见的任务,但是转化行为的发生时间往往发生在点击行为后很久,这样就产生了一个很严重的问题.转化率模型需要不断更新,但是产生点击的数据又不能及时用于转化率预估,也就是我们常说的延迟反馈问题.以前的方法往往预留一个时间窗口,超过这个窗口的样本会当作负样本,如果该样本后续又发生了转化,那又会多一条正样本注入模型,这样就会带来样本偏差.所以这篇论文<Real Negatives Matter: Continuous Training with Real Negatives for Delayed Feedback Modeling>给出了解决方案.

延迟反馈建模

转化率预估本质就是个二分类问题,每个样本会被打上{0,1}的标签,但是由于延迟反馈问题,如下图所示,在等待窗口中发生转化的都被标为正确的样本,但是超出这个窗口后就有被标为负样本但实际是正样本的风险.一个非常navie的想法就是扩大等待窗口.但是在广告系统中数据分布是在动态变化的,扩大等待窗口会导致模型学习不够充分.

下图左表示的是以前的方法,假的负例在转化发生后又会复制一份,作为正例输入到模型中,右图中我们可以看到本文提出的方法会复制真实负例和正例,从而保证样本分布一致.

本文提出的延迟反馈建模方法叫DEFER,q(x)是有偏差的观测分布(由于延迟反馈,模型训练的数据分布),p(x)是无偏差的观测分布,如果不做任何处理,就是假定q(x)约等于p(x),会带来偏差,为了降低偏差同时保障模型实时性,论文复制了正样本和真实负样本.

构建样本的细节在于,给每个样本制定一个等待窗口w1,在这个窗口发生转化就表示它是正样本,否则就是假负样本或者真实副样本,对于这些假负样本如果后面发生转化,那这些样本依然会标上正样本放到模型训练,对于那些真实负样本,依然会复制一份放到模型进行训练,复制的操作带来了更多转化的确定性信息.

因为复制操作,q(x) = p(x),且:

条件概率q(y = 0| x)就可以写为:

p_dp(x) = p(x,y=1,z>w1|x)是x被当作假负的概率.q(y=1|x)可以写为:

由此我们可以得到loss function为:

由上公式,因为p(y=1|x)和p(y=0|x)是不可能得到的,所以用模型预估f替换,并且还需要训练一个模型f_dp预估x是假负例的概率,最终loss function为, [.]是stop gradient操作:

本文还提出了一个多任务离线训练的方法提升泛化能力,设定不同的窗口大小w1~wN,如下所示:

loss函数如下所示:

实验如下图:

参考文献

1、Real Negatives Matter: Continuous Training with Real Negatives for Delayed Feedback Modeling

https://arxiv.org/pdf/2104.14121.pdf

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档