背景
在推荐尤其是广告中,一个用户的正反馈不是马上就发生的,可能过了一段时间后才发生。如商品的购买、游戏中的付费行为,常常是发生在点击广告后的几天之后。这样导致了模型训练时不知道一个样本是不是真的负样本。其中一个朴素的解决方法时等待一个固定的时间窗口,超过这个时间窗口还没回传转化的样本都看作负样本,但是这样做的缺点是:如果时间窗口设的太短会丢失大量的正例,时间窗口设的太长模型的时效性有损。
解决方案
1. 建模回流分布
Criteo在《Modeling Delayed Feedback in Display Advertising》中提出一种延迟转化转化建模的方案,基本思想是用一个模型建模正样本的回流分布,用这个分布来纠偏主模型
先作出以下定义:
X:特征集合
Y∈{0,1}:观测到的样本(转化是否已经发生)
C∈{0,1}:转化最终是否会发生
r:正例回流比例Pr(Y=1|C=1)
那么观测到的负样本的概率可以表示为:
$$\operatorname{Pr}(Y=0,C=1 \mid X) = \operatorname{Pr}(C=1 \mid X) \operatorname{Pr}(Y=0 \mid C=1, X)$$
$$\operatorname{Pr}(Y=0,C=0 \mid X) = \operatorname{Pr}(C=0 \mid X) \operatorname{Pr}(Y=0 \mid C=0, X)$$
其中:
$$\operatorname{Pr}(Y=0 \mid C=1, X) = 1-r$$
$$\operatorname{Pr}(Y=0 \mid C=0, X) = 1$$
综上:
$$\operatorname{Pr}(Y=0 \mid X)= p_i (1-r) + (1-p_i) = 1-rp_i$$
观测到的正样本的概率可以表示为:
$$\operatorname{Pr}(Y=1 \mid X)= \operatorname{Pr}(Y=1,C=0 \mid X)+\operatorname{Pr}(Y=1,C=1 \mid X)= \operatorname{Pr}(Y=1 \mid C=1,X) \operatorname{Pr}(C=1 \mid X)= rp_i$$
根据极大似然估计可以得到loss为: