一种基于特征差异化学习的点击率预估方法与流程

文档序号:21935654发布日期:2020-08-21 15:08阅读:184来源:国知局
一种基于特征差异化学习的点击率预估方法与流程

本发明是关于推荐点击率预估领域,特别涉及一种基于特征差异化学习的点击率预估方法。



背景技术:

随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载的时代,海量信息的复杂性和不均匀性使得信息获取变得困难而耗时,无论信息消费者还是信息生产者都遇到了很大的挑战。越来越多的互联网应用成功地引入了推荐系统,广泛利用推荐系统的领域包括电子商务、电影和视频、音乐、社交网络、基于位置的服务、个性化广告等。

推荐系统的核心任务是在特定环境下为用户提供符合兴趣的内容展示,推荐点击率(clickthroughrate,ctr)用于描述内容展示后被用户点击的概率,而ctr预估是指通过数据挖掘相关的技术,利用用户和内容的上下文相关数据,来预测特定环境下给用户推荐的内容被用户点击的概率值。预估推荐的内容是否被点击可以反应当前推荐展示的内容是否符合用户的兴趣,因此,点击率预估算法被广泛地用于推荐系统的内容排序阶段,生成符合用户兴趣和习惯的推荐列表,进而提升用户对应用推荐内容的满意度,提高用户在应用内的在线时长,或者提高应用内投放广告的变现收益。

推荐系统的研究可关联到很多相关领域,例如用户建模、机器学习和信息检索等,由于其与日俱增的重要性,它在20世纪90年代发展成一个独立的研究领域。推荐问题被定义为关于如何估计用户对未曾见过的商品进行评分的问题,这样就能推荐给用户这些商品中最高评分估计的商品。在推荐的过程中,推荐的准确性、多样性、以及推荐算法的效率等问题就是推荐算法研究的重点。

推荐系统可以被看作为一个搜索排序系统,即给定一个查询,推荐任务在召回阶段从数据库中找出相关的物品,然后在排序阶段,基于用户点击率预估的目标分数,对召回的内容子集进一步进行排序,然后再结合策略进行内容的分发。在推荐排序阶段,准确的估计用户点击率对于提高流量的价值,增加广告收入有重要的指导作用,因此,推荐点击率预测是同时具有工程和学术意义的研究方向。

随着移动互联网高速发展,内容推荐的特征维度和形式越来越庞大和多样化,与此同时,推荐算法模型的结构也经历了从浅层到深层的发展,主要分为传统机器学习模型和深度学习模型两类点击率预估方法。

对于用户点击率预估,工业界广泛采用的方法是结合人工特征工程和线性逻辑回归模型,线性模型的优势在于结构简单和方便维护,并且可以处理离散化特征以及实现分布式计算。但是,线性模型缺乏捕捉隐式特征的能力,为了更好的预测效果,需要进行大量的人工特征工程。例如,特征工程中一个重要的任务就是类别特征上的交叉提取。原始类别特征之间是独立的,对于一些可能存在关联的特征进行组合会更有利于模型的预测结果。但是传统的交叉特征工程产生很多问题:首先,获得高质量的人工特征需要付出高昂的代价,数据科学家需要花费大量时间探索产品数据中的潜在模式,才能针对特定的任务设计有意义的交叉组合特征。另外,在互联网大规模推荐预测系统中,数据的原始维度通常是成千上万的,通过人工提取所有的组合特征是不现实的。并且,人工提取的组合特征并不能生成训练集中未出现的组合特征。因此,研究如何利用模型来进行自动化的特征交叉组合是非常有意义的工作。

针对大规模稀疏离散数据的特征组合问题,传统模型无法脱离人工特征工程。而利用深度神经网络的特征表达能力,探索复杂的特征组合来提升点击率预测的效果具有两个主要的优势:首先,深度模型的表达能力强,可以学习出高阶的非线性特征;并且,可以更容易扩充其他类别的特征,例如图片、语音等特征,实现端到端的模型预测能力。

如上所述,目前关于推荐点击率预估的研究成果很多,采用的方法也很广泛,例如以下几个文献公开的技术方案:

中国发明专利“一种基于xgboost算法的点击率预估方法及系统”(cn201811312769.1)。其技术方案内容包括:从广告投放平台的日志数据中选取出预定数量的原始特征;利用各个原始特征对xgboost算法进行模型训练,得到模型文件;获取广告投放平台的广告库中预定数量广告对应的当前特征;将各个当前特征分别和模型文件进行点击率的计算,得到对应的预估点击率数值。可见,该方法是在xgboost算法的基础上得到对应的模型文件,该模型文件能够快速的对广告特征进行处理得到预估点击率数值。此外,该方法可移植性好即可以实现在各个平台上,相比于相关技术容错性高。

中国发明专利“一种基于ffm深度神经网络的点击率预估方法”(cn201910123419.9)。其技术方案内容包括步骤:1)将训练数据中的数据离散化;2)对离散化的训练数据进行重新编码;3)将重新编码后的训练数据通过ffm深度神经网络进行训练;4)将需要预测的数据通过预处理;5)将预处理过的数据通过训练过的神经网络实现点击率的预估。本发明方法利用ffm深度神经网络模型表达能力强和能够自动组合特征的特点,使得模型能够学习出特征的低阶信息与高阶信息,同时也解决了特征自动交叉的问题,从而更好地应用于工业和生活领域。

中国发明专利“一种基于决策树和逻辑回归的点击率预估方法”(cn201711439302.9)。该方法包括以下步骤:获取投放信息的相关特征数据;建立基于决策树与概率稀疏线性分类器级联结构的点击率预估模型;通过在线连接器生成实时训练数据;通过实时训练数据训练点击率预估模型进行获得最新的点击率预估模型来进行点击率预估;提出了一个基于决策树与概率稀疏线性分类器级联结构的模型体系结构,它还包含了一个在线学习层,并公开了在线连接器,它是一个在线学习层中非常关键的组成部分,可以将训练数据转换成实时的流式数据。

上面三个文献的技术方案虽然都能在对推荐点击率进行预估,但是要适用到具体的互联网应用场景,他们还存在如下的不足:

大多数点击率预估方法都关注于对原始类别特征进行组合,但是没有同时考虑组合特征表达的完整性以及组合特征的重要度两个方面,而完整的特征表达和有效的特征利用往往能实现更好的预测准确性。

特征交叉是点击率预估领域的一个关键问题,为此很多相关工作设计了具有交叉网络结构的模型,这些模型通常利用向量内积或哈达玛积来计算特征向量的交叉,而这些网络中没有明确的结构用于区分多个中间特征向量的含义,因此可能对模型的特征表达能力造成限制,进而造成模型的过拟合问题。

另外,在点击率预估任务中,不同的特征之间的重要度是不一样的,例如,为了预测一个人的收入情况,职业特征对收入的影响明显比爱好要大,并且不同的特征组合之后的重要度也是不同的。因此,在具有特征交叉结构的神经网络中,如果每个特征都使用同样的权重与其它特征进行交叉,那么随着网络层数的增加,也会带来越来越明显的信息损失。



技术实现要素:

本发明要解决的技术问题是,克服现有技术中的不足,提供一种基于特征差异化学习的点击率预估方法。

为解决上述技术问题,本发明的解决方案是:

提供一种基于特征差异化学习的点击率预估方法,包括:先构建原始特征的输入向量,得到每个原始特征的低维特征向量表示;构建具备特征组合能力的神经网络,获得组合的特征向量并构造输出;然后提出差异化激活约束以控制特征向量之间的相似度,提升特征向量表达的完整性;利用现有的压缩-激发网络对特征重要度进行区分,提升神经网络对特征的判别能力;最后,将具备特征组合能力的神经网络与深度神经网络进行联合训练,得到最终的预测值。

本发明中所述的方法,具体包括以下步骤:

(1)构建原始特征的输入向量

在基于深度学习的点击率预估模型的特征输入层中,对稀疏特征进行嵌入编码,将输入的每个原始数据特征转化为一个低维稠密实数值向量,即特征的嵌入向量;将所有特征的嵌入向量进行拼接作为特征输入层的结果,以特征嵌入向量作为特征的基本单元;

(2)构建具备特征组合能力的神经网络

按向量方式进行特征组合,每个基本单元是特征的嵌入向量;将神经网络中上一层输出的特征向量与原始特征向量之间进行两两组合,并将得到的多个组合向量进行加权平均,得到神经网络每层的输出;

神经网络每增加一层就多一次与原始嵌入向量的组合,层数决定了特征组合的次数,神经网络结构中每个隐藏层的输出由前一个隐藏层和原始特征的输入共同决定;在网络的每一层都保持了特征向量的结构,所有的特征组合都按向量进行;

(3)利用差异化激活约束以控制特征向量之间的相似度

以神经网络的每一层作为特征向量差异化的单元,使每一层内的特征向量之间尽可能的具有差异性,使用余弦相似度来表示特征向量间的差异;

采用正则化约束的形式迭代求解各正交的向量表示,每次迭代过程中计算两两之间的余弦相似度,作为正则化损失加入模型共同训练:通过差异化激活约束的正则项显式地控制特征向量之间的相似程度,使得神经网络模型在训练中不断缩小特征向量之间的相似性;

(4)构造神经网络的输出

将步骤(2)所构建的具备特征组合能力的神经网络的所有隐藏层的特征向量进行拼接,得到组合特征矩阵作为输出;组合特征矩阵中包含了任意层数的组合特征,每一个元素维度都是特征向量;

(5)利用压缩-激发网络对特征重要度进行区分;

对于所有的组合特征及原始特征,引入基于压缩-激发网络的注意力机制,增加重要特征的权重并减小不重要特征的权重;

具备特征组合能力的神经网络的输出为所有的组合特征和原始特征向量,将其作压缩-激发网络的输入,后者生成对应于每一个特征的权重向量;将权重调整后的特征向量直接连接到输出单元,得到的神经网络模型称为基于特征重要度的差异化激活网络;

(6)将基于特征重要度的差异化激活网络与深度神经网络进行联合训练构建联合模型

将步骤(5)得到的基于特征重要度的差异化激活网络的输出连接到现有的深度神经网络以构造深度学习模型;将基于特征重要度的差异化激活网络输出的具有权重的组合特征,同时连接到线性逻辑回归模型和深度神经网络模型上进行联合训练;将线性逻辑回归模型和深度神经网络模型的输出连接到输出单元,得到联合的点击率预估值,即为最终推荐点击率预估的概率值;该值越大,则推荐的内容被用户点击的概率越高。

与现有技术相比,本发明的有益效果是:

1、为了提升特征向量的差异化表达能力,本发明提出了针对特征向量的差异化激活约束方法,可以有针对性地增加不同特征向量之间的差异性,从而“激活”数据中更多的隐含模式,达到高效特征编码的目的。

2、本发明利用现有的压缩-激发网络来自动地学习组合特征的权重,提出了基于特征重要度的差异化激活网络,提升点击率预估模型对组合特征有效性的判别能力。

3、本发明将基于特征重要度的差异化激活网络的输出同时连接到深度神经网络和线性逻辑回归模型上,模型的深层部分使得模型具备同时学习显式和隐式的高阶特征组合能力,同时提升整体模型的泛化性;模型的浅层部分可以学习特征低阶组合,用于提升模型的泛化性,并且模型不需要进行人工特征组合。

4、本发明是一种对推荐点击率预估的创新性计算方法,能对原始特征进行深入分析,能够准确地刻画特征向量的组合关系,有效预测推荐内容被用户点击的概率。

附图说明

图1为本发明中的基于特征重要度的差异化激活网络的整体架构。

图2为本发明中的差异化激活网络的整体结构示意图。

图3为本发明中的压缩-激发网络单元结构示意图。

具体实施方式

本发明所述基于特征差异化学习的点击率预估方法,基于特征重要度的差异化激活网络,提出了针对特征向量的差异化激活约束方法,可以有针对性地增加不同特征向量之间的差异性,从而“激活”数据中更多的隐含模式,达到高效特征编码的目的。并且利用现有的压缩-激发网络来自动地学习组合特征的权重,构建了基于特征重要度的差异化激活网络,提升点击率预估模型对组合特征有效性的判别能力,随后计算得到推荐点击率预估值。

下面结合附图与具体实施方式对本发明作进一步详细描述:

该基于特征差异化学习的点击率预估方法,具体包括下述步骤:

步骤(1):构建特征输入向量;

基于深度学习的点击率预估模型的特征输入层中,包含将稀疏特征进行嵌入编码的过程,将输入的每个原始数据特征转化为一个低维稠密实数值向量,即特征的嵌入向量。将所有特征的嵌入向量进行拼接作为特征输入层的结果e=[e1,e2,...,ef],其中f表示特征的数目,表示第i个特征的嵌入向量,并且d是嵌入向量的维度,是矩阵符号。神经网络模型将特征嵌入向量作为特征的基本单元,在后续的部分只需要进行特征向量的计算。

步骤(2):构建具备特征组合能力的神经网络;

按向量方式进行特征组合,每个基本单元是特征的嵌入向量,将具备特征组合能力的神经网络的第k层的输出表示为矩阵其中,第hk层表示设定的第k层特征嵌入向量的数量,第d层是嵌入向量的维度,并且,表示第k层的第i个的特征向量。设置h0=m表示原始特征的嵌入向量数目。神经网络中第k层的第h个特征向量计算方法如下:

其中,对于1≤h≤hk,表示具备特征组合能力的神经网络第k层的第h个特征向量所对应的参数矩阵,具备特征组合能力的神经网络第k层的参数个数为hk-1*m*hk。特征向量的计算过程是,将上一层输出的特征向量与原始特征向量之间进行两两组合,并将得到的hk-1×m个组合向量进行加权平均,从而得到当前层的第h个特征向量。

具备特征组合能力的神经网络每增加一层,就会多一次与原始嵌入向量x0的组合,所以神经网络的层数控制了显式特征组合的次数,其中每个隐藏层的输出由前一个隐藏层和原始的输入共同决定。在具备特征组合能力的神经网络的每一层都保持了特征向量的结构,因此所有的特征组合都是按向量进行的。

步骤(3):利用差异化激活约束以控制特征向量之间的相似度;

以具备特征组合能力的神经网络的每一层作为特征向量差异化的单元,使每一层内的特征向量之间尽可能的具有差异性,使用余弦相似度来表示特征向量间的差异;具备特征组合能力的神经网络的编码表示应该尽可能地去除各个特征向量之间表征的冗余,减少系统的不可预测性,提升组合特征的表征能力及模型的泛化能力。

特征差异化对于特征表达能力的具有重要作用,为了去除特征向量间可能存在的信息冗余,提升特征向量的差异化表达能力,采用一个针对特征向量的差异化激活约束(discrepantactivationconstraint,dac)方法,显式地控制特征向量之间的相似程度。

采用正则化约束的形式,迭代的求解各正交的向量表示。每次迭代过程中计算两两特征向量之间的余弦相似度,作为正则化损失加入整体的点击率预估模型共同训练。通过差异化激活约束的正则项显式地控制特征向量之间的相似程度,使得模型训练中不断缩小特征向量之间的相似性,将这个神经网络结构定义为差异化激活网络(discrepantactivationnetwork,dan)。

定义差异化激活网络的深度为t,第k层的特征向量数量表示为hk,向量表示第k层的第i个特征嵌入向量,设置h0=m表示输入的原始特征嵌入向量。以具备特征组合能力的神经网络的每一层作为特征向量差异化的单元,差异化激活约束的目标是使得每层内的特征向量之间尽可能的具有差异性,即等价于最小化每层特征向量间的相似度:

其中,表示差异化激活约束的损失函数,α表示神经网络的参数,表示特征向量之间的余弦值;以向量余弦值表示向量间的夹角大小,即向量间方向的差异,使用余弦相似度来表示特征向量间的差异。

步骤(4):构造具备特征组合能力的神经网络的输出;

由于第k层具有hk个不同的参数矩阵,因此差异化激活网络第k层的输出为hk个不同的特征向量。图2展示了差异化激活网络的整体结构,定义差异化激活网络的深度为t,所有的组合特征和原始特征的数量为将所有隐藏层的特征向量k∈[0,t]进行拼接,得到维度为n×d的组合特征矩阵c=[x1,x2,…,xn]作为差异化激活网络的输出,其中每一个元素维度都是d的特征向量,因此,组合特征矩阵c中包含了所有从0阶到t阶的组合特征。

步骤(5):利用压缩-激发网络对特征重要度进行区分;

在差异化激活网络之后,引入一个基于压缩-激发网络(squeeze-and-excitationnetwork,senet)的注意力机制,压缩-激发网络是已有的技术,主要用于区分神经网络模型中各个特征的权重,对于所有的组合特征及原始特征,可以自动地增加重要特征的权重,并减小不重要特征的权重。

差异化激活网络的输出为所有的组合特征和原始特征向量c=[x1,x2,…,xn],将这些特征向量作为压缩-激发网络的输入,生成一个权重向量,对应于每一个特征的重要度,即a={a1,a2,…,an},其中,ai是第i个特征的权重。之后对所有特征应用这些权重得到cse=[v1,v2,…,vn],其中表示调整权重后的特征向量,每一个vi=xiai,i∈[1,2,…,n]表示第i个调整后的特征向量。

如图3所示,压缩-激发网络采用了与特征向量并联的方式来进行权重调整,由压缩、激发、和权重调整三个部分组成,分别对每个步骤进行描述。

压缩(squeeze)过程通过计算每一个特征向量的统计特征,将向量转化为标量,具体的,使用最大值池化或平均值池化方法将输入的特征向量c=[x1,x2,…,xn]压缩为统计值向量z=[z1,z2,…,zn],其中,标量zi代表第i个特征向量的全局信息,以平均值池化为例,zi的计算过程如下:

经过压缩过程,每个特征向量上所有元素都平均成了一个值,这是因为最终的权重是对整个特征向量作用的,这就得基于特征向量的整体信息来计算权重。另外要利用的是特征向量间的相关性,而不是特征向量内部元素之间的相关性,用全局池化屏蔽掉特征向量内部的分布信息能让权重的计算更加准确。

激发(excitation)过程基于统计值向量z来学习每个特征之间的重要度,使用两个全连接神经网络层(fullyconnectedlayer)来学习这些权重。第一个全连接层用于进行维度规约,设定规约比率为r,全连接层把输入的n个统计值压缩成了n/r个值来降低计算量,并且使用σ1作为非线性激活函数。第二个全连接层作用是重新恢复为n个维度,并且使用σ2作为非线性激活函数。因此,每个特征向量的权重可以按如下方式计算:

a=fex(z)=σ2(w2σ1(w1z))

其中,分别是第一个和第二个全连接层的参数,是特征向量的权重,规约比率为r。尝试规约比率r在各种取值下的性能,最后得出整体性能和计算量的平衡。激发过程采用全连接层的作用是为了利用特征间的相关性来训练出真实的权重,而每个批量的样本压缩的输出并不代表特征真实要调整的权重,真实的权重要基于全部数据训练得出,所以需要全连接网络来进行训练。

最后,压缩-激发网络对所有特征向量进行权重调整,做法是对原始特征向量e与权重向量a进行按元素相乘,得到调整后的特征向量cse=[v1,v2,…,vn],计算过程如下:

以上经过压缩-激发网络后动态地学习了特征向量的重要度,对于特定的任务,该机制增加了重要特征的权重,并降低了与任务不相关特征的权重。最后,将权重调整后的特征向量cse直接连接到输出单元,得到基于特征重要度的差异化激活网络(featureimportanceanddiscrepantactivationnetwork,fidan),这是一个不包含深度神经网络结构的浅层模型。

步骤(6):将基于特征重要度的差异化激活网络与深度神经网络进行联合训练构建联合模型;

将基于特征重要度的差异化激活网络的输出连接到一个传统的深度神经网络,来构造一个深度模型。深度神经网络是已有的技术,由多个全连接层组成和非线性的激活函数,可以表达隐式高阶特征非线性组合。设a=[y1,y2,…,y2n]为基于特征重要度的差异化激活网络的输出,其中,是特征向量,之后将a输入到深度神经网络来学习高阶特征交叉,神经网络的前向传播过程如下:

x1=σ(w1a+b1)xk=σ(wkx(k-1)+bk)

其中,k是神经网络的层数,σ是非线性激活函数,xk是神经网络第k层的输出,深度神经网络学习高阶特征交叉的过程是隐式的。

为了使模型同时具备泛化性和记忆性,将基于特征重要度的差异化激活网络fidan输出的具有权重的组合特征,同时连接到线性逻辑回归模型和深度神经网络模型上进行联合训练。一方面这个模型具有同时学习低阶和高阶特征组合的能力,另一方面,它同时学习了隐式和显式的特征组合。因此,将线性逻辑回归模型和深度神经网络模型的输出连接到输出单元,联合模型的点击率预估值为:

其中,是点击率预估值,σ表示sigmoid函数,a是差异化激活网络fidan的输出,是深度神经网络模块的输出,w和b是网络的参数。

计算得到的点击率预估值即为最终推荐点击率预估的概率值,该值越大,则推荐的内容被用户点击的概率越高。

最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1