1.背景
1)2016年由微软提出,是深度学习架构在推荐系统中的完整应用;
2)应用场景是微软搜索引擎Bing中的搜索广告推荐场景,即用户输入搜索词后,搜索引擎除了会返回相关结果,还会返回与搜索词相关的广告。尽可能地增加搜索广告的点击率,准确地预测广告点击率,是Deep Crossing模型的优化目标。
3)微软使用的特征分三类:一类是可以被处理成one-hot或者multi-hot向量的类别型特征,包括用户搜索词(query)、广告关键词(keyword)、广告标题(title)、落地页(landing page)、匹配类型(match type);一类是数值型特征,微软称其为计数型特征,包括点击率、预估点击率(click prediction);一类是需要进一步处理的特征,包括广告计划(campaign)、曝光计划(impression)、点击样例(click)等。
2.原理
模型的输入是一系列个体特征。模型有四种类型的层,包括Embedding层,Stacking层,Residual Unit层和Scoring层。目标函数是log损失函数,也可以使用softmax函数或其他函数。
Embedding: 用来减少输入特征的维度。
Stacking: 通常被称为连接层,作用是将Embedding的输出特征和数值型特征拼接在一起,形成新的包含全部特征的特征向量。
Multiple Residual Units: 该层的主要结构是多层感知机MLP,采用了多层残差网络作为其具体实现。
Scoring: 输出层,为了拟合优化目标而存在的。对于CTR预估这类二分类问题,Scoring层往往使用的是逻辑回归模型。
3.特点
只是常规的Embedding+多层神经网络,但其中没有任何人工特征工程的参与,只需要简单的特征处理,原始特征经Embedding Layer输入神经网络层,自主交叉和学习。相比于FM,FFM只具备二阶特征交叉能力的模型,DeepCrossing可以通过调整神经网络的深度进行特征之间的“深度交叉”。
4. 代码实现
TBD