ESMM模型与ESM2模型总结
ESSM模型
2018 阿里妈妈 SIGIR
原文链接:Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate
该论文基于Multi-Task Learning 的思路,提出一种新的CVR预估模型,有效解决了真实场景中CVR预估面临的数据稀疏以及样本选择偏差这两个关键问题。
- Sample Selection Bias (SSB):转化是在点击之后才“有可能”发生的动作,传统CVR模型通常以点击数据为训练集,其中点击未转化为负例,点击并转化为正例,即训练时模型在点击空间中训练。但是训练好的模型实际使用时,则是对整个空间的样本进行预估,即曝光空间中进行预估。训练数据与实际要预测的数据来自不同分布,这一定程度上违背了机器学习中独立同分布的假设,这个偏差对模型的泛化能力构成了很大挑战。
- Data Sparsity (DS) :作为CVR训练数据的点击样本数量远小于CTR预估训练使用的曝光样本。
在广告中,从点击到转化,这两个行为即具有强相关的链式关系,也具有一定的独立性,故使用多任务学习的方式是一个很好的选择。例如,CTR与CVR并不一定满足线性的关系,即CTR如果很低,其CVR并不一定低,因为CVR的预估的是在一个广告点击后,用户发生转化行为的概率。
点击(CTR)、转化(CVR)、点击然后转化(CTCVR)是三个不同的任务的关系:
模型结构
由CTCVR的公式可以看出,CTCVR和CTR的训练数据均在曝光空间中,故ESMM模型利用CTCVR和CTR间接得到CVR,即解决了数据选择性偏差又解决了数据稀疏的问题。
其实,通过公式的变化,我们可以通过除法来求得CVR,如下所示:
即我们分别训练一个CTCVR模型和CTR模型,然后两者相除就能得到CVR的结果,但事实上我们并不能用这样的方式,因为CTCVR和CTR都是很小的值,通过除法,结果波动性会很大,并且有可能模型得到的CTR值比CTCVR小,导致求出的CVR值大于1,没有实际意义。
故作者利用连乘的思路,增加CTR和CTCVR辅助任务,来间接训练CVR模型。在模型结构图中,PCVR节点是粉色的,代表该节点仅是网络中的一个variable,没有显示的监督信号。ESMM利用ctr和CTCVR在整个样本空间上训练,来间接求得CVR。其次,与CTR共享特征表示参数,解决数据稀疏问题。
LOSS函数
使用CTR和CTCVR两部分的loss进行训练,其中pCTCVR由pCTR乘pCVR得到。
由损失函数可以看出,CVR的参数根据CTCVR任务的损失梯度更新,CTR的参数根据CTCVR和CTR两个任务的损失梯度更新。
ESM2模型
阿里 ESMM的升级版 2020年
原文链接:Entire Space Multi-Task Modeling via Post-Click Behavior Decomposition for Conversion Rate Prediction
ESMM模型提出为了解决样本选择偏差以及数据稀疏两个问题,由于从点击到购买的样本还是非常的少,故ESMM模型仍然面临一定的数据稀疏问题。
故ESM2ESM^2ESM2基于ESMM进行改进,进一步解决数据稀疏问题。
挖掘用户行为,发现用户在购买前往往会有其他的行为,比如把想要购买的物品加入购物车或者心愿单。如下图所示:
加入心愿单/购物车的数据相较购买数据还是比较多的,因此可以基于这部分数据,通过多任务学习模型来求解CVR模型。如图所示,文中把加入购物车或者心愿单此类行为称作Deterministic Action (DAction) ,而其他对购买相关性不是很大的行为称作Other Action(OAction) 。此时原来的 Impression→Click→Buy过程变成了更加丰富的Impression→Click→DAction/OAction→Buy过程。
ESM2ESM^2ESM2模型基于Impression→Click→DAction/OAction→Buy过程来建模CVR预估问题。
模型结构
模型共有四个任务,分别为:
- y1:点击率
- y2:点击到发生DAction的概率
- y3:发生DAction到购买的概率
- y4:发生OAction到购买的概率
因为DAction和OAction是对立事件,故未对从点击到OAction的概率进行建模。
CVR = (1 - y2) * y4 + y2 * y3
上述的四个子任务,其用的样本相同的,在整个样本空间中进行训练。
输入首先经过共享嵌入模块(Shared Embedding Module (SEM))转换为对应的嵌入向量,随后通过四个独立的MLP分别预估y1、y2、y3和y4。
LOSS
模型训练的LOSS是三个子LOSS的加权之和:
CTR:
CTAVR:
CTCVR:
LOSS:
ESMM模型与ESM2模型总结相关推荐
- 判别模型和生成模型的区别
20210703 https://www.zhihu.com/question/20446337 机器学习"判定模型"和"生成模型"有什么区别? 重点 http ...
- Keras框架下的保存模型和加载模型
在Keras框架下训练深度学习模型时,一般思路是在训练环境下训练出模型,然后拿训练好的模型(即保存模型相应信息的文件)到生产环境下去部署.在训练过程中我们可能会遇到以下情况: 需要运行很长时间的程序在 ...
- 基于YOLOv5模型压缩、模型量化、模型剪枝
基于YOLOv5模型压缩.模型量化.模型剪枝 代码下载地址:下载地址 Requirements pip install -r requirements.txt Pruning for YOLOs Mo ...
- 动机模型_一个模型教你如何激发学习动机
作为青少年生涯导师,经常被问到通过生涯规划能够提分吗?怎么去通过生涯规划达成提升成绩,我通常比较关注的是激发学生的学习动机,如何唤醒学习动机和激发学习动机是我经常探索思考的课题. 什么是学习动机? 说 ...
- JAVA 继承内存模型_Java内存模型
JVM的组成 类加载器(classloader) 执行引擎(execution engine) 运行时数据区域(runtime data area) 对于Java程序员来说,在虚拟机自动内存管理机制下 ...
- 机器学习中的模型评价、模型选择及算法选择
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 正确使用模型评估.模型选择和算法选择技术无论是对机器学习学术研究还是工业场景应用都至关重要.本文将对这三个任务的相关技术 ...
- DDD领域驱动设计 — 贫血模型与充血模型
文章转载来源:https://juejin.cn/post/6917125801460629518 | 前言 要想深入掌握和了解 DDD 领域驱动设计的核心,那无论如何也绕不开两大较为抽象的概念-- ...
- DDD 领域驱动设计:贫血模型、充血模型的深入解读!
作者:JavaEdge在掘金 链接:https://juejin.cn/post/6917125801460629518 - 前言 - 要想深入掌握和了解 DDD 领域驱动设计的核心, ...
- 第六课.模型评估与模型选择
目录 导语 模型评估 回归任务的评估指标 分类任务的评估指标 过拟合现象 过拟合的原因 过拟合解决办法 模型选择与调整超参数 正则化 留出法 交叉验证 网格搜索 实验:线性回归预测股票走势 实验说明 ...
最新文章
- vue代码上传服务器后背景图片404解决方法
- HTML(菜鸡视角)
- JUnit 5测试中的临时目录
- java异常体系_JAVA异常体系结构详解
- 基于MaxCompute+PAI的用户增长方案实践
- 华为手机打开日志输出的几种方法
- 第二十三期 基于hg255d的OpenWrt固件编译《路由器就是开发板》
- VFIO代码分析(5)VFIO-IOMMU驱动
- 怎样用计算机制作思维导图,手把手教你如何用电脑绘制思维导图
- 大华服务器如何修改IP,大华摄像头更改IP地址
- FPGA学习笔记-IP核
- PayPal 更换汇率结算方式 降低手续费,PayPal汇率结算 改为 银行汇率结算
- 「大专及以上学历人员必看」学信网电子注册备案表
- 数字化住宅小区对计算机网络有需求,浅谈智能小区宽带接入及其技术发展趋势...
- Nginx系列:windows10系统下安装nginx的安装并配置!
- HDU - 4567 Brilliant Programmers Show 2013长沙邀请赛
- ABP开发框架的总体介绍
- 乐吾乐2D可视化为智慧水务可视化赋能(二)
- selenium自动登录知网下载论文
- 汇编程序设计-11-AX、BX、CX、DX寄存器