背景

为了追求模型的时效性,在线学习已经成为主流。在线学习使用最近时间窗口内的样本进行实时模型训练,由于窗口设定往往比较短,所以有些样本的真实label并未到达,造成延迟反馈问题。比如某次商品点击之后,用户可能会反复对比其他商品,在几十分钟之后才进行下单,有时候会放入购物车,等价格降低或促销时才下单,要想拿到真实的转化label可能需要等待多天。对比转化延迟,点击延迟往往比较短,但点击label在窗口外到达的情况仍然存在。延迟反馈建模有多种方法,其中基于样本回补的方式大概这样:等待窗口内如果能拿到正反馈就作为正例训练,否则当做负例,在等待窗口之外,如果正反馈到来,则进行样本回补训练。对于怎么回补样本,有多种方式,在不同的回补方式上,纠偏方案也各不相同,本文对它们进行详细介绍。

符号定义

线线

回补方式一

论文1,设定等待窗口,负例往往比正例早到达,负例到达时立即训练,正例到达时再作为正例回补。这样就存在伪负例问题。为了消除伪负例影响,有如下几种方法进行纠偏。

Importance Sampling

其中,是模型,是可学习参数,它学习真实分布

假设的话,公式可以简化为如下形式:

由于正例都先作为负例,所以,那么可以得到如下关系:

将公式代入,得到最终的损失函数: 其中,第四步假设表示停止梯度回传,这个条件下,论文证明了可以收敛于

预估值纠偏

根据公式可以得到:

损失函数为常规的交叉熵,线上预估时用公式做下校准就可以了。

PU Loss

将样本当做Positive和Unlabeled进行学习,既Positive-Unlabeled Learning。

将负例当做Unlabeled数据,既上面的第二项。延迟正例过来后,在之前作为FN样本的梯度方向上反转,对梯度做下反向补偿即可。

回补方式二

论文2,设定等待窗口,在等待窗口内如果有正例到达则作为正例训练,没有的话当做负例训练,窗口外如果有正例延迟到达时则回补这些延迟正例。

Importance Sampling

因为,所以的关系与回补方式一不一样,需要重新推导。 表示正例成为伪负例的概率。

损失函数为: