ESMM高效转换率估计算法介绍

一些基本概念和方法提出

点击转换率(post-click conversion rate(CVR))估计在推荐和广告系统有着广泛的应用。CVR估计的一个重要应用是在广告系统中,其目标是最大化每次点击消费(optimized cost-per-click),通过调整每次点击的竞价来获得平台和广告商的双赢。同样在推荐系统中,也是平衡用户的点击偏好和消费偏好的重要因素。

以电商系统为例,对于展示的商品(items),用户的行为遵循如下的顺序:impression -> click -> conversion,CVR估计基于后验CTR估计(即已发生点击行为的条件下对于转换率的估计)(post-click conversion rate):

pCVR = p(conversion | click, impression)

目前CVR估计存在的问题:

1)采样偏置(sample selection bias (SSB))问题,CVR训练样本是所有有点击行为的样本,而实际预测的是全量数据;

2)数据稀疏(data sparsity(DS))问题,训练CVR模型的数据要远小于CTR模型,CVR模型的拟合难度更大。

常用术语:

CVR(click-conversion rate):点击转换率,即用户点击的条件下消费的概率;

CTR(click-through rate):点击通过率,即用户点击的概率;

CTCVR(click-through&conversion rate):点击通过且转换概率,即用户点击了且消费的概率;

具体方法介绍

基本概念

观测数据集合 \boldsymbol {S} = \{ (\textbf{x}_i,y_i \rightarrow z_i)) \}_{i=1}^N,采样数据为:(\textbf{x}, y \rightarrow z)),那么后验click CVR 模型是估计概率:pCVR = p(z=1|y=1,\boldsymbol{x}),CTR的概率可以表示为pCTR= p(y=1|\boldsymbol{x}),CTCVR的概率可以表示为pCTCVR = p(y=1, z=1 | \boldsymbol{x}),满足如下关系:

(1)

 ESMM模型

 结构如上图,ESMM很好的利用了用户行为的序列模式(sequential pattern),ESMM模型引入CTR和CTCVR两个辅助任务,利用全量的样本进行训练,消除了之前的两点问题(SSB和DS)。对于一个样本,ESMM同时输出了pCTR、pCVR和pCTCVR,其由两个子网络构成:CVR网络和CTR网络,两个子网络与基础模型具有相同的网络结构。pCTCVR取CVR子网络和CTR子网络输出的乘积,与之前模型比较ESMM有如下优势:

ESMM模型在整个样本空间进行训练(包括所有的样本商品(没点过的、点过没消费过的以及消费过的)),可以解决SSB问题。pCVR只是一个中间变量在等式(1)中被限制,pCTR和pCTCVR是ESMM在整个样本空间要估计的(pCVR对应的样本空间是点击过的样本)。loss函数包括两部分:CTR损失函数和CTCVR损失函数,但不包括CVR任务的损失函数,整个训练任务的损失函数为

其中,\theta_{ctr}\theta_{cvr}分别为CTR子网络和CVR子网络的参数,l(.)为交叉熵损失函数。

CTR网络和CVR网络共享了embedding层,这种共享机制使得CVR网络能够学习未点击商品的信息,很大程度缓解了稀疏性带来的问题。

相关tensorflow代码实现

https://github.com/shenweichen/DeepCTR/blob/master/deepctr/models/multitask/esmm.py
https://github.com/nlpming/ESMM/blob/master/esmm.py

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值