【经典论文阅读11】ESMM模型——基于贝叶斯公式的CVR预估

传统的CVR模型(也就是直接对conversion rate建模的模型)在实际应用中面临两个问题(样本选择偏差与数据稀疏性问题)。为了解决这两个问题,本文提出ESMM模型。该模型巧妙地利用用户行为序列去建模这个问题,从而证明(在淘宝的业务场景下)对Post-click conversion Rate 非常有帮助。其实,其实的真实思想就是基于贝叶斯公式去预估CVR。

在这里插入图片描述

1. 摘要

1.1. 问题

  • 选择偏差问题(sample selection bias):之前的cvr模型在训练的时候是在有点的数据集上训练,但是推理(真实场景应用的时候)是在整个空间(不知道这个广告会不会被点,也不知道这个商品会不会被点击)这个问题很常见
    在这里插入图片描述

  • 数据稀疏性(data sparsity)问题:让模型难以训练。

    • 与CTR相比,CVR的数据要少的多,所以训练CVR的模型相比有些困难。
      • CVR的数据量要比CTR的数据少1~3个数据级;
      • CVR的训练数据量大概只有CTR的4%。
    • 哪里的数据稀疏?为什么稀疏?
  • delayed feedback 问题
    这个问题也是CVR这个模型面临的问题,但是本文不再关注。

1.2. 解决方法

提出使用一种新的建模方法对CVR进行建模。这种建模方法模拟了用户的行为顺序模式,也就是:impression →click →conversion (展现、点击、转化),这里的转化指的就是购买、付费等行为。方法具体包括:

  • (1)在整个样本空间建模
  • (2)采用特征迁移策略(employing a feature representation transfer learning strategy)

2. Introduction

Introduction就是字数扩大版的摘要。

2.1. 介绍CVR这个任务

文章第一段、第二段在介绍CVR这个任务

CVR预估是排序系统中一个非常基础的工作,在在线广告、推荐系统中都非常重要。
CVR 建模指的就是:pCVR = p(conversion|click,impression)

2.2. 现存的问题

  • SSB问题
  • DS问题

2.3. 尝试的解法

这里不再啰嗦。

2.4. 提出的模型

提出ESMM 模型,这个模型包括:

  • 两个辅助任务:post-view click-through rate(CTR) + post-view click-through&conversion rate(CTCVR)
  • pCTCVR = pCTR * pCVRpCTCVRpCTR 都是在整个样本空间下进行估计。所以就缓解了SSB问题。
  • CVR网络的特征表示和CTR网络是共享,而CTR网络是在整个样本空间下训练的,所以就缓解了DS问题。

3. Method

pCVR 这个任务其实就是计算 p(z = 1|y=1, x),其中x是展现物品的特征向量表示,y=1表示有点击,z=1表示有转化(如购买、付费)

二者的递推关系式子:
在这里插入图片描述

3.1. 模型结构

模型结构,如下图所示:
在这里插入图片描述

  • 模型输入:~
  • 模型输出:在给出一个展现的前提下,输出pCTR, pCVR, pCTCVR。

3.2. 损失函数

只使用CTR and CTCVR 任务计算损失,在整个展现样本的空间下计算,没有使用CVR这个任务的损失。
在这里插入图片描述
使用的是交叉熵损失函数。

4. 数据实验

4.1. 数据集分布统计

在这里插入图片描述

4.2. 实验效果

  • 使用AUC指标,理解一下AUC指标是什么含义。
    在这里插入图片描述

5. 问题

5.1. pCVR 中的p是什么意思?

一定要意识到这个p代表的是post-click,否则直接说是CVR 不就得了?

5.2 模型的输入是什么?

Q:模型具体的输入是什么?也就是对应图中的user fileditem filed 分别可以是什么样的数据呢?能举个例子吗?

A:【TODO】可以从下面这个链接中访问作者给出的公开数据集:https://tianchi.aliyun.com/datalab/dataSet.html?dataId=408

5.3 跑一下模型【TODO】

5.4 SSB 问题的理解

在这里插入图片描述

6. 英语借鉴

  • borrowing the idea from multi-task learning… 从多任务学习借鉴方法

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV基础01

目录 一、环境安装 二、显示窗口 三、创建图片 四、图片保存 五、图像裁剪 六、调整图片大小 七、图像绘制 1、绘制圆形 2、绘制矩形 3、绘制文本 4、绘制直线 5、中文文本 八、控制鼠标 九、鼠标事件 十、视频处理 OpenCV作为C和C语言的源代码文件,…

git:将多个提交合并为一个

如何将第一至第五次提交合并为一个? 1. 使用 git log -n 命令查看spring boot admin的commit-id,本例n6,命令如下: PS E:\liguogang\spring-cloud> git log -62. 使用 git reset --soft commit-id 命令将前五次提交重置到工作…

Leetcode 二叉树中的最大路径和

算法思想 这道题要求在一棵二叉树中找到路径和最大的路径。路径可以从树中任意一个节点开始,到任意一个节点结束,但路径上的节点必须是连续的。 算法使用递归的方式来遍历树中的每个节点,并在遍历过程中计算包含当前节点的最大路径和。具体…

Python 变量在函数中的作用域

什么是局部变量? 作用范围在函数内部,在函数外部无法使用 什么是全局变量? 在函数内部和外部均可使用 如何将函数内定义的变量声明为全局变量? 使用global关键字, global变量 练习: 演示局部变量 #…

【Android】Kotlin教程(4)

文章目录 1.field2.计算属性3.主构造函数4.次构造函数5.默认参数6.初始化块7.初始化顺序7.延迟初始化lateinit8.惰性初始化 1.field field 关键字通常与属性的自定义 getter 和 setter 一起使用。当你需要为一个属性提供自定义的行为时,可以使用 field 来访问或设置…

SSH登录介绍

说明:一般登录服务器,我们可以用远程连接工具,如XShell、Windterm等,或者通过公司搭建的JumpServer(跳板机、堡垒机)来连接。前者是点对点登录,输入主机、端口,通过SSH协议登录&…

unity中预制体的移动-旋转-放缩

unity中预制体的移动-旋转-放缩 左上侧竖栏图标介绍Tools(手形工具)Move Tool(移动工具,单位米)Rotate Tool(旋转工具,单位角度)Scale Tool(缩放工具,单位倍数)Rect Tool(矩形工具)Transform Tool(变换工具)图标快捷键对照表工具使用的小技巧…

HarmonyOS开发 - 本地持久化之实现LocalStorage实例

用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。 说明&#x…

java程序打包为一个exe程序

ok,最近学到了一个有意思的东西 那就是如何将自己写好的java程序打包成一个exe程序,发给别人,然后运行。 那么开始之前,请先安装整个工具: exe4j:https://www.ej-technologies.com/exe4j/download&#…

高并发设计模式之ForkJoin模式

分而治之是一种思想,所谓分而治之就是把一个复杂的算法问题按一定的分解方法分为规模较小的若干部分,然后逐个解决,分别找出各部分的解,最后把各部分的解在整合成整个问题的解.ForkJoin模式就是分而治之思想的另一种应用. ForkJoin模式的原理 ForkJoin模式先把一个大任务分解…

AMD XILINX 20nm器件价格上调25%

随着市场回暖,台积电也在调整价格策略,近期台积电上调了20nm的出厂价格。 据相关消息显示,AMD为了保障持续的供货和服务,也计划将20nm器件的价格统一上调25%,预计将于11月发布正式的涨价通知,并于2025年Q1开…

EfficientNet-B6模型实现ISIC皮肤镜图像数据集分类

项目源码获取方式见文章末尾! 回复暗号:13,免费获取600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于opencv答题卡识别判卷】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【G…

为何我们要将测试左移?回到过去的美好时光

以下为作者观点: 为何我们将测试左移?在传统的开发周期中,测试通常在功能完成后甚至在开发阶段结束时进行。左移测试通过从开发过程开始到整个开发过程整合测试活动来挑战这一点。 让我们首先讨论一下为什么我们选择“左移”,因…

java项目之基于智能推荐的卫生健康系统(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的基于智能推荐的卫生健康系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于智能推荐…

性能测试详解

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间。响应时间按软件的特点…

深度学习基础—循环神经网络(RNN)

引言 从本系列博客开始,我们将来一起学习一下NLP领域的相关基础知识,NLP领域重要的模型是RNN,在此之前,先来了解一些符号的含义。 1.符号定义 (1)符号定义 假设建立一个能够自动识别句中人名位置的序列模型…

【工具变量】自由贸易试验区试点DID数据集(2003-2023年)

数据简介:自由贸易试验区(Free Trade Zone,简称FTZ)是中国ZF在新形势下为了推进GG开放、提高开放型经济水平而采取的重要战略举措。自贸试验区在一国的部分领土内运入任何货物,被认为在关境以外,免于实施惯…

Flask

创建项目 Pycharm专业版 默认文件 Pycharm社区版没有自动创建这几个文件,手动创建即可。 运行 常规功能 debug模式 修改内容自动更新,否则需要重新启动运行项目才生效。 修改host 通网络内其他人可以通过我得ip访问该服务。 修改端口号 空格分隔…

[Wireshark] 使用Wireshark抓包https数据包并显示为明文、配置SSLKEYLOGFILE变量(附下载链接)

前言 wireshark安装包 链接:https://pan.quark.cn/s/febb28f57c01 提取码:fUCQ 链接失效(可能会被官方和谐)可评论或私信我重发 chrome与firefox在访问https网站的时候会将密钥写入这个环境变量SSLKEYLOGFILE中,在wir…

野火鲁班猫4 (RK3588)系统配置

烧写系统 参考文档 : https://doc.embedfire.com/linux/rk3588/quick_start/zh/latest/quick_start/apt/apt.html 先装第一个软件,然后打开第二个软件。点固件,选择Ubuntu最新的固件,这边目前是20240911这个。 我这边直接烧写到…