摘要
推荐系统和计算广告已经从商业应用领域逐渐进入学术研究领域。点击率预测是其中的核心研究问题之一,因为预测准确性影响着用户体验以及商家和平台的收入。
特征工程对于提高点击率预测非常重要。
传统的特征工程主要依赖于人们的经验,难以构建能够描述数据中所蕴含的复杂模式的特征组合。
本文将传统的特征组合方法与深度神经网络相结合,自动化特征组合以提高点击率预测的准确性。
我们提出了一种名为“领域感知神经因子分解机”(FNFM)的机制。这个模型可以像“领域感知因子分解机”一样具有强大的二阶特征交互学习能力,基于此基础,还使用了深度神经网络进行高阶特征组合学习。实验结果显示,该模型在表达能力上比当前的深度学习特征组合模型如DeepFM、DCN和NFM更强大。
introduction
推荐系统的发展是为了满足互联网场景中用户和企业的需求。根据数据显示,推荐系统为亚马逊带来了35%的销售收入,为Netflix的消费贡献了75%。YouTube主页的60%浏览流量来自个性化推荐流量。
因此,构建准确和有效的推荐系统对于提高用户体验和公司收入具有重要意义。
相关工作
传统线性模型通过二阶多项式特征来捕获二阶特征组合。在实际业务场景中广泛存在数据稀疏性。对于某些组合特征,很少有情况下两个特征同时非零。当组合特征中的任何一个特征取值为0时,与此特征相关的组合特征的交互项系数无法有效学习。
因子分解机(Factorization Machine)[Rendle, 2010]使用矩阵分解的思想[Lee等,2013]通过特征的内积来获取特征之间的交互项系数矩阵。这种方法弥补了二阶多项式方法的缺点,即需要学习的参数数量过多,无法有效处理系数数据。
领域感知因子分解机(Field-aware Factorization Machine,FFM)[Juan等,2016]模型是对FM模型的改进。FFM模型引入了“领域”概念,即使用不同的隐藏向量表示不同的特征组。在计算每对特征之间的交互项权重时,传统的FM模型由与两个特征对应的隐藏向量的内积表示。
在FFM中,特征组i中的每个特征xi对于其他特征组j中的特征xj,FFM学习一对隐藏向量vi,fj和vj,fi。它根据特征的含义将其划分为多个领域,每个特征属于特定领域。每个特征有多个隐藏向量,每个领域一个。当两个特征组合时,使用与两个特征对应的领域的内积作为内积,因此FFM的模型方程为:
DeepFM[Guo等,2017]是一种将FM和DNN结合起来的模型,用于建模类似FM的低阶特征组合以及类似DNN的高阶特征组合。与WDL[Cheng等,2016]不同,DeepFM可以进行端到端的训练,无需进行任何特征工程,因为它的宽侧和深侧共享相同的输入和嵌入向量。模型结构如下:
DeepFM由两个组件组成,它们共享相同的输入FM组件和DNN组件。对于特征xi,使用标量wi作为其一阶权重,使用隐藏向量Vi作为其与其他特征交互的影响因子。Vi输入到FM组件中,用于建模二阶特征交互,同时输入到DNN组件中,用于建模高阶特征交互。所有参数都通过联合预测模型进行训练:
yˆ = sigmoid(yFM + yDNN ) (2)
NFM(神经FM)[He和Chua,2017]模型使用FM和神经网络来建模稀疏数据。
在这个方程中,第一项和第二项类似于FM模型中的线性回归项。第三项fBI(x)是NFM模型用来建模特征交互的核心组件。
NFM首先将其合并到输入向量中,传递给一个二阶交互汇聚层,该层能够将多个嵌入向量汇聚成一个向量:
领域感知神经因子分解机(FNFM)
我们提出了一种点击率预测模型,即领域感知神经因子分解机(FNFM),该模型在二阶特征交互方面借鉴了FFM的优势,并提高了NFM在高阶特征交互方面的能力。
FNFM的模型描述如下:
方程中的前两项是与FFM相同的回归函数,而方程中的最后一项DNN(fBI (Vx))是处理特征交互的关键机制。
FNFM的机制由四个层次组成。较低部分的工作方式类似于FFM,较高部分是DNN,与DFM相比,我们的模型具有信息连接和归一化层。
输入层
首先,我们将用户和广告的特征转化为一个特征向量,该向量是从不同特征组(作为FFM中的字段)的输入特征拼接而成的:
x = [x1; x2; . . . ; xf ] (6)
其中f是特征组的数量。xi是第t个特征组的特征。如果它是稀疏类别特征,那么xi是一个独热编码向量。如果第t个特征组是密集数值特征组,那么xi是一个标量。
嵌入层
由于类别特征的特征表示通常是高维稀疏的,它们通常被压缩到低维空间中。传统的嵌入技术将每个特征集下的特征向量映射到:
ei = Vixi (7)
其中Vi是与特征组ti对应的嵌入矩阵,xi是一个独热编码向量。为了能够将密集数值特征与稀疏类别特征进行交叉和组合,密集数值特征也可以通过嵌入技术压缩到低维空间。将数值特征表示为:
em = vmxm (8)
其中vm是与特征组m对应的嵌入向量,xm是一个标量输入值。通过将类别和数值特征一起投影到相同维度的低维空间,可以通过交叉层学习不同特征组之间的特征交互。
二阶交互连接层
FNFM 模型采用因子分解的思想,以隐向量乘积的形式学习了二阶交互特征的表达。与传统模型如 DeepFM 和 NFM 不同,FNFM 模型使用基于领域感知方法的二阶特征交互方法。设来自不同特征组fi、fj的两个输入特征被划分为xi、xj,由FNFM 模型计算的二阶特征交互向量为
向量逐元素的乘积操作,vi,fj 表示当输入xi与来自fj特征组的输入交互时使用的隐向量,vj,fi 表示输入xj与来自fi特征组的输入交互时使用的隐向量。
损失函数
负对数似然函数在CTR模型中被广泛使用,通常定义如下:
实验
本节将FNFM模型与LR、FM、FFM、PNN、WDL、DeepFM、NFM和DCN等模型进行比较,这些模型包括当前推荐系统中一些最先进的模型。在这个实验中,由于模型关注特征组合的自动学习能力,因此不添加人工特征工程生成的特征,而是使用所有原始特征。
FNFM将FFM和DNN模型结合成一个端到端模型。FFM和DNN在学习高阶特征组合时使用不同的方法,一个可以通过二阶特征组合显式学习交叉特征,另一个可以隐式学习特征之间的高阶组合。FNFM将FFM学习的二阶组合特征作为输入连接到DNN模块,使DNN模块更容易学习数据中包含的高阶组合模式。
每个模型的超参数是通过在验证集上进行网格搜索获得的。最佳参数设置在下面的相应小节中给出。
对于FM和FFM,我们使用AdaGrad算法,初始学习率为0.1,对于其他模型,我们使用Adam算法,初始学习率为0.0001。
对隐藏向量和嵌入向量使用大小为0.00001的L2正则化。对于FFM和FNFM模型,由于它们的参数太大,本实验中将隐藏向量固定为4维。对于其他模型,搜索从4、8、16、32、64开始。深度神经网络的结构从每层2或3层和每层128或256个神经元的组合中搜索。下表显示了在验证集达到最低对数损失时,不同模型的测试集分数。
结论
本论文主要介绍了如何利用深度学习技术应用于点击率预测任务,以提高点击率预测模型的准确性。
从特征组合学习的角度出发,
本文提出了一种用于点击率预测的领域感知神经因子分解机。该模型具有类似于FFM的强大的二阶特征交互学习能力。
此外,深度神经网络用于学习更高阶的特征组合。
在CTR预测实验中,我们首先解释了FNFM模型中使用的Bi-Interaction Concatation层在表达能力上优于NFM模型中的Bi-Interaction Pooling层,并阐述了在使用Concatation层时遇到的问题和解决方法。
最后,我们对FNFM模型和其他模型的效果进行了比较,验证了其表达能力,从中我们可以得出一些关于使用因子化机制和信息连接来进行特征提取的效果的启示。
现在的预测模型并未考虑到业务中的一些实际问题,包括用户点击历史、兴趣变化以及可以激活记忆的注意力等因素。我们的下一步工作是将这些技术结合起来,以创建一个更加实用的预测系统。