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

文章名称

【CIKM-2019】【National Taiwan University-Huawei Noah’s ark lab】Improving Ad Click Prediction by Considering Non-displayed Events

核心要点

文章旨在解决Selection Bias对advertising system的影响,we propose a novel
framework for counterfactual CTR prediction

上一节主要讲解了CPC广告系统中存在的数据偏差问题,以及作者的分析数据和过程,这一节讲解作者如何解决这一问题。

方法细节

问题引入

现有方法

如前所述,在CPC广告系统中,考虑未被展示的广告的点击情况时,我们所面临的数据是Labeled-and-Unlabeled(注意不同于PU)。作者把这种场景视为标注选择场景,也就是说模型(或者说Top-k这种展示策略)类似于一个选择去,选择一些广告展示给用户,让他们给这些广告打标签(让他们对这些广告进行反馈,点击或者不点击,有点像标注采集器...)。整个过程如下图所示,没有被展示的广告受限于展示资源,因此没有收集到标签。

label selection model

这种方法可以被归类到batch learning from logged bandit feedbacks或者counterfactual learning[31],现有的解决方法包括直接方法(插值方法),IPW方法,DR方法,

  • 插值方法,利用被展示的广告的特征和标签,训练一个模型,预测未被展示的数据的标签。得到所标签后,再训练排序模型。(当然这个插值模型可以做一个标签置信度的过滤,只用置信度高的标签来训练,但是不管怎么说,如果我有了优秀的插值模型,其实就相当于有了排序模型。得到有效的插值模型是很难的)
  • IPW方法,(如大家熟悉的)估计某一个广告事件(广告请求-广告元组被展示的概率O_ll表示这个元组所代表的事件)被记录的概率(也就是广告被展示的概率)。用这个概率的逆(倒数)作为权重,给所有展示的事件(收集到的样本)加权,可以得到我们关心的目标的无偏估计(证明过太多次了,细节也可以参见这篇文章的3.2节)。我们通常都是在观测数据上先估计Propensity Score,当然也可以做随机实验得到这个值。值得一提的是,IPW方法假设广告事件,也就是广告展示的过程是随机的(不是完全random,而是stochastic具有某种随机性,并且概率处于0-1之间),这与CPC场景固定策略选择被展示的广告不符
  • DR方法,结合了前两者的优势,把IPW部分和插值的部分(以某种形式,具体公式如下图所示,其中z_l是Propensity Score,\sigma_l是插入的伪标签)求和。可以证明这种方法也是无偏的,并且只要公式中的任意一个部分效果好,整体效果就不差(方差也会小一些)。
DR Method

应用现有方法的难点

上述方法无法被应用到现有CPC广告系统,原因如下,

  • 不符合IPW的随机展示理论基础。如上所述,IPW假设任何广告都有概率在一个事件l中被展示(这样理解,如果是随机的,那么每一个广告都有概率,尽管很多广告的概率极小,那也是有概率。虽然收集数据可能最终还是没有展示他们,但是只要收集的足够多,就有可能看到他们。作者说的CPC系统,广告并不是这种采样来的)。然而,当前CPC广告系统是只要ECPM低于阈值,就完全没有机会被展示了。
  • 利用插值模型会继承展示数据中存在的Selection Bias。如上所述,插值方法是在展示的数据上学习模型,生成伪标签。这个样本本来就有偏差,所以伪标签天然也有偏差,导致插值法和DR法都可能有偏(DR小一些)。
  • 计算量过大。如果考虑所有广告(包括展示的和未被展示的),计算量将非常大(主要是插值和DR,IPW不考虑未被展示的)。

具体做法

Unbiased Imputation Models

为解决上述问题,作者参考[2]的做法,把所有被展示的广告事件的Propensity Score都设置为1,即z_l=1。[2]表明在翻译场景,即便每次把最优的结果交给用户打分,DR方法的插值部分仍然可以很好的消除确实标签的问题,提升模型性能。改造后的目标函数如下图所示,其中\omega是调节IPW部分和插值部分的超参数。

Propensity-free DR

但是,由于缺少了IPW,纠偏只能依靠插值部分,(如上所述)这部分又会受到Selection Bias的影响。作者利用通过随机策略收集到的极小的样本集,来训练插值模型。与[1, 3]方法不同,直接在S_t上学习插值模型,而不是在不同策略(随机和非随机)的数据集上分别训练模型,最后bagging。

作者强调,虽然插值模型和CTR类似,但不是同样的任务,如果S_t够大,可以把插值模型的任务搞的和CTR估计一样复杂。如果S_t很小,可以直接预测S_t平均点击这样的任务(对所有的事件l,都用S_t的平均点击率代替标签...)。

Efficient Training

为了解决上述计算复杂度较高的问题,作者借鉴了推荐场景的做法。假设被展示的物品结合为\Omega,其中被点击的物品结合为\Omega^+,未被点击的物品集合为\Omega^-。把广告事件l拆分成请求-广告元组i, j,则可以把双数Propensity-free DR的目标函数转换成如下图所示的公式,Y_{ij}, A_{ij}分别表示真正的评分和插入模型预测出的评分(这里说评分是因为在推荐场景,是评分矩阵,不是点击率矩阵,但其实大同小异)。

Propensity-Free DR in RS

为了降低复杂度,[4, 5]把所有未被展示的元组的评分统一设置为一个负向得分r = {0, -1}(整体评分在-1到1之间),并且限制损失函数l的复杂度,独立计算i, j上边的损失。

因此,作者进一步调整目标函数为如下图所示的公式,保留DR框架中IPW部分的损失为l,把插入部分的损失变为MSE(简化了计算,原有的l可能是排序损失)。同时,简化对A_{ij}(在广告场景里是\sigma(\cdot),这里作者的思路和notation有点乱,感兴趣的同学可以看看原文...)的计算,利用类似FFM的模型把在元组上的特征尽量拆分成只和i或者j相关的部分的组合。这样,就不需要计算每个元组,而是用i或者j独立计算的结果拼凑起来(有点类似于FM中的v_i, v_j)。

Final Loss

整个方法就描述完了,感觉理论上其实有点蹩脚,思路显得有一些混乱...但确实是从实际的问题出发...也许实际看实现能够有更多启发。

心得体会

选择性标注

个人感觉,这种选择性标注的思路,也许可以和主动学习,弱监督学习等联系起来。系统不断地展示广告,不断地收集到标注,利用这些收集到的标注来优化展示。

无偏插值模型

个人感觉,所谓的无偏插值模型,仅仅是利用了随机策略的数据而已。从实验结果上看,全局平均CTR作为标签,能够得到几乎与最好的效果差不多的结果(甚至某些指标好于其他复杂方法),感觉有点虚...要么超参调的好,要么数据太小...也许可以深究一下...

文章引用

[1] Stephen Bonner and Flavian Vasile. 2018. Causal Embeddings for Recommendation. In RecSys.

[2] Carolin Lawrence, Artem Sokolov, and Stefan Riezler. 2017. Counterfactual Learning from Bandit Feedback under Deterministic Logging: A Case Study in Statistical Machine Translation. In EMNLP.

[3] Nir Rosenfeld, Yishay Mansour, and Elad Yom-Tov. 2017. Predicting counterfactuals from large historical data and small randomized trials. In WWW.

[4] Hsiang-Fu Yu, Hsin-Yuan Huang, Inderjit S. Dihillon, and Chih-Jen Lin. 2017. A Unified Algorithm for One-class Structured Matrix Factorization with Side Information. In AAAI

[5] Bowen Yuan, Meng-Yuan Yang, Jui-Yang Hsia, Hong Zhu, Zhirong Liu, Zhenhua Dong, and Chih-Jen Lin. 2019. One-class Field-aware Factorization Machines for Recommender Systems with Implicit Feedbacks. Technical Report. National Taiwan University. http://www.csie.ntu.edu.tw/~cjlin/papers/ocffm/imp_ffm.pdf

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

推荐阅读更多精彩内容