因果推断推荐系统工具箱-CBDF(二)

文章名称

【AAAI-2019】【Renmin University of China/Tencent】Counterfactual Reward Modification for Streaming Recommendation with Delayed Feedback

核心要点

文章旨在解决流式推荐场景中延迟反馈的问题。流失场景要求快速收集训练样本,频繁重新训练推荐模型,这些都与延迟反馈存在冲突。现有方法要么忽略未观测到的反馈,要么利用启发式的方法调整反馈信息,引入了偏差并影响了模型的精度。作者流失推荐看作是序列决策问题,利用batch bandit方法结合反事实重要性采样,每一回合在调整过reward的训练样本上进行训练,并用于对下一个回合的决策进行预测。

上一节讲解了流式推荐系统中,用户转化反馈延迟的问题背景以及作者对问题的抽象建模思路,概括了方法的要点和步骤,本节继续介绍各个步骤的细节。

方法细节

问题引入

如上一节所述,CBDF的算法流程主要是,

  • 利用反事实重要性采样,得到权重,调整观测数据的reward;

  • 更新在线推荐模型,并进行在线推荐;

  • 收集新的数据用于下一轮更新迭代。

那么,存在两个问题,

  • 如何得到权重,所谓的反事实重要性采样又是什么?

  • 如何进行模型更新,以及推荐并收集数据?

具体做法

Counterfactual Reward Modification

延迟反馈的无偏估计

如前所述,CBDF的reward是点击和转化的线性组合,即R = \lambda\hat{R} + (1 - \lambda) \tilde{R},其中\hat{R} = C, \tilde{R} = Y

所谓的反事实重要性权重,是利用如下公式实现Important Sampling。

image

在给定S时,延迟的转化反馈可以被表示为函数\tilde{R}(S, Y)。因为存在用户转化但未被观测到(数据没有收集到)的情况,所以\tilde{R}(S, Y)是对\tilde{R}(S, V)有偏估计。理想情况下,我们希望对真实的delayed reward(公式2)进行无偏估计,但通常观测都是有偏的(公式3)。其中,\tilde{R}(S, Y), \tilde{R}(S, V)分别代表,biased delayed reward和true delayed reward。

image
image

由于,我们观测的数据一定比真实转化数据少,所以如下图所示的公式一定满足。

image

作者通过估计\tilde{R}^{mod}(S, Y) = w\tilde{R}(S, Y)来实现无偏估计,此处的w就是上面说的反事实重要性权重。

修改后的优化目标为,R^{mod} = \lambda\hat{R} + (1 - \lambda) \tilde{R}^{mod}(S, Y)。论文的附录给出了无偏的理论证明,感兴趣的同学可以参考原文。

作者强调权重w可能大于1,意味着观测到的转化数据应该受到重视。

延迟反馈的重要性计算

上述权重(公式4)由于包含了S, Y的笛卡尔积,直接求期望计算量巨大。作者受到[4]的启发,提出了一种反事实学习的方法来直接预测(predict)权重w

作者引入counterfactual deadline \xi的概念(上一节代码中有提到),本质就是一个介于episode开始和结束之间的时间戳,即\xi \in (t^{str}, t^{end})

利用counterfactual deadline,把上一个epsiode(或之前的所有episode收集到)的数据集\mathcal{D} = \{ (S_i, A_i, C_i, Y_i, c_i, e_i) \}分别为observed set和hold-out set。在hold-out set观测到转化的样本是所谓的delayed转化样本。

在observed set中Y=1的被当做训练样本得到训练集\mathcal{D}_A = \{ (S_i, A_i, Y_i, c_i, Y_i^{obs}, e_i^{obs}): c_i \leq \xi, Y_i = 1, A_i = A, i \in [B] \}。其中,B是一个episode经历的所有step(也就是收集了多少轮推荐结果),Y_i^{obs}, e_i^{obs}分别表示在观测集合的时候,是否有观测到转化以及counterfactual deadline与用户点击的时间间隔。由于在\mathcal{D}_A里所有的样本Y_i = 1,因此如果Y_i^{obs} = 0,那么D_i=0值得注意的是,这个数据集是关于特定动作A

利用这些样本可以用来训练一个生存模型模型(Survival Model),得到如下图所示的reward权重w_i,其中\beta_{A_i}是模型的参数。该生存模型主要是预测用户的转化反馈是否能够被观测到,即Pr\{D_i = 0 | V_i =1, S_i\}。其中,h_{A_i}(S_i) := exp(<\beta_{A_i}, S_i>)是生存模型的hazard function[1,2]。h_{A_i}(S_i)e_i可以被理解,用户真实转化的情况(V_i=1)没有在e_i的时间间隔内被观测到的概率的对数。

image

作者利用如下图所示的公式求得模型参数\beta_A,其中h_i = h_{A_i}(S_i)

image

如前所述,模型的reward是点击和转化的线性组合,经过加权后,可以直接把点击随机变量C和观测转化变量Y(不是实际转化变量V)带入线性组合公式。得到如下图所示的,调权后的reward。

image

Model Training and Online Recommendation

有了调整后的reward R^{mod},作者利用[3]中的方法进行batched policy update,

  • 记录上下文向量调整后的rewardS_A^{n-1} \in \mathbb{R}^{N_A^{n-1} \times d}, R_A^{n-1} \in \mathbb{R}^{N_A^{n-1}}。其中d是上下文向量的维度,N_A^{n-1}表示动作A在整个episode结束的时候,共被采用了多少次。
  • 利用上下文向量调整后的reward计算协方差矩阵,\Phi^n_A = \Phi^{n-1}_A + S_A^{n-1}\top S_A^{n-1}
  • 在岭回归的场景下,可以得到策略参数的闭式解。\theta^n_A = (\Phi^{n}_A)^{-1}b^n_A, b^n_A = b^{n-1}_A + S_A^{n-1}\top R_A^{n-1}
  • 最后,利用泛化的UCB方法,得到策略\pi_n: \mathcal{ S } \rightarrow \mathcal{ A },具体计算公式如下图所示。
image

随后,利用如下图所示的公式,依据新的policy进行在线推荐。

image

代码实现

reward调整过程的伪代码如下图所示。

image

心得体会

Counterfactual Important Sampling

个人感觉,方法并没有特别多的利用反事实的框架,而是利用了时间戳前移构造了观测数据集。当然,也可以理解为,作者是在回答一个反事实问题:“如果收集数据的时间戳提前到counterfactual deadline,转化情况会怎么变化“?但使用了之前很多episode收集的数据,完全可以利用真实的转化来构造数据集。除非,要求时间上足够接近。

文章引用

[1] J. D. Kalbfleisch and R. L. Prentice. 2002. The Statistical Analysis of Failure Time Data (2nd Edition). John Wiley & Sons.

[2] Qingyun Wu, Hongning Wang, Liangjie Hong, and Yue Shi. 2017. Returning is Believing: Optimizing Long-term User Engagement in Recommender Systems. In Proceedings of the 2017 ACM on Conference on Information and Knowledge Management. 1927–1936.

[3] Yanjun Han, Zhengqing Zhou, Zhengyuan Zhou, Jose H. Blanchet, Peter W. Glynn, and Yinyu Ye. 2020. Sequential Batch Learning in Finite-Action Linear Contextual Bandits. CoRR abs/2004.06321 (2020).

[4] ShotaYasui,GotaMorishita,KomeiFujita,andMasashiShibata.2020.AFeedback Shift Correction in Predicting Conversion Rates under Delayed Feedback. In Proceedings of the Web Conference 2020. 2740–2746.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 7,229评论 0 3
  • 不知不觉易趣客已经在路上走了快一年了,感觉也该让更多朋友认识知道易趣客,所以就谢了这篇简介,已做创业记事。 易趣客...
    Physher阅读 3,407评论 1 2
  • 双胎妊娠有家族遗传倾向,随母系遗传。有研究表明,如果孕妇本人是双胎之一,她生双胎的机率为1/58;若孕妇的父亲或母...
    邺水芙蓉hibiscus阅读 3,695评论 0 2
  • 今天理好了行李,看到快要九点了,就很匆忙的洗头洗澡,(心存一份念想,你总会打给我的🐶)然后把洗头液当成沐浴液了😨,...
    bevil阅读 2,767评论 1 1
  • 那年我们15,像阳光一样温暖的年纪。每天我都会骑自行车上学,路过田野,工厂,医院,村庄,有微风,有阳光,有绿...
    木偶说爱你阅读 2,519评论 0 3