一淘广告机器学习

5,239 views
5,014 views

Published on

#LAMP人#第14期《海量数据挖掘与应用 – e淘专场》 之 《一淘广告机器学习平台》- 蒋龙(昙宗)

0 Comments
17 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,239
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
177
Comments
0
Likes
17
Embeds 0
No embeds

No notes for slide

一淘广告机器学习

  1. 1. 一淘广告机器学习平台 蒋龙(昙宗) 2012年4月 1
  2. 2. 第14期: 《海量数据挖掘与应用 》- e淘专场 www.LAMPER.cn http://weibo.com/lampercn
  3. 3. 内容提要• 机器学习 – 机器学习与互联网广告 – 并行计算与机器学习• 一淘广告中的机器学习 – 广告点击率预估 – 混合逻辑回归模型
  4. 4. 机器学习• 计算机自动从数据中发现规律,并应用于 解决新问题 – 给定数据(X1,Y1), (X2,Y2), … ,(Xn,Yn) – 对新的Xi,预测其Yi – 例子 • 智商测试:1, 3, 6, 10, ? – (1,1),(2,3),(3,6),(4,10) ,(5,?) – f(n) = (n^2+n)/2
  5. 5. 机器学习与互联网• 机器学习技术 – 分类,聚类,回归,排序...• 互联网应用 – 用户分类,网页/新闻分类,Query分类,商品 分类 • 同样于聚类 – 点击率预估 – 网页搜索排序
  6. 6. 互联网广告• 广告 – 恰当的用户,恰当的环境,恰当的内容 – 广告主,广告平台,用户共赢• 机器学习应用 – 用户的偏好和需求理解 – 广告内容理解 – 相关性计算(用户,环境,内容) – 展现分配
  7. 7. 挑战• 海量数据 – 训练样例 • 每天的访问量上亿级别 • 相关信息不断累积 – 特征空间 • 用户,Query,广告,商品,图片,文字,销量…• 时效性 – 实时反应数据的变化
  8. 8. MPI并行计算• 消息传递接口(Message Passing Interface, MPI) – 并行计算编程模型 – 通过在进程间传递消息完成数据交换• MPI基本函数 – Init, Finalize – Comm_size, Comm_rank – Send, Recv,
  9. 9. MPI与Map-Reduce• MPI模型 – 基于进程通信的计算模型 – 程序员能更多控制内部交互 – 适合逻辑复杂的分布式运算,如机器学习算法• Map-Reduce模型 – 适合独立的线性计算过程 – 超大数据量进行并发计算 – 内置容错逻辑• 综合利用 – 利用Map-Reduce模型处理数据 – 利用MPI进行模型训练
  10. 10. 阿里Hadoop集群• 2000+台机器 – 几十PB容量 – 扫描数据>1PB/天• 适合于数据处理 – 商品,日志,用户
  11. 11. 一淘MPI集群• 2011年启动 – 100+台机器• 算法 – 逻辑回归 – 混合逻辑回归• 应用 – 广告点击率预估 – 广告质量分计算
  12. 12. 内容提要• 机器学习 – 机器学习与互联网广告 – 并行计算与机器学习• 一淘广告中的机器学习 – 广告点击率预估 – 混合逻辑回归模型
  13. 13. 广告点击率预估• CPC广告排序规则 – RankScore = CTR*BidPrice • BidPrice:广告主出价 • Ctr:广告的点击率 – 排序时CTR未知,需要预估• 任务 – 搜索广告 • 给定一个query,估计该每个广告的ctr – 定向广告 • 给定一个用户,估计每个广告的ctr
  14. 14. 广告点击率预估• 逻辑回归模型 1 P(Y  1 | X )  1 e (  0   i xi ) p1 ln ( )   0    i  xi p0• 参数估计 – 最大似然法 – 基于L-BFGS算法快速迭代计算
  15. 15. 特征来源• 商品/广告信息: – 文字描述、类目、价格、成交量等• 卖家信息: – 信誉度、收藏数据量等• 用户信息: – 历史搜索、点击、购买、收藏记录等• 其他信息 – 季节、节假日等
  16. 16. 模型训练• Hadoop原始数据 – ~100TB – 处理时间:~5小时• 基于MPI的模型训练 – 十亿级特征 – 百亿级训练样例 – 运算时间:~10小时
  17. 17. 效果评价• 线下评估: – AUC评估:真实ctr高的广告是否预测ctr也高? – MAE/MSE评估:预测值是否和真实值差距小?• 人工评估 – 预估ctr高的广告是否好广告?• 线上评估: – 对比基准系统CTR是否提升?
  18. 18. 小结 实验评估 MPI集群分布 式模型训练Hadoop超大规模特征抽取
  19. 19. 混合逻辑回归模型• 问题 – 目前在业界广泛使用的传统逻辑回归模型无法抓住数 据的非线性关系• 非线性关系 – 已知数据 1. 广告历史CTR: ad_ctr 2. 广告历史PV:ad_pv 3. 广告所在类目CTR:cat_ctr – 一种可能的预测规则为
  20. 20. 如何解决?• 方法一:使用特征变换 – 在使用线性模型之前,对特征进行预变换 • (单维特征)离散化、(单维特征)交叉 – 问题: • 离散化区间过少,则表达能力不足 • 离散化区间过多,则面临数据稀疏问题 • 离散化、交叉的选择太多,费时费力,很难找到较 好的处理方式 • 特征数多时,无法穷举所有的交叉组合,因此仍然 不能完全抓住数据的非线性关系
  21. 21. 如何解决?• 方法二:使用非线性学习机器 – 1. 决策树和GBDT类(boosting) • 问题1:对维数很大的数据不适用(会生成过多的树 叶,造成计算复杂度问题以及推广性问题) • 问题2:模型的预测输出对输入特征是不连续的。造 成突变影响预测值的稳定性,也影响推广性能 – 2. 其它非线性学习机器,例如kernel SVM等 • 问题:无法适用于大规模数据
  22. 22. 如何解决• 我们的方法 – 适用于大规模、高维度数据的非线性学习机器—混 合逻辑回归模型• 重新考虑: – 简单原理解释:首先,根据一个线性模型ad_pv-K 的值将数据分别分到两个领域中: • 第一领域内使用线性模型ad_ctr预测; • 第二个领域内用另一个线性模型cate_ctr预测。
  23. 23. 总结• 互联网->机器学习->并行计算• 一淘广告中的机器学习 – Hadoop处理数据 – MPI集群训练模型 – 模型创新:混合逻辑回归模型

×