记录一次CTR比赛的实战,同时分享一下我CTR预估实战的过程。实战之前我先去调研了一下CTR这个任务的特点:
- 毫无疑问这个任务的是个二分类任务,预测点击与否。
- CTR 预估的特征一般是 用户的日志特征和画像特征,包含类别特征和数值型特征两种。
- 此任务的评估指标是 AUC 得分 或者 Logloss,facebook2014年的论文指出Logloss可能是相对来说较好的一个评估指标。
而这个任务有如下一些挑战:
- 特征稀疏性的问题如何解决。
- 特征直接的组合关系如何挖掘,交互特征如何学习。
- 如何感知用户兴趣随时间的变化。(这一点我没研究过所以暂且不谈)
- 最后一点是深度模型自带问题,就是如何利用好将不同层级的特征。(由于加入深度神经网络,会出现高层级的特征)
DeepCTR 简介
深度学习解决CTR模型天然的会有这些优势(笔者的个人看法):
- 数据稀疏的问题采用深度模型似乎会有着不错的效果。
- 特征之间的组合关系可以采用深度学习模型自动提取。
- 一些经典的FM,LR模型可以和深度学习模型做结合,能够产生出更好的效果。
这里我先介绍一下DeepCTR这个领域的发展过程,在CTR预估的深度算法领域有三条主要的路线:
- 1.基于模型并行 组合的 Wide&Deep这条路线
- 2.基于模型串行 组合的FNN 这条路线
- 3.融入历史行为感知变化的YouTube Net 这条路线
这里我简单解释一下1和2的区别:
- 模型并行的意思就是,浅层模型和深度学习模型共享同一个输入(一般是稀疏特征Embeding后的输出),然后分别做