【推荐算法】ctr cvr联合建模问题合集
ctr和cvr分开建模相比ctcvr的优势?
在电商搜索推荐排序中,将ctr和cvr分开建模,相比直接建模ctcvr的优势是什么? - 萧瑟的回答 - 知乎
总结:
1、ctr的数据可以试试获取,能实时训练。但是cvr存在延迟现象,样本更新慢。一起训练容易出现跷跷板现象。
2、分开建模可以输出2个指标,便于调控。
3、CTR肯定是需要单独建模的,因为它影响用户的长期的参与度,也影响未来收益。
CTCVR低,不代表用户不喜欢,也可能是因为其他原因(比如没钱,这个很容易建模,拿用户过去消费的金额,与当前商品的价格,一比就能知道)
观点1
在电商搜索推荐排序中,将ctr和cvr分开建模,相比直接建模ctcvr的优势是什么? - 萧瑟的回答 - 知乎
分开建模的话。可能有下面几个好处:
- 方便机制等进行更灵活的调控。电商排序公式,往往不会就是简单的 ctr∗cvr∗pricectr*cvr*price ,很多时候可能是类似这样的一些更复杂的排序公式 ctra+ctrb∗cvrc+ctrd∗cvre∗pricefctr^a+ctr^b*cvr^c+ctr^d*cvr^e*price^f ,这个时候就需要有单独的ctr和cvr分数以便进行调控。另外像很多广告业务,基于点击计费,那么也需要单独的ctr分数。cvr分数可能会用到的广告出价bid的调整上。
- 分开使迭代更方便。样本上,cvr的转化信号往往存在一定的延迟,长的可能好几天。而ctr的点击信号,长的一般也就几十分钟,如果ctr和cvr一起建模的话,对于实时训练系统来说,样本上可能会面临比较大的挑战。另外ctr和cvr一起训练,效果可能相互影响,出现跷跷板效应,新的算法迭代ctr和cvr离线在线指标出现一个涨一个跌的问题,会让人非常头疼。
当然ctr和cvr放一起训练建模,也有一些优势,特别是如果算法组人力紧张的话,联合建模相比分开迭代,可以节省很多人力维护成本。
像淘宝一些核心业务的算法组,ctr和cvr模型也经历过多次分分合合。ctr和cvr模型是否要放一起训练迭代,并没有标准答案,和当前组内人力情况、业务情况,技术迭代情况等都息息相关。
观点2
ctr和cvr分开建模,相比一起建模的好处。https://zhuanlan.zhihu.com/p/599920653
CTR肯定是需要单独建模的,因为它影响用户的长期的参与度,也影响未来收益。
CTCVR低,不代表用户不喜欢,也可能是因为其他原因(比如没钱,这个很容易建模,拿用户过去消费的金额,与当前商品的价格,一比就能知道)
这个时候,如果只按CTCVR排序,只给用户显示那些物美价廉的东西,
一来用户审美疲劳,
二来也失去了给用户种草的机会。万一哪天用户中彩票了,或者一狠心想剁手了,在你们的app上却不展示合适的商品,岂不是白白浪费了机会。
其次,CTCVR你也预估不准。
其实哪个XTR都不可能绝对预估准,因此需要修正。
有了CTR,CVR,我修正CTCVR起来,还能多有一些信息可咨利用
另外,ctr和cvr一起训练,出现跷跷板现象,经常出现一个涨一个跌的情况,比较麻烦。
观点3
ctr和cvr联合建模的好处 https://www.zhihu.com/question/546623702/answer/2621988648
有些单个任务数据不充分造成模型不能训练收敛到较好的性能。多个相关任务在一起训练,配置合适的网络结构,可以实现多个任务的样本共用,每个任务得样本都变多了,能够帮助模型训练收敛。
举个例子,比如CTR(点击率预估)和CVR(转化率)联合建模。对于CTR任务来说,CVR的转化样本是高质量的点击人群,加入CVR转化样本能够帮助CTR任务更加倾向高质量点击。反之对于CVR任务,一般样本比较稀疏,通过加入CTR的浅层转化样本,也能够帮助先粗分辨更可能转化的人群。
当然多任务模型需要配置好网络参数和门控,增强多个任务间的互相增益,降低多个任务负向干扰。
观点4
工作时建模ctr*cvr时,关于esmm的几个疑问?
1.esmm 的ctr 网络输出还是ctr么(是否有偏)
2.esmm 针对ctr、cvr 分布差异大(任务不太相关,比如ctr多数来自新用户,cvr多数转化来自老用户)是否会带来cvr侧的不稳定
3.为什么esmm cvr 侧塔会高估?
观点5
MMOE解决跷跷板现象 https://zhuanlan.zhihu.com/p/462953458
mmoe借鉴了ensamble的解决思路,训练一批模型,每个task用其中不同的一些模型。这样也就缓解了样本分布差别大导致的跷跷板问题。实践经验表明expert的个数越多效果会越好,但边际效应递减,而且过多可能模型难以收敛。根据数据量,一般都会学习4-6个expert。
观点6(好)
cvr是否ctr的简单复制 - 彭红卿的文章 - 知乎
分别预估然后相乘算pctcvr是最佳做法么
初次碰到计算pctcvr是用pctr和pcvr相乘得出的,有人可能习以为常,有人可能就会有疑惑,为啥非得这么做,为啥不直接预估pctcvr,有哪些好处和坏处?
这么做的理由可以列好些出来,比如,分开预估就是两个模型,就可以有两拨人有事情做(大雾)。技术上呢?有一种说法是,ctcvr的正例太稀疏了,拆开来更好学习。业务上的理由有,比如app的转化有延迟,因此app ctr和app cvr数据处理流程不一样,模型的更新周期不一样,拆开更合理。还有一种说法是,ctr和cvr的特征不一样,所以拆开合情合理。
端到端预估也有不少好处,比如app ctr在某些媒体上可能有很多行为码不好界定是否属于点击,比如自动播放的那些。端到端就直接跨过这个问题,毕竟转化的定义是清晰的。
另外,在召回和粗排阶段,是否直接预估pctcvr又更合理呢?
ctr有的特征是否cvr就该有
比如ctr使用了用户行为特征,cvr模型是否就一定也要用上,cvr特征永远是ctr特征的超集?
ctr是否能使用转化相关的特征,cvr能否使用点击相关特征
比如ctr能否使用用户转化行为相关特征,为什么会有效?而cvr使用点击相关特征又会有正面效果么?
ctr和cvr预估值怎样相互影响
ctr和cvr的低估和高估会怎样影响到对方?ctr数据的收集基本在站内就能完成,因此ctr相对来说会更容易做的更准确,当然点击label定义不清又是另外一种情形。而转化受广告主回传等因素的影响,真值的波动会比ctr大,从而容易导致预估偏差。因此ctr是pctcvr预估的稳定剂,预估偏差不能太大。
采样偏差在预估和统计上的影响
sampling selection bias的问题在esmm论文里头已经说的比较清楚了,训练的样本空间(其实是特征空间)应该跟推断的样本空间一致。不一致会发生什么情况呢?就拿cvr预估来说,如果还是用点击作为负样本,转化作为正样本来训练模型,相比esmm来说,正样本是没丢的,也就是正样本的特征空间也不会有损失。点击未转化的样本(通常意义的cvr负样本)也一个没少,那么损失的都是什么呢,是那些曝光没点击的,大概率是cvr的负样本。这些负样本会对特征空间有所扩充,而且会让负样本本身预估更准确。举个例子,有点击的用户可能集中在20-60岁之间,假设其他岁数就变成一个缺省值“-”,如果是按照非esmm的cvr训练模式训练出来一个模型,在线上会有大量的样本命中“-”,这个时候这些样本的预估值就会比较接近,没有区分度。对于ocpx系统来说,这是比较要命的,我们希望所有样本之间都有能区分它们的特征,从而能预估一个更细致的值,更好地控制成本,哪怕是这些预估值很低,意味着几乎不可能发生转化。个人理解可以看做是easy negative(相对positive而言)里头的hard(negative之间)情形,因为你需要把“-”再分开。这块跟召回用全量空间的样本有相似之处,都是一不小心就会导致训练的样本空间小于推断的样本空间,区别在于召回的全量空间包括没有曝光的样本,而esmm的全量空间包括没有点击的样本。esmm认为能曝光出来已经是能产生转化的最低要求了,未曝光样本(同样会出现新特征值)在esmm看来属于冷启动问题,需要靠实时模型和泛化特征等手段来解决。
采样偏差在一个不太为人注意的任务上也存在,那就是统计。比如计算pcvr和tcvr之间的预估偏差,这个时候,是统计发生了点击后的预估值和点击后的真实值之间的gap,还是统计所有曝光的预估值的均值再和真实值相比?
在线学习
ctr模型用在线方式的处理,问题不太大,毕竟点击行为从端上上报不会比曝光延迟太久,漏掉正样本的情况比较少。但cvr的转化就不一样了,延迟的转化在app安装和激活上尤其明显,电商推荐的收藏到付费也可能时间很长。label延迟的情况下到底是否适合在线学习,这个事情业界好像是先整在线再说,快速数据流转成为一种理念。于是梯度补偿等方法也被提出来,没太多理论保证,但这也是为“快”所付出的代价。按预估转化时间分桶打散听起来更合理一些,也能跟在线处理结合,只是更复杂一些。
相关文章:
【推荐算法】ctr cvr联合建模问题合集
ctr和cvr分开建模相比ctcvr的优势? 在电商搜索推荐排序中,将ctr和cvr分开建模,相比直接建模ctcvr的优势是什么? - 萧瑟的回答 - 知乎 总结: 1、ctr的数据可以试试获取,能实时训练。但是cvr存在延迟现象&…...
安装njnx --chatGPT
gpt: 要在 Debian 11 上安装 Nginx(通常称为 "nginx"),您可以使用 apt 包管理器执行以下步骤: 1. **登录到您的 Debian 11 服务器**。您可以使用 SSH 客户端以 root 或具有管理员权限的用户身份登录。 2. **更新软件…...

性能测试需求分析
1、客户方提出 客户方能提出明确的性能需求,说明对方很重视性能测试,这样的企业一般是金融、电信、银行、医疗器械等;他们一般对系统的性能要求非常高,对性能也非常了解。提出需求也比较明确。 曾经有一个银行项目,已经…...

logback服务器日志删除原理分析
查看以下的logback官方文档 Chapter 4: Appendershttps://logback.qos.ch/manual/appenders.html 按文档说明,maxHistory是设置保存归档日志的最大数量,该数量的单位受到fileNamePattern里的值%d控制,如果有多个%d,只能有一个主%d࿰…...

到底什么才是真正的商业智能(BI)
随着人工智能、云计算、大数据、互联网、物联网等新一代信息化、数字化技术在各行各业内开始大规模的应用,社会上的数字化、信息化程度不断加深,而数据价值也在这样的刺激下成为了个人、机构、企业乃至国家的重要战略资源,成为了继土地、劳动…...

Pulsar Manager配置自定义认证插件访问
Pulsar Manager配置自定义认证插件访问 Pulsar Manager和dashboard部署和启用认证 pulsar自定义认证插件开发 前面博客讲了以token方式访问pulsar 这节博客讲如何配置自定义认证插件的方式访问pulsar #启动pulsar-manager docker run --name pulsar-manager -dit \-p 9527:…...
Java SimpleDateFormat linux时间字符串转时间轴的坑
Mon Oct 16 09:51:28 2023 这是linux 的 date命令得到的时间,要转换称时间戳。 EEE MMM dd HH:mm:ss yyyy 这样的格式,看起来就是正确的,可是就是报错 Unparseable date: "Mon Oct 16 09:51:28 2023" 下面是正确的代码 String[…...

202、RabbitMQ 之 使用 fanout 类型的Exchange 实现 Pub-Sub 消息模型---fanout类型就是广播类型
目录 ★ 使用 fanout 类型的Exchange 实现 Pub-Sub 消息模型代码演示:生产者:producer消费者:Consumer01消费者:Consumer02测试结果 完整代码ConnectionUtilPublisherConsumer01Consumer02pom.xml ★ 使用 fanout 类型的Exchange …...

web 性能优化详解(Lighthouse工具、优化方式、强缓存和协商缓存、代码优化、算法优化)
1.性能优化包含的方面 优化性能概念宽泛,可以从信号、系统、计算机原理、操作系统、网络通信、DNS解析、负载均衡、页面渲染。只要结合一个实际例子讲述清楚即可。 2.什么是性能? Web 性能是客观的衡量标准,是用户对加载时间和运行时的直观…...

docker-compose部署elk(8.9.0)并开启ssl认证
docker部署elk并开启ssl认证 docker-compose部署elk部署所需yml文件 —— docker-compose-elk.yml部署配置elasticsearch和kibana并开启ssl配置基础数据认证配置elasticsearch和kibana开启https访问 配置logstash创建springboot项目进行测试kibana创建视图,查询日志…...

解决java.lang.IllegalArgumentException: servlet映射中的<url pattern>[demo1]无效
当我使用tomcat启动使用servlet项目时,出现了报错: java.lang.IllegalArgumentException: servlet映射中的<url pattern>[demo1]无效 显示路径错误,于是去检查Web.xml中的配置,发现是配置文件的路径写错了,少写了…...

软件测试学习(三)易用性测试、测试文档、软件安全性测试、网站测试
目录 易用性测试 用户界面测试 优秀Ul由什么构成 符合标准和规范 直观 一致 灵活 舒适 正确 实用 为有残疾障碍的人员测试:辅助选项测试 测试文档 软件文档的类型 文档测试的重要性 软件安全性测试 了解黑客的动机 威胁模式分析 网站测试 网页基…...

Java中,对象一定在堆中分配吗?
在我们的日常编程实践中,我们经常会遇到各种类型的对象,比如字符串、列表、自定义类等等。这些对象在内存中是如何存储的呢? 你可能会毫不犹豫地回答:“在堆中!”如果你这样回答了,那你大部分情况下是正确…...

AI:38-基于深度学习的抽烟行为检测
🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…...

Hadoop 配置 Kerberos 认证
1、安装 Kerberos 服务器和客户端 1.1 规划 服务端: bigdata3 客户端(Hadoop集群): bigdata0 bigdata1 bigdata2 192.168.50.7 bigdata0.example.com bigdata0 192.168.50.8 bigdata1.example.com bigdata1 192.168.50.9 b…...

在 Elasticsearch 中实现自动完成功能 2:n-gram
在第一部分中,我们讨论了使用前缀查询,这是一种自动完成的查询时间方法。 在这篇文章中,我们将讨论 n-gram - 一种索引时间方法,它在基本标记化后生成额外的分词,以便我们稍后在查询时能够获得更快的前缀匹配。 但在此…...

美客多、亚马逊卖家如何运用自养账号进行有效测评?
到了10月,卖家朋友们都在忙着准备Q4旺季吧! 首先,祝愿所有看到这条推文的卖家朋友,今年旺季都能爆单,赚得盆满钵满! 测评是珑哥常谈,一直备受关注,不论是新老卖家都是一个逃不开的…...

MyBatis的缓存,一级缓存,二级缓存
10、MyBatis的缓存 10.1、MyBatis的一级缓存 一级缓存是SqlSession级别的,通过同一个SqlSession对象 查询的结果数据会被缓存,下次执行相同的查询语句,就 会从缓存中(缓存在内存里)直接获取,不会重新访问…...

GitLab(1)——GitLab安装
目录 一、使用设备 二、使用rpm包安装 Gitlab国内清华源下载地址: ①下载命令如下: ②安装命令如下: ③删除rpm包 ④配置 ⑤重载 ⑥重启 ⑦配置自启动 ⑧打开8989端口并重启防火墙 三、GitLab登录 ①访问GitLab的URL ②输入用户…...

退税政策线上VR互动科普展厅为税收工作带来了强大活力
缴税纳税是每个公民应尽的义务和责任,由于很多人缺乏专业的缴税纳税操作专业知识和经验,因此为了提高大家的缴税纳税办事效率和好感度,越来越多地区税务局开始引进VR虚拟现实、web3d开发和多媒体等技术手段,基于线上为广大公民提供…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...