基于改进Wide&Deep交互特征提取的移动APP转化率预估

2020-02-23 01:09孙晓燕
郑州大学学报(工学版) 2020年6期
关键词:高阶转化率预估

孙晓燕, 聂 鑫, 暴 琳, 陈 杨

(中国矿业大学 信息与控制工程学院,江苏 徐州 221008)

0 引言

在计算广告领域衡量广告投放效果时,通常通过曝光、点击和转化等环节来衡量。大多数广告系统受广告效果数据回流的限制,往往将曝光或点击率(click through rate, CTR)作为广告投放效果的衡量标准[1-2]。而实质上,广告的转化数据(conversion rate, CVR)在衡量广告投放效果、广告费用结算和广告投放排序中有重要作用。因此,转化率预估(conversion rate prediction, CRP)已成为计算广告领域的重要研究内容之一[3]。移动APP转化率预估问题具有维度高、量大、稀疏、特征间高度交互等特点[4-5],如何使基于大量高维度异构的结构型数据自动获取特征间的交互关系,并对其进行有效融合和抽取,成为实现移动APP精准转化率预估的关键问题。

特征抽取主要分为两类,一是基于人工经验的手工特征提取策略,二是基于学习机制的特征自动获取方法[6-7]。手工特征提取是一项繁杂的工作,需要专家熟悉相关的领域知识,而基于用户经验的手工特征提取,极难充分发掘特征之间的交互关系,存在大量有效特征组合无法被专家识别的问题。此外,手工特征提取可能导致特征维度爆炸,如常用的Poly-2模型[8-9],该模型采用直接对二阶特征组合建模来学习特征之间的内在交互关系,这种方式提取的特征数量与原数据所有特征数量乘积相关,易引起特征爆炸,且此类特征组合方式尚未考虑高阶特征交互关系。

基于学习机制的特征自动获取又可分为显式特征交互关系提取,如基于贪心算法和搜索算法的研究[10-11];基于树模型的半显式[12]特征交互关系提取;基于深度神经网络(deep neural networks,DNNS)的隐式特征交互关系提取[13]。Bowers等[14]利用GBDT和逻辑回归的组合树模型实现了半显式特征交互关系提取和特征组合。针对个性化推荐中用户和物品等数据的稀疏特性,Rendle[4, 15]提出了基于分解机(factorized machine, FM)稀疏数据的特征提取,实现一阶、二阶特征之间的组合,但无法发掘特征之间的高阶交互关系。针对此问题,Blondel等[16]提出了高阶分解机模型,以学习特征之间的高阶交互关系,但是该方法会引入无效特征组合。 Xiao等[17]通过在FM中引入注意力机制,证明了无效特征交互关系对模型性能的影响。针对点击率预估问题,Juan等[5]在FM模型基础上,引入场感知(field-aware)属性,通过引入辅助向量,考虑不同领域特征之间的关系,提高了模型表现力。FM和FFM算法在识别用户行为数据特征间低阶交互关系方面具有较好的性能,但是却难以深入挖掘出高阶交互关系,从而影响了更多有效特征组合的识别和基于上述特征的模型构建。

深度学习作为一种先进的非线性模型在特征组合挖掘方面具有很大的优势。深度卷积神经网络(deep convolutional neural networks, DCNN)具有较强的隐式提取及表示高阶特征的能力[18-20]。Zhang等[21]提出了解决多域类别型数据的深度学习模型(factorized-based neural network, FNN)以获得用户行为特征之间的高阶交互关系。Qu等[6]针对用户响应预估问题,提出了一种基于乘积算子的深度神经网络(product-based neural network, PNN)方法,通过在嵌入层和神经网络层之间引入乘积操作,实现对用户行为数据高阶交互关系的识别。显然,基于深度学习机制的FNN和PNN均可有效发现用户行为数据特征间的高阶交互关系却忽略了低阶交互关系对特征组合的影响。为了同时兼顾特征间的高阶和低阶交互关系,Cheng等[3]提出了一种Wide&Deep神经网络模型,并成功应用于Google Play产品推荐中,但是该模型仍然首先基于人工提取的基础特征作为宽度部分的信息,当数据非常稀疏时,利用人工特征提取和合成的Wide&Deep将难以奏效。

综上所述,针对用户行为数据的稀疏性、特征的高度交互和难以提取性,FM、FFM、Deep Learning、Wide&Deep等能够自动获取特征低阶和高阶交互关系,并进行特征抽取,进而实现点击率预估和个性化推荐。但是已有研究尚未有效构建同时自动获取用户行为数据的低阶和高阶交互关系,没有获取更加有效的特征组合模型,亦没有将相关模型应用于移动APP广告转化率预估中。为此,本文提出一种基于FFM和深度卷积神经网络的改进Wide&Deep用户行为特征交互关系自动提取和组合的算法即DCNFFM,并用于移动APP广告转化率预估中。

1 基于FFM和CNN的改进Wide&Deep算法

1.1 算法框架

本文研究的问题具有数据类型多样和稀疏的特点,因此,在进行转化率预估时需首先进行数据归一化和预处理。然后,基于上述数据,设计特征交互关系抽取和特征组合模型。最后,基于提取特征,构建转化率预估单元。针对Google所提Wide&Deep模型的不足和本文所研究问题的特性,提出如图1所示的融合数据预处理和特征交互自动提取模块的改进Wide&Deep广告转化率预估模型。

图1 改进的Wide&Deep模型结构Figure 1 Improved Wide&Deep model structure

与Google所提用于移动APP广告推荐的Wide&Deep模型相比较,笔者所提算法的不同之处在于如下3个部分:①数据预处理模块不同,不对原始数据进行任何人为特征聚类或抽取,充分结合FFM特性,在数据输入端直接根据原始数据所提供的域(Field)进行特征的One-hot编码,再转换为FFM数据格式[14]。②Wide 模块部分,充分利用FFM在特征高阶交互关系上的突出性能,设计了基于FFM自动提取特征低阶复杂交互关系的宽度模块,以弥补传统Wide&Deep模块中需要人工提取特征宽度模块的不足。③深度模块部分,采用深度卷积神经网络模块,其输入为FFM所提取低阶交互关系特征的二阶嵌入(各特征的隐含向量表示),以更好地融合低阶特征,既避免了再次进行嵌入操作的复杂性,又自然地将特征转化为深度卷积神经网络易于处理的矩阵模块。关于输出模块部分,转化率预估本质为回归问题,因此,各类回归模型皆可适用,如逻辑回归、支持向量机或多种模型的融合等。下面给出所提算法核心部分的说明。

1.2 深度卷积神经网络模块

本文提出基于FFM二阶交互特征信息的深度模型,模块结构如图2所示。首先,深度模块的输入采用FFM进行二阶特征交互关系提取后的每个特征的隐含向量Vi=[vi1,vi2,…,vik]T作为深度卷积神经网络的输入[14]。这样既可以充分利用FFM提取特征的隐含向量表示,减少了传统Wide&Deep中深度模块还需要再次进行编码表示操作的复杂性,又将二阶特征间的交互关系自然地融入到深度神经网络中。这里的隐含向量是对特征的一种自然表示,可类比于图像的特征,对于n个特征,则其隐含向量维度为n×k,如共有196个元素,进行变换后成为14×14的矩阵,输入深度卷积神经网络中,自然合理。在图2中,深度卷积网络共7层,由两部分组成,即2层卷积神经网络和3层前馈全连接神经网络,这里全连接神经网络的输出单元数设为2。

图2 深度卷积神经模块Figure 2 Deep convolutional neural networks module

1.3 基于逻辑回归的特征融合

为了实现对Wide部分FFM模型和Deep部分深度卷积神经网络的参数训练和特征融合,分别将两部分模型的交互特征输入至逻辑回归单元,利用输入样本的转化率作为监督信息,实现参数最优化。

(1)

宽度和深度模块采取联合训练的思想,即通过逻辑回归将拟合误差同时反馈给浅层FFM模型和深层CNN模型中,采用Adam作为优化器,基于式(2)所示的交叉熵损失函数,通过随机梯度下降法获得各模块各部分的最优权值。

(2)

1.4 算法流程

输入:训练样本集;特征数量n;field数量m;Wide&Deep各模块的结构参数;

开始:

1. 随机初始化深度卷积神经网络参数,对训练样本One-hot编码,进行数据格式转换;

2. 采集的数据输入FFM模块,提取数据低阶和高阶交互特征;

6. 利用式(2)计算交叉熵损失函数;

7. 利用随机梯度下降法更新FFM和深度卷积神经网络的参数;

8. 重复步骤2~7,直至收敛满足停止条件。

2 算法在腾讯移动APP广告转化率预估中的应用

2.1 实验背景

为验证本文所提算法性能,将其应用于腾讯移动APP广告转化率预估中,该问题以移动APP广告为研究对象,在给定广告、用户和上下文情况下,通过特征提取和模型构建,预测广告被点击后发生激活的概率。腾讯公司原始数据集共提供了25个高度交互特征。根据所提供的数据,并考虑广告主数据回流的滞后特性,这里设定某月第17 d到第29 d的数据为训练数据,共计34 548 872条;第30 d数据为测试数据,共有3 364 044条。

2.2 实验设置

为了说明该算法解决移动APP广告转化率预估的有效性,共进行4组实验,分别设置如下:①算法参数对结果的影响,通过实验,给出正则化策略、卷积神经网络隐含层数量和激活函数的选择。②基于原始特征和Xgboost特征约减后,DCNN解决该类问题的性能,以及基于Xgboost特征重要度排序的特征抽取对预测结果的影响。③通过比较,说明基于FFM模块提取稀疏数据特征的DCNN的有效性。④算法整体性能,通过与BP神经网络、深度卷积神经网络、FM、FFM、深度全连接神经网络、Google所提Wide&Deep以及Wide&Cross算法的比较进行说明。模型最优参数通过网络搜索法获得,所比较算法的模型参数设置如下。

Xgboost参数设置为学习率0.05, 最大树深度5, 样本随机采样比例0.7, 列采样比例0.7, 目标函数采用二分类逻辑回归。BP神经网络参数设置为两隐层网络,隐层神经元数目分别为64和512,隐层单元激活函数为Relu,输出层使用softmax单元,采用随机梯度下降学习策略,其中,学习率为0.01,损失函数采用式(2)交叉熵。深度卷积神经网络:将25个特征变换为5×5矩阵作为卷积神经网络输入,第1卷积层的卷积核个数为32,第2层为16。两层卷积核大小均为(2,2),激活函数采用Relu。池化层采用最大池化操作。后接两个全连接隐含层,隐含层神经元个数分别为256和68。在本文所提Wide&Deep模块中,DCNN输入为来自FFM的隐含特征向量,共196个,变换为14×14矩阵作为网络输入,其余参数基于实验结果,将在2.3节给出。

算法性能指标:这里通过预测精度、AUC、损失函数和计算时间说明所比较算法的性能,其中,精度值和AUC的值越大,损失函数和计算时间值越小,说明算法性能越好。

2.3 模型超参数的选择

本文分析了深度卷积神经网络的正则化方法、神经网络激活函数、卷积神经网络层数、全连接层神经元个数对实验结果的影响,结果如表1所示。

表1 DCNN模型超参数实验结果Table 1 Experimental results of DCNN parameters

由表1可以看出,①正则化操作可有效提高算法的各类性能指标,而采用L1范数时性能最优;②激活函数中Relu优于tanh,两者均明显优于sigmoid函数;③卷积层的层数并非越多越好,在本文中,两层卷积时效果最佳;④全连接层神经元数量在200个左右时,性能最优。

综上,本文Wide&Deep模块中,DCNN超参数设置:L1范数正则化、两卷积层,第1层卷积核规模为32,第2层为64;两层卷积核大小均为(2,2),激活函数为Relu函数;两层中的池化操作均采用最大池化方法。两卷积层后为含两隐层全连接前馈神经网络,两隐层神经元个数分别为200和64。

2.4 基于原始特征及特征约减后的深度模块性能

这里首先研究基于原始特征的深度学习性能,通过与特征抽取中典型的算法Xgboost、BP神经网络(复杂)进行对比,说明DCNN对于本问题原始特征的处理能力,各算法的参数设置如2.2节和2.3节所述。3类算法的性能指标如表2所示。

由表2可知:①在未对原始数据进行任何特征提取的情况下,Xgboost的预测精度、AUC以及损失函数均最优,其运行时间高于BP神经网络;②BP神经网络的预测性能与Xgboost较相似,算法运行时间较少;③与Xgboost和BP神经网络相比较,DCNN算法整体性能均较差,精度明显劣于上述两种方法,运行时间却远大于比较算法。综上所述,对于本文所研究移动APP广告转化率预估,在未对特征进行任何预处理情况下,DCNN算法性能难以满足要求。

本文进一步采用Xgboost方法,对属性重要度进行排序,然后选择重要度高的特征(建模时去掉重要度最低的5个特征)对上述3种方法进行比较,结果如表3所示。

表3 基于重要特征的算法性能分析Table 3 Performance analysis of algorithms based on important features

比较表3和表2数据可知,基于Xgboost重要度排序,在删除重要性较小的特征之后3类算法的整体性能都有所下降,而计算时间却有所提升,显然,采用传统的自动特征处理也无法满足本文所研究问题的性能要求。其原因在于,上述实验均直接将原始数据输入到模型中,模型并不能很好地提取特征之间的高阶交互关系,影响了模型的整体性能。

2.5 基于FFM提取特征的深度模块性能

2.4节实验表明,从数据中直接提取特征的深度学习模块在本问题上性能较差,为了进一步验证本文所提基于FFM模块直接提取特征的深度卷积神经网络(FFM+DCNN)的有效性,分别和直接使用原始数据特征输入卷积神经网络、对原始稀疏特征进行嵌入处理之后输入到卷积神经网络中(所采用的嵌入处理方式与Wide&Deep模型使用的方法一致)进行比较。实验结果如表4所示。

表4 基于FFM提取特征的DCNN有效性Table 4 Performance of DCNN with FFM feature extraction

从表4实验结果可以看出:①本文基于FFM提取低阶特征,再将其作为深度模块输入进行高阶特征提取的方法,可使得转化率预估精度明显提升,比直接输入原始数据提高了7.9%,比传统嵌入编码方式提高了6.3%;与表1和表2中其他方法相比,算法性能也最优;②直接输入原始数据时,耗时最少,但是,精度等性能指标皆相对最差;③本文所提特征交互提取方法耗时相对增加,比直接输入原始数据多用时500 s,比嵌入编码方式多用时219.564 s,均在可接受范围之内。

综上所述,本文所提基于FFM提取低阶特征的深度卷积神经网络高阶特征抽取在可接受耗时下能够获得更好的性能,表明低阶特征抽取模型FFM可以从稀疏输入数据中提取出更好的特征供深度卷积神经网络使用,提高转化率预估精度。

2.6 基于改进Wide&Deep模型的转化率预估

为了说明本文所提算法(DCNFFM)的整体性能,将其与BP神经网络、DCNN、因子分解机FM、场感知因子分解机FFM,含有FFM的深度全连接神经网络(Relu单元组成)(DNNFFM)、Google公司所提Wide&Deep以及另一种Wide&Cross[12]模型进行比较。对于Google公司所提Wide&Deep以及Wide&Cross均采用原文中所给参数,这里不再赘述。算法5次运行后的平均性能指标值如表5所示。

由表5可知:①在预测精度、AUC,损失函数3个性能指标方面,本文所提算法明显优于所比较其他算法,与Google所提Wide&Deep以及Wide&Cross相比,其精度分别提高约2.8%和2.3%;②加入了FFM的特征提取模块,可有效改善深度神经网络在转化率预估上的模型性能,DNNFFM和DCNFFM的整体性能在所有算法中表现优良,比单独DCNN预测精度分别提高了8.9%和10.7%;③在算法计算复杂度方面,本文算法较高,但低于DNNFFM,说明将FFM与深度学习进行融合时,选择深度卷积神经网络比传统深度前馈神经网络可在提高模型性能的同时,降低计算复杂度。

表5 基于不同特征提取模型的转化率预测Table 5 Conversion rate prediction based on different feature extraction models

3 结论

提出了一种改进的Wide&Deep模型,即宽度模块采用FFM实现一阶和二阶特征交互关系的提取,然后基于所提取二阶交互关系,构建深度卷积神经网络模型,进一步获取特征间的高阶交互关系。采用所提模型,构建移动APP广告转化率预估时,可以避免对原始数据进行前期手工特征抽取,并通过直接利用FFM二阶交互特征隐含向量,减少传统Wide&Deep需进行多次嵌入操作的复杂性。

将所提算法(DCNFFM)应用于腾讯移动APP广告转化率预估中,并通过与FM、FFM、BP神经网络、深度全连接神经网络(Relu)(DNNFFM)、深度神经网络(DCNN)、Wide&Deep模型、Wide&Cross模型比较,说明所提算法可在可接受的计算复杂度下,获取更高的预估精度。

猜你喜欢
高阶转化率预估
美国银行下调今明两年基本金属价格预估
基于高阶LADRC的V/STOL飞机悬停/平移模式鲁棒协调解耦控制
高阶思维介入的高中英语阅读教学
高阶非线性惯性波模型的精确孤立波和周期波解
SVM分类模型预估网站商业价值
基于高阶奇异值分解的LPV鲁棒控制器设计
透视化学平衡中的转化率
化学平衡中转化率的问题
影响转化率的因素
化学平衡移动对反应物转化率的影响