项目场景:

最近在做CTR预估,同时有4个业务的一起做,之前在其他平台使用的机器学习没有问题。换到新的深度学习平台,用DNN和DeepFM做auc高的吓人。


问题描述:

模型从一开始就可以稳定收敛,无论是测试集还是训练集都可以稳定在0.99的auc。设定定时任务离线训练了数天后发现,偶尔会有几天auc突然变成0.5,之后有会变成0.99。


原因分析:

遇到这个问题头也是大的,之前没做过这块的工作。只能一个个原因排查:

  1. 是不是训练数据过拟合?
    答:但是在测试集上也有很高的auc很显然不是过拟合。
  2. 是不是样本数据不均衡?
    答:检查后正负样本比例是1:3,而且auc本身对正负样本比例是不敏感的,应该也不是这个问题。
  3. 是不是auc本身计算有错?
    答:看了一下日志,auc计算是分布式的,按每个batch最后算平均,看起来都很正常。
  4. 是不是模型过于复杂?
    答:尝试着减少层数,减少神经元,删除BN都无济于事,dropout也没有用。
  5. 是不是模型写错了?
    答:用了别人的deepfm代码和自己写的DNN,都是一个效果,模型应该也没有问题。
  6. 是不是数据量太小了?
    答:数据量每天100w左右,部分业务有500w,改用热更新之后几天依旧无法解决这个问题。

模型一圈看完了感觉还是数据本身的问题,上知乎搜到一个和我情况很类似的兄弟,提到了“特征穿越”。大概就是特征里面已经包含了样本标签。看了一下很可能是这个原因,决定对特征一个个下手。


解决方案:

暴力二分查找,从33个特征里面找到了一个“360天点击游戏id”的特征,发现单特征auc居然到了0.96!说明这个特征基本上就能确定标签了,对业务逻辑思考后发现,当天产生的该特征和当天产生的正样本会有高度的相似,导致了“特征穿越”。因此在离线训练的时候,需要利用前天的特征拼接昨天的样本,产生训练集。大致意思如下图所示:

CTR预估AUC=0.99问题记录相关推荐

  1. 2022华为推荐赛事——广告-信息流跨域ctr预估——0.79方案分享

    本文目录如下: 一.赛事背景 二.解决方案 2.1 导入必要的库 2.2 数据读取 2.3 特征工程 自然数编码 目标域(广告域)穿越特征提取 内存压缩 源域特征构建 内存压缩 2.4 划分训练集和测 ...

  2. CTR预估专栏 | 一文搞懂阿里Deep Interest Network

    作者 | 李宁宁 来源 | 机器学习荐货情报局(ID:ML_CIA) 编辑 | Vincent AI 前线导读:Deep Interest Network(DIN) 是盖坤大神领导的阿里妈妈的精准定向 ...

  3. 推荐系统CTR预估学习路线:引入注意力机制

    推荐系统CTR预估学习路线:从LR到FM/FFM探索二阶特征的高效实现 推荐系统CTR预估学习路线:利用树模型自动化特征工程 推荐系统CTR预估学习路线:深度模型 推荐系统CTR预估学习路线:引入注意 ...

  4. 从FM推演各深度学习CTR预估模型

    本文的PDF版本.代码实现和数据可以在我的github取到. 1.引言 点击率(click-through rate, CTR)是互联网公司进行流量分配的核心依据之一.比如互联网广告平台,为了精细化权 ...

  5. 广告CTR预估中用户行为学习和记忆建模

    分享嘉宾:邹衡@阿里,并非花名"擎苍" 编辑整理:陈晟 出品平台:DataFun 导读:CTR 预估是计算广告的底层通用技术,在 CPC/OCPC 营销模式下,预估准确性对广告主流 ...

  6. 《推荐系统笔记(十)》CTR预估以及一般算法介绍(GBDT+LR)

    前言 CTR预估是推荐系统中重要的问题,根据历史数据,我们需要预测用户是否点击.CTR预估同样可以运用到广告中,预测广告的点击率等. CTR数据形式 CTR预估问题的数据形式一般是这样的: 列名:特征 ...

  7. CTR预估算法(浅层模型)

    1. 发展 在CTR预估中,Logistic Regression应该是最早被应用而且应用最广泛的模型了.输入是one-hot之后的特征,输出是点击广告的概率.对于类别型特征,one-hot之后,每一 ...

  8. NeurIPS'22 | APG:面向CTR预估的自适应参数生成网络

    丨目录: · 摘要 · 背景 · Method · 实验 · 结语 ▐ 摘要 目前基于深度学习的CTR预估模型(即 Deep CTR Models)被广泛的应用于各个应用中.传统的 Deep CTR ...

  9. 【论文导读】2019阿里CTR预估模型---DIEN(深度兴趣演化网络)

    前言 今天分享一篇阿里2019发表在AAAI上的CTR预估的论文<Deep Interest Evolution Network for Click-Through Rate Predictio ...

最新文章

  1. 如何实现容器透明,内容不透明?
  2. python语言单行注释符_云计算开发学习笔记:Python3注释
  3. PHP商城数据库安全事务处理方法
  4. Oracle推出支援.NET 3.5与Visual Studio 2008的开发工具
  5. 创建war类型的maven工程时报web.xml is missing and failOnMissingWebXml is set to true
  6. opencv 轮廓 缺陷检测
  7. apipost使用mock随机获取多组数据中的一组数据进行测试
  8. 当vue遇到pwa--vue+pwa移动端适配解决方案模板案例
  9. process.nextTick
  10. 还有一周就解放了,无心撸码,着急回家
  11. 电脑进程说明,常见,作用,说明,是否,查看,问题
  12. SpringSocial 开发 QQ 登录
  13. android获取按键键值,android中按键的扫描码和键值
  14. 别再问什么是数据库分库分表了,看这里!
  15. .NET Core 开源工具 IPTools - 快速查询 IP 地理位置、经纬度信息
  16. file 转换MultipartFile
  17. 华三H3C设备 公司网络外网变慢分析
  18. linux zip/unzip命令详解
  19. 显示error 1044错误代码
  20. 滑稽树下你和我Average distance(树形dp求任意两点距离之和)

热门文章

  1. 四川大学网络安全人才培养基金启动 启动金额达1000万
  2. Python卡通化照片
  3. Intellij IDEA最常用快捷键
  4. 我用Python写了一个成语接龙的游戏,并把它部署到了手机上
  5. 固定资产会计处理过程
  6. LIN数据库文件LDF介绍及使用
  7. 基于 Koa 的微服务 Node.js 框架设计思路与简单实现
  8. Express 中间件及路由
  9. 用matlab对基带信号进行调频,调频信号的解调
  10. JavaScript把字符串中每一个单词的字母翻转