CTR预估-GBDT与LR实现

1.来源

  本质上 GBDT+LR 是一种具有 stacking 思想的二分类器模型,所以可以用来解决二分类问题。这个方法出自于 Facebook 2014 年的论文 Practical Lessons from Predicting Clicks on Ads at Facebook 。

2.使用场景

  GBDT+LR 使用最广泛的场景是 CTR 点击率预估,即预测当给用户推送的广告会不会被用户点击。点击率预估模型涉及的训练样本一般是上亿级别,样本量大,模型常采用速度较快的 LR。但 LR 是线性模型,学习能力有限,此时特征工程尤其重要。现有的特征工程实验,主要集中在寻找到有区分度的特征、特征组合,折腾一圈未必会带来效果提升。GBDT 算法的特点正好可以用来发掘有区分度的特征、特征组合,减少特征工程中人力成本。

3.CTR的流程

  主要包括两大部分:离线部分、在线部分,其中离线部分目标主要是训练出可用模型,而在线部分则考虑模型上线后,性能可能随时间而出现下降,若出现这种情况,可选择使用 Online-Learning 来在线更新模型:

3.1离线部分

  • 数据收集:主要收集和业务相关的数据,通常会有专门的同事在 app 位置进行埋点,拿到业务数据
  • 预处理:对埋点拿到的业务数据进行去脏去重;
  • 构造数据集:经过预处理的业务数据,构造数据集,在切分训练、测试、验证集时应该合理根据业务逻辑来进行切分;
  • 特征工程:对原始数据进行基本的特征处理,包括去除相关性大的特征,离散变量 one-hot,连续特征离散化等等;
  • 模型选择:选择合理的机器学习模型来完成相应工作,原则是先从简入深,先找到 baseline,然后逐步优化;
  • 超参选择:利用 gridsearch、randomsearch 或者 hyperopt 来进行超参选择,选择在离线数据集中性能最好的超参组合;
  • 在线 A/B Test:选择优化过后的模型和原先模型(如 baseline)进行 A/B Test,若性能有提升则替换原先模型;

3.2 在线部分

  • Cache & Logic:设定简单过滤规则,过滤异常数据;
  • 模型更新:当 Cache & Logic 收集到合适大小数据时,对模型进行- pretrain+finetuning,若在测试集上比原始模型性能高,则更新 model server 的模型参数;
  • Model Server:接受数据请求,返回预测结果;

原文地址:https://www.cnblogs.com/tianqizhi/p/12012677.html

时间: 2024-08-30 14:06:06

CTR预估-GBDT与LR实现的相关文章

CTR预估中GBDT与LR融合方案

http://www.cbdio.com/BigData/2015-08/27/content_3750170.htm 1.背景 CTR预估,广告点击率(Click-Through Rate Prediction)是互联网计算广告中的关键环节,预估准确性直接影响公司广告收入.CTR预估中用的最多的模型是LR(Logistic Regression)[1],LR是广义线性模型,与传统线性模型相比,LR使用了Logit变换将函数值映射到0~1区间 [2],映射后的函数值就是CTR的预估值.LR,逻辑

CTR预估---传统模型

传统CTR预估模型包括:LR.FM.GBDT等,其优点是:可解释性强.训练和部署方便.便于在线学习. (一)CTR预估 1.在cost-per-click:CPC广告中广告主按点击付费.为了最大化平台收入和用户体验,广告平台必须预测广告的CTR,称作predict CTR:pCTR.对每个用户的每次搜索query,有多个满足条件的广告同时参与竞争.只有pCTR x bid price最大的广告才能竞争获胜,从而最大化eCPM:eCPM=pCTR x bid 基于最大似然准则可以通过广告的历史表现

闲聊DNN CTR预估模型

原文:http://www.52cs.org/?p=1046 闲聊DNN CTR预估模型 Written by b manongb 作者:Kintocai, 北京大学硕士, 现就职于腾讯. 伦敦大学张伟楠博士在携程深度学习Meetup[1]上分享了Talk<Deep Learning over Multi-field Categorical Data – A Case Study on User Response Prediction in Display Ads>.他在2016 ECIR发表

为什么CTR预估使用AUC来评估模型?

ctr预估简单的解释就是预测用户的点击item的概率.为什么一个回归的问题需要使用分类的方法来评估,这真是一个好问题,尝试从下面几个关键问题去回答. 1.ctr预估是特殊的回归问题 ctr预估的目标函数为 f(x)=P(+1|x) 特殊之处在于目标函数的值域为[0,1],而且由于是条件概率,具有如下特性 如果将ctr预估按照一般的回归问题处理(如使用Linear Regression),面临的问题是一般的linear regression的值域范围是实数域,对于整个实数域的敏感程度是相同的,所以

深度学习在CTR预估中的应用

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 一.前言 二.深度学习模型 1. Factorization-machine(FM) FM = LR+ embedding 2. Deep Neural Network(DNN) 3. Factorisation-machine supported Neural Networks (FNN) 4. Product-based Neural Network(PNN) 5. Wide & Deep Lear

log loss与ctr预估

ctr预估是工业界做推荐.广告等的基本问题,下面以熟悉的推荐场景为例,目标是提高abtest的线上指标,时长.互动和留存,反应到ctr模型的评估指标,可以是auc,logloss,ngcd等,auc反映了模型区分正负例的能力,auc提高不一定对应到线上指标提示,可能只是对item的预估分更准,对一个user来说排序能力并没有提高,这里很有考究,可以看看其他博客. 通常判断一个模型性能,除了auc.rigloss还要看 calibration,训练数据集的正负里比例和预估分均值是否一致,接近1才认

(读论文)推荐系统之ctr预估-Wide&Deep模型解析

在读了FM和FNN/PNN的论文后,来学习一下16年的一篇Google的论文,文章将传统的LR和DNN组合构成一个wide&deep模型(并行结构),既保留了LR的拟合能力,又具有DNN的泛化能力,并且不需要单独训练模型,可以方便模型的迭代,一起来看下吧. 更好的阅读体验请点击这里. 原文:Wide & Deep Learning for Recommender Systems 地址: [https://arxiv.org/pdf/1606.07792.pdf](https://arxiv

CTR预估评价指标介绍

1 离线指标 1.1 LogLoss 1.1.1 KL散度 logloss使用KL散度来计算.设样本的真实分布为P,预测分布为Q,则KL散度定义如下: 这里可以通俗地把KL散度理解为相同事件空间里两个概率分布的相异情况.KL散度越小,预测分布越接近真实分布. KL散度的物理意义是:使用分布Q来对真实分布为P的事件进行编码,导致平均编码长度增加了多少.具体解释可见百度和知乎. 1.1.2 CTR中KL散度的计算 CTR预估中,测试集中每个样本是一条广告,它有一个真实的点击率tctr和一个预测的点击

【转】- 从FM推演各深度CTR预估模型(附代码)

从FM推演各深度CTR预估模型(附代码) 2018年07月13日 15:04:34 阅读数:584 作者: 龙心尘 && 寒小阳 时间:2018年7月 出处: 龙心尘 寒小阳 原文地址:https://www.cnblogs.com/suanec/p/9328336.html