前几天在公司内网上看见有同事在讨论《广告算法工程师的日常》这篇文章里面提到的A、B、C三位同学在实际的晋升中谁的优势更大,其实当时举这个例子,本意只是想说明广告算法工程师在迭代优化模型的过程中,要相信数据>特征>算法本身,在遇到问题的时候能够优先从数据以及特征层面考虑。至于说谁在晋升中优势更大,大家仁者见仁、智者见智哈。

好了,今天主要想和大家聊聊“刘西瓜”,话说这个刘大统领…;额,不好意思,串台了哈。言归正传,今天和大家讨论一下转化率模型中转化数据延迟的问题。这个问题无论是在浅层转化(如app安装、app激活、app注册等)或者深度转化(app付费)等场景下都是十分常见的。

0.什么是转化数据延迟问题

我们知道,在广告场景下,曝光发生后点击基本在很短时间内发生,而点击发生之后,转化有时候会有较长时间的延时,或许是几分钟,或许是几天,甚至一个月以上,所以点击率CTR的预估模型的训练数据基本是无偏的数据集,而转化率CVR预估模型的训练数据有可能是回流不完全的有偏数据,所以转化率CVR模型可能会因为转化延时问题而导致预估偏差,并且当实时更新模型时,由于实时数据中有偏样本更多,预估偏差会更严重;一般来说像前面讲到的浅层转化(app安装、激活、注册等)基本在1天内数据基本可以回传,而深度转化(app付费等)基本需要一周以上的时间回传数据。

1.转化数据延迟问题的常见解法

(1). 指数建模法,代表论文《Modeling Delayed Feedback in Display Advertising》,作者给出了一个指数分布的假设,对于未回流完全的样本,可以用指数分布进行约束;缺点是a.假设首先未必合理 b.对于有回流时间窗口的问题,需要进行时间窗的校准 c.对于大数据集是个挑战

(2). bias-adjusted建模,代表论文《Display Advertising: Estimating Conversion Probability Efficiently》,该方法的收敛速度快,NLL和bias都比较低;缺点是对于大数据集是个挑战

(3). 非参估计建模,代表论文《A Nonparametric Delayed Feedback Model for Conversion Rate Prediction》,该建模方式不对转化时间的分布做假设,更能模拟真实的分布;缺点是a.计算相当复杂 b.对于大数据集是个挑战

2.我们的做法

在讲我们的做法之前,大家可以回过头来看下《广告模型初探(三)》中提到的大规模离散DNN即SDNN模型,我们的转化延时模型就是根据该框架实现的。首先给出模型整体的架构图,分为两个部分,一个部分是转化率模型,另一个部分是回流率模型。

根据我们的实际业务情况,一般数据会在5天之内回流95%以上,因此我们事先设定回流时间窗口为5天,我们最终的训练策略是对于a.回流完全的样本:同时更新转化率模型以及回流率模型 b.回流不完全的样本:只更新转化率模型。举个例子最近30天的训练数据,分为25天回流完全数据+5天回流不完全数据,此时转化率模型是使用30天的数据训练,而回流率模型仅仅使用25天的数据训练,转化率模型的结果会受到5天回流不完全数据的影响,此时回流率模型会作用于转化率模型之上,起到一个校正的作用。

在实际使用中,我们采用的是batch+delta的经典模型更新方式,即分为天级别模型训练以及小时级模型训练两块。在天级别模型训练阶段,我们每天会启动一个调度任务,生成softmax天级别回流模型(25天回流完全数据同时更新转化率模型和回流率模型,最近5天只更新转化率模型,回流率模型作用于转化率模型之上),存放在天级别hdfs的目录下;在小时级别模型训练阶段,每小时会启动一个调度任务,拉取天级别目录下面最新的模型,使用小时级的数据生成增量的模型,存放在小时级hdfs的目录下。当线上预估模块检测到小时级模型目录有模型更新时,便会自动拉取该模型推送到线上,用于线上的实时预估。

3.小结

本文主要介绍了刘西瓜(额,怎么还有call back)。本文主要给出了转化数据延时问题的定义,常见解法以及我们在实践中的做法。说到底转化数据延迟问题其实是模型的准确率与模型更新时效性的两方博弈,希望大家都能在具体的业务中找到一个平衡点。话不多说,上图

欢迎大家关注计算广告那些事儿哈,除了原创文章之外,也会不定期和大家分享业内大牛的文章哈!

转化率模型之转化数据延迟相关推荐

  1. 为什么一些机器学习模型需要对数据进行归一化?——1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度...

    为什么一些机器学习模型需要对数据进行归一化? http://www.cnblogs.com/LBSer/p/4440590.html 机器学习模型被互联网行业广泛应用,如排序(参见:排序学习实践).推 ...

  2. 模型算法_数据分析师,要懂多少算法模型?

    随着数据分析岗位招聘越来越内卷,问"你用过/建过什么模型"的也越来越多.这个问题很容易给人"面试造航母,工作拧螺丝"的感觉.实际工作中,真的要搞那么多模型??? ...

  3. 水环境模型与大数据技术融合研究

    点击上方蓝字关注我们 水环境模型与大数据技术融合研究 马金锋1, 饶凯锋1, 李若男1,2, 张京1, 郑华1,2 1 中国科学院生态环境研究中心城市与区域生态国家重点实验室,北京 100085 2  ...

  4. POI报表入门,excel,使用事件模型解析百万数据excel报表

    POI报表入门,excel 1.pom依赖: <?xml version="1.0" encoding="UTF-8"?> <project ...

  5. 知识蒸馏相关技术【模型蒸馏、数据蒸馏】以ERNIE-Tiny为例

    1.任务简介 基于ERNIE预训练模型效果上达到业界领先,但是由于模型比较大,预测性能可能无法满足上线需求. 直接使用ERNIE-Tiny系列轻量模型fine-tune,效果可能不够理想.如果采用数据 ...

  6. 你没看错,浩辰3D软件中CAD图纸与3D模型高效转化这么好用!

    3D模型精度低,无法有效利用? 零件设计很复杂,手忙脚乱.效率低? 各类CAD图纸,都要一笔一画来绘制? 每次设计修改,都仿佛是渡劫修仙, 熬夜加班,咖啡续命? 是时候,改变这一切了! 你没看错,浩辰 ...

  7. R语言构建文本分类模型:文本数据预处理、构建词袋模型(bag of words)、构建xgboost文本分类模型、基于自定义函数构建xgboost文本分类模型

    R语言构建文本分类模型:文本数据预处理.构建词袋模型(bag of words).构建xgboost文本分类模型.基于自定义函数构建xgboost文本分类模型 目录

  8. R语言vtreat包的mkCrossFrameCExperiment函数交叉验证构建数据处理计划并进行模型训练、通过显著性进行变量筛选(删除相关性较强的变量)、构建多变量模型、转化为分类模型、模型评估

    R语言vtreat包的mkCrossFrameCExperiment函数交叉验证构建数据处理计划并进行模型训练.通过显著性进行变量筛选(删除相关性较强的变量).构建多变量模型.转化为分类模型.模型评估 ...

  9. R语言构建文本分类模型:文本数据预处理、构建词袋模型(bag of words)、构建xgboost文本分类模型、xgboost模型预测推理并使用混淆矩阵评估模型、可视化模型预测的概率分布

    R语言构建文本分类模型:文本数据预处理.构建词袋模型(bag of words).构建xgboost文本分类模型.xgboost模型预测推理并使用混淆矩阵评估模型.可视化模型预测的概率分布 目录

最新文章

  1. 对数组中的数字从小到大排序
  2. 下一跳网关和转发接口的使用情况
  3. python与excel的应用-python基础之类与对象的应用-操作excel
  4. 数据中心基础设施故障处理流程
  5. 发现程序美----while+for冒泡实现的
  6. Android RxJava 3.x 使用总结
  7. 2015年第六届蓝桥杯C/C++ A组国赛 —— 第一题:方格填数
  8. iOS中UITextField的字数限制
  9. 要养成良好的书写SQL的习惯
  10. gis怎么提取水系_SketchUp+Global Mapper 地形提取,连建模都省了...
  11. 商品管理系统c语言功能模板,C语言课程报告图书馆管理系统可做模板套用.doc
  12. 2017.9.15 最大数maxnumber 思考记录
  13. 想成为高薪的Java架构师该如何做?
  14. vmware使用已有linux系统的物理磁盘分区
  15. android python .xlsx_python读写xlsx
  16. Atitit r2017 r4 doc list on home ntpc.docx 驱动器 D 中的卷是 p2soft 卷的序列号是 9AD0-D3C8 D:\ati ext\r2017
  17. 数据挖掘笔记——概念学习
  18. openoffice java_java代码实现开启openoffice服务和关闭sffice.exe进程
  19. ong拼音汉字_汉语拼音中ong怎么读
  20. 【SPUSKU】简述

热门文章

  1. ajax传值改变对应样式(方法:定义属性)
  2. 2017-2018-1 20155308 《信息安全系统设计基础》课堂第六章测试(补做)
  3. 华中农业大学第五届程序设计大赛网络同步赛解题报告2(转)
  4. 新浪的动态策略灰度发布系统:ABTestingGateway
  5. c# abstract抽象类与继承类子类的构造函数_base
  6. .net post的参数如果出现乱码如何解决!
  7. Linux core dumps 的生成
  8. XMLReader—一个可以读取XML文件的java类
  9. ASP.NET 封装JS文件到DLL中并在页面中调用
  10. 数字金融反欺诈技术名词表