ESMM - 完整空间多任务模型(阿里)

news2024/11/20 9:41:39

文章目录

  • 1、动机
  • 2、模型结构

  • Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate
  • ESMM: Entire Space Multi-Task Model
  • 论文发表在SIGIR-2018,作者来自阿里妈妈盖坤团队。ESMM被提出用于解决pcvr建模中存在的两个非常重要的问题:样本选择偏差和数据稀疏问题。双塔多任务模型。
  • 常说的cvr 即 cvr预估 即 预估广告被点击后的转化率(Post-Click Conversion Rate)即 pcvr。

1、动机

在这里插入图片描述

  • 目前工业界商业公司流量变现的逻辑背景,一条流量为公司创造商业收入的路径为:请求 →广告曝光→ 广告点击 → 广告转化。
  • 样本选择偏差(SSB,sample selection bias)问题。当时业界在训练pcvr模型时,采用的负样本为点击未转化,正样本为点击已转化。训练样本是在有d点击的样本上构建的。然而在实际线上推理时,是对整个样本空间进行推理的,这就导致了样本选择偏差问题。所以相比只用有点击的样本进行训练,ESMM通过将训练样本变成在有曝光的样本空间上进行训练,来缓解这个gap。
  • 数据稀疏问题。因为用于pcvr训练的样本都是有点击的,样本量非常少,其中真正有转化的更少了。针对pcvr,在ml方面样本量少时搞个xgb也足够,后面dl流行后,通过mtl里的双塔模型ctr,cvr共享底座embedding,ctr用于增加数据,辅助cvr来训练一个更好的embedding。ESMM也是通过这种双塔结构来缓解数据稀疏问题。

2、模型结构

pcvr预估广告被点击后的转化率。若想训练样本不局限于有点击的样本空间,将训练样本空间扩大到整个有曝光的样本空间,如何做?

  • ESMM则是通过学习训练pctr和pctcvr两个任务来隐式建模学习pcvr任务。如下式(曝光->点击->转化),x样本,y是否点击,z是否转化。那么ptcvr表示如下:
    在这里插入图片描述

  • 从公式可以看出,前两项pctcvr,pctr是可以使用全部有曝光样本的,那就好办了,那就通过这两个任务来隐式学习pcvr!

ESMM网络结构特点:
在这里插入图片描述

  • 双塔结构:ctr塔, cvr塔;共享底座embedding;ctr增加ctr样本来辅助训练cvr任务,帮助cvr训练一个更好的embedding(like transfer learning)。

  • cvr塔无自己的损失函数,即训练时无明确监督信号,真正训练的是pctcvr和pctr;通过pctr*pcvr可得到pctcvr。训练总损失如下【注:y&z就是转化label,有转化必有点击】:
    在这里插入图片描述

  • 至于为什么不用除法得出pcvr呢?即分别训练一个pctcvr和pctr,因为实际预测出的概率往往比较小,除法后会出有问题,即pcvr>1的情况,ESMM也对比了这种方法,发现还是连乘好。






参考链接: https://blog.csdn.net/u012328159/article/details/123309675

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/541184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT + MindShow 制作PPT

🍏🍐🍊🍑🍒🍓🫐🥑🍋🍉🥝 ChatGPT MindShow 制作PPT 文章目录 🍐具体操作🐳结语 🍐具体操作 ChatGP…

异步线程:CompletableFuture、@Async

区别: 1.CompletableFuture是java中提供的一个异步执行类,Async是Spring提供的异步执行方法,当调用方法单独开启一个线程进行调用。 2.Async通常指定一个方法使用的异步方法调用,而CompletableFuture可以一个方法体内对请求体进行排序组合成…

SQL方式对hudi表进行操作

插入数据 查询数据 更新数据 删除数据 覆盖数据 修改表结构 修改分区 插入数据 默认情况下,如果提供了preCombineKey,则insert into的写操作类型为upsert,否则使用insert。 向非分区表插入数据 insert into hudi_cow_nonpcf_tbl sel…

通达信获取行情主站ip地址方法

最近使用通达信的pytdx来获取股票行情,需要通达信的行情站的ip地址与端口,这里做个记录防止忘了 1 测试代码 pip install pytdx from pytdx.hq import TdxHq_API api TdxHq_API() with api.connect(‘121.36.81.195’, 7709):#通达信行情站地址、端口…

摸摸索索总结下项目生命周期经验

业务调研 主要是完全跟技术无关,站在业务的角度去定义系统要干嘛 组织结构图 部门岗位 业务流程图 泳道图,一级业务流程二级业务流程 系统多个模块的整体业务流程 每个模块内部的业务流程 业务需求 需求分析 站在技术的角度,去分析系…

JavaWeb-JSP的学习

JSP 今日目标: 理解 JSP 及 JSP 原理能在 JSP中使用 EL表达式 和 JSTL标签理解 MVC模式 和 三层架构能完成品牌数据的增删改查功能 1、JSP 概述 JSP(全称:Java Server Pages):Java 服务端页面。是一种动态的网页技术…

深拷贝和浅拷贝-M

深拷贝和浅拷贝 数据类型分为:基本数据类型和引用类型 首先基本数据类型分为:number,string,boolean,null,undefined,symbol以及未来ES10新增的BigInt(任意精度整数)七类。 引用类型分为Array,Object,Function,正则等…

Charles 流量配置(弱网测试)、断点调试

一、流量配置 流量配置主要是用来检测软件(APP)在不同的网络环境下的一个表现,例如出现丢包闪退等情况. 流量配置主要有以下四步: 在 Charles 窗口中点击菜单 “Proxy” ,选择 "Throttle Setting" 进行网络…

ChatGPT副业赚钱·Midjourney之logo设计《猪八戒网站接单制作Logo》- 第10篇

历史文章 文心一言 PK ChatGPT,二者究竟谁更胜一筹 - 第7篇 用Midjourney画个美女,AI绘画也太强大了!!! - 第8篇 推荐一款idea神级代码插件【Bito-ChatGPT】而且免费!- 第9篇 ​ 悟纤:师傅&a…

合理利用Optional 来避免NPE

一、什么是Optional 在Java中什么异常最容易出现,那肯定是NullPointerException,空指针就像一个定时炸弹,总给我们带来些麻烦,在开发过程中都会碰到需要判断Null值以防止空指针的情况,以往的方式要么是抛异常&#xf…

(3)---STM32通信

目录 【1】通信的基础知识 【2】USART 【3】串口通信协议 【4】相关寄存器 串口控制寄存器 波特率寄存器 中断和状态寄存器 数据发送寄存器 数据接收寄存器 【5】 USART功能框图 【6】串口发送实验 实验要求 1.观察实物 2.分析原理图 3.STM32CubeMX配置 4、寄存器方式编写…

选择性搜索算法(Selective Search )——SS算法

文章目录 一、前言二、object Detection VS object Recognition(Selective Search的提出)2.1object recognition与object detection的关系2.2滑动窗口方法的局限性2.3Selective search算法的提出 三、Selective Search算法3.1什么是Selective Search&…

ChatGPT工作提效之遇强则强

ChatGPT工作提效之遇强则强 前言一、如何使用ChatGPT二、ChatGPT实战应用三、ChatGPT会叫的小孩有奶吃工具类的交互问答类的交互开发类的交互 前言 读《笑傲江湖》西湖比剑时,对于独孤九剑1的解读印象颇为深刻。令狐冲被任我行这个高手激发出许多精妙的剑招。这独孤…

消息队列-RabbitMQ

文章目录 1.什么是MQ1.1 特点1.2 MQ产品分类 2.RabbitMQ2.1.RabbitMQ介绍2.2.使用Docker安装RabbitMQ 3.SpringBoot中使用RabbitMQ3.1.SpringAMQP3.2使用步骤 1.什么是MQ RabbitMQ官方文档 消息队列(Message Queue,简称MQ):是在消息的传输过程中保存消…

Learning C++ No.22【二叉树OJ题实战】

文章目录 引言:第一题:根据二叉树创建字符串第二题:二叉树的层序遍历第三题:自底向上实现层序遍历第四题:二叉树的最近公共祖先第五题:将搜索二叉树转换成双向链表第六题:从前序和中序遍历序列构…

修改USRPx410的ip地址

用 .\uhd_find_devices.exe查询设备 打印信息解释如下 在C:\Program Files\UHD\bin下打开powershell,输入如下指令ssh root@192.168.10.2 进入到设备内部 输入ifconfig,获取每个口的地址 输入ifconfig sfp0 192.168.10.3进行修改 重新.\uhd_find_devices.exe查询设备。 …

Linux:软件安装方法与命令yum.扩展ubantu系统的软件安装方法与命令apt

Linux:软件安装方法与命令yum: 这里的search可以想象成在linux的应用商店内搜索 例: 通过yum安装wget这个软件。 search搜索wget: 发现在“linux的应用市场”内有wget这个软件,现在再用yum -y install wget安装(上面已…

你好:Zookeeper

Zookeeper 初识 初识ZookeeperZookeeper 安装Zookeeper 命令操作Zookeeper数据模型服务端命令客户端命令JavaAPI操作Curator常用操作:前置环境连接Zookeeper集群创建节点查询节点修改节点删除节点事件监听机制 – Watch分布式锁实现分布式锁得API 初识Zookeeper Zo…

排序篇:外排序(排序文件中的数据)

目录 前言: 一:大体思路 二:分割成有序的小文件 (1)先给代码 (2)解析 三:进行文件归并 (1)主逻辑 (2)归并两个有序文件 四:全部代码 前言: 如果要排序的数据量非常大,内存无法容纳&…

零基础自学软件测试我只用了105天,从月薪3000到15K, 我整理的超全学习指南!

我21年毕业于管理类专业,干了大半年行政打杂,工作平淡无快感。性格较内向,思维严谨独立。喜欢软件测试工作内容的系统性,技术性,丰富性。以上便是转行的最初心理,大家觉得可妥?说干就干去年6月底…