推荐广告中的延迟转化

发布时间 2023-05-05 15:45:06作者: xd_xumaomao

背景

在推荐尤其是广告中,一个用户的正反馈不是马上就发生的,可能过了一段时间后才发生。如商品的购买、游戏中的付费行为,常常是发生在点击广告后的几天之后。这样导致了模型训练时不知道一个样本是不是真的负样本。其中一个朴素的解决方法时等待一个固定的时间窗口,超过这个时间窗口还没回传转化的样本都看作负样本,但是这样做的缺点是:如果时间窗口设的太短会丢失大量的正例,时间窗口设的太长模型的时效性有损。

 

解决方案

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为:

$$Loss=-\sum_{i \in \text { positives }} \log(rp_i) - \sum_{i \in \text { negatives }} \log(1-rp_i)$$
 
建模回流分布的方法理论上可以很好的解决延迟转化的问题,但是实际中存在以下几个问题:
1. 由于需要建模回流分布,增加资源开销
2. 回流分布的预测是个回归任务,回归任务的难度一般比分类任务的难度大,通常会转为分类任务来预测