本文介绍Deep & Cross Network for Ad Click Predictions,这个和之前一篇Deep Crossing文章是不一样的,Deep Crossing通过ResNet和Embedding来学习特征组合;
具体的代码实现见Github
摘要
特征工程对于预测模型是很重要的,但是这个过程费时费力,DNNs可以自动学习特征交互,但是不能学习所有的特征类型;文中提出Deep & Cross Network (DCN),DCN在保持了原来的DNN模型的优势基础上,引进了一个新的交叉网络;除此之外,DCN显示的在每层引入特征交叉,但是也只是增加了可以忽略不计的复杂度给DNN;
一、介绍
对于CTR预估中的CPC(cost-per-click)模型,只有当广告被点击,才会被收费;但是这些问题的数据一般是离散且类别型的,One-hot以后,数据变得高维且稀疏,对于线性模型是一个巨大的挑战;文中引入 c r o s s n e t w o r k cross \ network cross network以一种自动的形式来显示的应用特征交叉,交叉网络由好几层构成,因为最大的交互深度是被证明由层的深度所决定;
二、 DEEP & CROSS NETWORK (DCN)
DCN的网络架构如下所示:
首先是一个Embedding层和Stacking层,然后接着是并行的 c r o s s n e t e o r k cross \ neteork cross neteork和 d e e p n e t w o r k deep \ network deep network,最终由一个 c o m b i n a t i o n l a y e r combination \ layer combination layer来组合上两层的输出;
2.1 Embedding and Stacking Layer
考虑输入数据是稀释+密集数据,因为One-hot以后的类别特征维度高且稀疏,一般用Embedding来表示,如 X e m b e d , i = W e m b e d , i x i X_{embed,i}=W_{embed,i}x_i Xembed,i=Wembed,ixi,其中 W e m b e d , i ∈ R n e × n v { {\rm{W}}_{embed,i}} \in {R^{ {n_e} \times {n_v}}} Wembed,i∈Rn