一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多层次特征交互的点击率预测方法及装置与流程

2022-03-09 00:42:31 来源:中国专利 TAG:


1.本发明涉及推荐算法、点击率预测技术领域,特别涉及一种基于多层次特征交互的点击率预测方法及装置。


背景技术:

2.点击率(click-throughrate,ctr)预测在推荐系统和广告系统中都是最重要的组成模块,在推荐系统中,其目标是最大化点击次数,在返回给用户的界面上,物品的顺序应该根据ctr预测进行排名;在广告系统中,最主要的目标是提高广告收入,广告的投放也应根据广告的ctr预测进行排名。所以,正确预测ctr至关重要。
3.用户点击行为中隐含的特征交互对ctr预测非常重要,特征工程起到了决定性的作用。传统的机器学习算法想要达到理想效果必须将所有的输入特征都进行充分利用。但是,直接使用原始数据很难达到最佳的效果。优秀的数据科学家对特征之间的组合非常精准,在模型的建立中发挥了关键作用,但是,这个过程要付出高昂的成本,因为需要大量的工程数据以及相关领域丰富的知识才能达到良好的效果。同时,这些方案缺乏泛化能力,在其他领域很难推广。因此,现有的ctr预测模型对低阶特征信息利用不充分,且训练参数过多。


技术实现要素:

4.本发明提供了一种基于多层次特征交互的点击率预测方法及装置,以解决现有的ctr预测模型对低阶特征信息利用不充分,且训练参数过多的技术问题。
5.为解决上述技术问题,本发明提供了如下技术方案:
6.一方面,本发明提供了一种基于多层次特征交互的点击率预测方法,包括:
7.采集用户的特征数据和历史行为信息,构建训练数据集;
8.在xdeepfm模型的特征嵌入层与全连接层之间加入二阶特征交互层,以对xdeepfm模型进行改进,并将改进后的xdeepfm模型作为点击率预测模型;
9.采用所述训练数据集对所述点击率预测模型进行训练;
10.利用训练好的点击率预测模型对待预测的点击率进行预测,得到预测结果。
11.进一步地,采集用户的特征数据和历史行为信息,构建训练数据集,包括:
12.采集用户的特征数据和历史行为信息;其中,所述特征数据包括:用户年龄、用户性别、用户使用的手机型号以及用户位置信息;所述历史行为信息包括:用户的浏览时长和用户是否点击广告;
13.对采集的特征数据和历史行为信息进行预处理,分别提取连续特征和分类特征,并将连续特征置于分类特征之前,以构建训练数据集。
14.进一步地,所述点击率预测模型包括特征嵌入层、压缩交互网络、二阶特征交互层、全连接层以及预测层;其中,
15.所述特征嵌入层用于将高维稀疏特征向量转换为低维稠密特征向量,并将转换出
的特征向量输入所述压缩交互网络和所述二阶特征交互层;
16.所述二阶特征交互层用于将n个域中的向量两两对位相乘,得到n*(n-1)/2个向量,并将这些向量相加得到一个低维的特征向量ye,计算方式如下:
[0017][0018]
其中,表示两个向量的元素积,ei表示第i个域的嵌入向量,ej表示第j个域的嵌入向量,vi表示第i个域的权重,vj表示第j个域的权重;
[0019]
所述二阶特征交互层将得到的特征向量输入所述全连接层,学习高阶特征交互,计算方式如下:
[0020][0021]
其中,l是隐藏层的编号,是非线性激活函数,是第l层隐藏层的输出向量,表示第l-1层隐藏层的输出向量,w
(l)
表示第l层隐藏层的权重矩阵,b
(l)
表示第l层隐藏层的偏置量;
[0022]
所述预测层将线性回归、所述压缩交互网络和所述全连接层集成到一个框架,计算方法如下:
[0023][0024]
其中,表示所述预测层的输出,σ是sigmoid函数,x表示没有经过所述特征嵌入层处理的原始特征值,y
dnn
,y
cin
分别是所述全连接层和所述压缩交互网络的输出值,w
linear
,w
dnn
和w
cin
分别是线性回归、所述全连接层和所述压缩交互网络的参数模型,b
dnn
和b分别是所述全连接层和所述预测层的偏置参数。
[0025]
进一步地,所述基于多层次特征交互的点击率预测方法还包括:
[0026]
在所述点击率预测模型的独热编码过程引入最大支持维度参数,防止维度爆炸现象;其中,原始数据与出现频数的字典映射关系如下:
[0027]
p[xi]=ni,i∈{1,2,...,k}
[0028]
其中,xi是第i个不同的哈希值,ni为xi对应的频数,k是哈希值的总数;如果k≤m,那么只需将xi对应的索引在独热编码中取值为1,如果k>m,则需要对频数ni进行二次编码,创建一个新的映射表,直到维度小于m;p[xi]表示第i个特征出现的频数。
[0029]
进一步地,所述基于多层次特征交互的点击率预测方法还包括:
[0030]
在所述点击率预测模型的训练过程中使用早停法,选择最佳迭代次数;其中,所述早停法的表达式如下:
[0031][0032]
其中,e
opt
(t)和e
va
(t)分别是在迭代次数t时取得最好的验证集误差和测试集误差;当泛化损失gl(t)超过一定阈值的时候,停止训练。
[0033]
另一方面,本发明还提供了一种基于多层次特征交互的点击率预测装置,包括:
[0034]
数据集构建模块,用于采集用户的特征数据和历史行为信息,构建训练数据集;
[0035]
xdeepfm模型改进模块,用于在xdeepfm模型的特征嵌入层与全连接层之间加入二
阶特征交互层,以对xdeepfm模型进行改进,并将改进后的xdeepfm模型作为点击率预测模型;
[0036]
模型训练模块,用于采用所述训练数据集对所述点击率预测模型进行训练;
[0037]
点击率预测模块,用于利用训练好的点击率预测模型对待预测的点击率进行预测,得到预测结果。
[0038]
进一步地,所述数据集构建模块具体用于:
[0039]
采集用户的特征数据和历史行为信息;其中,所述特征数据包括:用户年龄、用户性别、用户使用的手机型号以及用户位置信息;所述历史行为信息包括:用户的浏览时长和用户是否点击广告;
[0040]
对采集的特征数据和历史行为信息进行预处理,分别提取连续特征和分类特征,并将连续特征置于分类特征之前,以构建训练数据集。
[0041]
进一步地,所述点击率预测模型包括特征嵌入层、压缩交互网络、二阶特征交互层、全连接层以及预测层;其中,
[0042]
所述特征嵌入层用于将高维稀疏特征向量转换为低维稠密特征向量,并将转换出的特征向量输入所述压缩交互网络和所述二阶特征交互层;
[0043]
所述二阶特征交互层用于将n个域中的向量两两对位相乘,得到n*(n-1)/2个向量,并将这些向量相加得到一个低维的特征向量ye,计算方式如下:
[0044][0045]
其中,表示两个向量的元素积,ei表示第i个域的嵌入向量,ej表示第j个域的嵌入向量,vi表示第i个域的权重,vj表示第j个域的权重;
[0046]
所述二阶特征交互层将得到的特征向量输入所述全连接层,学习高阶特征交互,计算方式如下:
[0047][0048]
其中,l是隐藏层的编号,是非线性激活函数,是第l层隐藏层的输出向量,表示第l-1层隐藏层的输出向量,w
(l)
表示第l层隐藏层的权重矩阵,b
(l)
表示第l层隐藏层的偏置量;
[0049]
所述预测层将线性回归、所述压缩交互网络和所述全连接层集成到一个框架,计算方法如下:
[0050][0051]
其中,表示所述预测层的输出,σ是sigmoid函数,x表示没有经过所述特征嵌入层处理的原始特征值,y
dnn
,y
cin
分别是所述全连接层和所述压缩交互网络的输出值,w
linear
,w
dnn
和w
cin
分别是线性回归、所述全连接层和所述压缩交互网络的参数模型,b
dnn
和b分别是所述全连接层和所述预测层的偏置参数。
[0052]
进一步地,所述基于多层次特征交互的点击率预测装置还包括:
[0053]
防止维度爆炸模块,用于在所述点击率预测模型的独热编码过程引入最大支持维度参数,防止维度爆炸现象;其中,原始数据与出现频数的字典映射关系如下:
[0054]
p[xi]=ni,i∈{1,2,...,k}
[0055]
其中,xi是第i个不同的哈希值,ni为xi对应的频数,k是哈希值的总数;如果k≤m,那么只需将xi对应的索引在独热编码中取值为1,如果k>m,则需要对频数ni进行二次编码,创建一个新的映射表,直到维度小于m;p[xi]表示第i个特征出现的频数。
[0056]
进一步地,所述基于多层次特征交互的点击率预测装置还包括:
[0057]
最佳迭代次数选择模块,用于在所述点击率预测模型的训练过程中使用早停法,选择最佳迭代次数;其中,所述早停法的表达式如下:
[0058][0059]
其中,e
opt
(t)和e
va
(t)分别是在迭代次数t时取得最好的验证集误差和测试集误差;当泛化损失gl(t)超过一定阈值的时候,停止训练。
[0060]
再一方面,本发明还提供了一种电子设备,其包括处理器和存储器;其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现上述方法。
[0061]
又一方面,本发明还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述方法。
[0062]
本发明提供的技术方案带来的有益效果至少包括:
[0063]
对比xdeepfm模型,本发明改进的算法对特征信息利用更充分;需要训练的参数更少,训练阶段不会出现维度爆炸现象,也避免了模型训练容易过拟合的风险,提高了点击率预测的准确性,相比现有先进模型具有较好的综合性能。
附图说明
[0064]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0065]
图1是本发明实施例提供的基于多层次特征交互的点击率预测方法的执行流程示意图;
[0066]
图2是本发明实施例提供的点击率预测模型的网络结构示意图。
具体实施方式
[0067]
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0068]
第一实施例
[0069]
本实施例提供了一种基于多层次特征交互的点击率预测方法,本实施例延续了采用融合结构的机器学习模型进行点击率预测的思路,提出建立一个融合多层次特征交互的模型来进行点击率预测。该方法可以由电子设备实现,该电子设备可以是终端或者服务器。该方法的执行流程如图1所示,包括以下步骤:
[0070]
s1,采集用户的特征数据和历史行为信息,构建训练数据集;
[0071]
具体地,在本实施例中,上述s1包括以下过程:
[0072]
s11,采集用户的特征数据和历史行为信息,制作数据集;其中,采集的用户特征数据包括:用户年龄、用户性别、用户使用的手机型号以及用户位置信息;采集的历史行为信息包括:用户的浏览时长和用户是否点击广告;
[0073]
s12,对s11得到的数据集进行预处理,分别提取连续特征和分类特征,并将连续特征置于分类特征之前,以构建训练数据集。
[0074]
其中,需要说明的是,此处的连续特征指的是年龄这类特征,比如18,22,23,24
……
;分类特征可以是性别,也即男,女,其他;这些特征在处理之前已经确定了是哪种类型,所以采用现有方法即可实现,故在此不再赘述。
[0075]
s2,在xdeepfm模型的特征嵌入层与全连接层之间加入二阶特征交互层,对xdeepfm模型进行改进,并将改进后的xdeepfm模型作为点击率预测模型;
[0076]
具体地,本实施例的点击率预测模型的网络结构如图2所示,包括特征嵌入层、压缩交互网络、二阶特征交互层、全连接层以及预测层;其中,
[0077]
特征嵌入层将高维稀疏特征向量转换为低维稠密特征向量,表示如下:
[0078]
e=[e1,e2,...,en]
[0079]
其中,n表示域的个数,ei表示第i个域的嵌入向量;
[0080]
特征嵌入层获得的特征向量输入压缩交互网络和二阶特征交互层;
[0081]
压缩交互网络的输入来自特征嵌入层,具体计算方式如下:
[0082][0083]
其中,矩阵x0∈rn×d,n,d分别代表域的个数和域的嵌入向量维度,矩阵中的第i行表示的即是第i个域的嵌入向量表述:x
l
表示压缩交互网络中第l层隐层状态,h
l
表示第l层隐藏层的压缩特征个数,同时将特征嵌入层称为第0层隐藏层,即h0=n;1≤h≤h
l
,是第l层隐藏层中第h个隐特征的变量参数,是两个向量间对应元素的乘积操作。
[0084]
二阶特征交互层将n个域中的向量两两对位相乘,得到n*(n-1)/2个向量,并将这些向量相加得到一个低维的特征向量ye,具体计算方式如下:
[0085][0086]
其中,表示两个向量的元素积,即ei表示第i个域的嵌入向量,ej表示第j个域的嵌入向量,vi表示第i个域的权重,vj表示第j个域的权重;
[0087]
二阶特征交互层将得到的特征向量输入全连接层,学习高阶特征交互,具体计算方式如下:
[0088][0089]
其中,l是隐藏层的编号,是非线性激活函数,是第l层隐藏层的输出向量,表示第l-1层隐藏层的输出向量,w
(l)
表示第l层隐藏层的权重矩阵,b
(l)
表示第l层隐藏层的偏置量;
[0090]
在预测层将线性回归、压缩交互网络和全连接层集成到一个框架,具体计算方法如下:
[0091][0092]
其中,表示所述预测层的输出,σ是sigmoid函数,x表示没有经过特征嵌入层处理的原始特征值,y
dnn
,y
cin
分别是全连接层和压缩交互网络的输出值,w
linear
,w
dnn
和w
cin
分别是线性回归、全连接层和压缩交互网络的参数模型,b
dnn
和b分别是全连接层和预测层的偏置参数。
[0093]
s3,采用训练数据集对点击率预测模型进行训练;
[0094]
需要说明的是,在本实施例中,为了防止训练阶段出现维度爆炸现象,同时避免模型训练容易过拟合的风险,本实施例还在点击率预测模型的独热编码过程引入最大支持维度参数m,防止维度爆炸现象;并且,在点击率预测模型的训练过程中使用早停法,选择最佳迭代次数。
[0095]
其中,最大支持维度参数m为自行设置的值,通常取100-1000之间,在本实施例中,其值设置为500。
[0096]
原始数据与出现频数的字典映射关系如下:
[0097]
p[xi]=ni,i∈{1,2,...,k}
[0098]
其中,xi是第i个不同的哈希值,ni为xi对应的频数,k是哈希值的总数;如果k≤m,那么只需将xi对应的索引在独热编码中取值为1,如果k>m,则需要对频数ni进行二次编码,创建一个新的映射表,直到维度小于m;p[xi]表示第i个特征出现的频数。
[0099]
例如数据集中用户性别特征为男,女,其他,三个类别,小于设置的最大支持维度参数,就按照最简单的编码方式001为男,010为女,100为其他;一个三维的矩阵,每个索引代表一个类别;而如果是用户浏览过的物品这种特征,假如有600种,就采用p[x]=n,这种统计频率的方式,比如书出现了30次,可乐出现了20次,p[书]=30,p[可乐]=20,
……
,以此类推将出现频率排序,只取前500种,舍弃频率较低的100种,以达到降维的目的。
[0100]
早停法的表达式如下:
[0101][0102]
其中,e
opt
(t)和e
va
(t)分别是在迭代次数t时取得最好的验证集误差和测试集误差;当泛化损失gl(t)超过一定阈值的时候,停止训练。
[0103]
s4,利用训练好的点击率预测模型对待预测点击率进行预测,得预测结果。
[0104]
下面采用以下两个数据集对比本实施例模型和其他模型的效果:
[0105]
1)criteo数据集,criteo数据集是criteo公司提供的关于用户-广告的历史点击行为的真实数据集,该数据集中包括了4500万用户点击事件记录,有13个连续特征和26个分类特征。
[0106]
2)avazu数据集,avazu数据集是avazu公司提供的关于用户-广告的历史点击行为的真实数据集,该数据集包括了6000万用户点击事件记录,有8个连续特征和14个分类特征。
[0107]
实验中使用logloss和auc来评价模型的性能,实验结果如表1所示。
[0108]
logloss:针对的是单个样本的预测值,计算结果为预测概率和真实值之间的二元交叉熵,其能够体现出预测值与真实值之间的差距,越小越好。
[0109]
auc:随机抽取一对样本,分别包含一个正样本一个负样本,模型把正样本排到负样本上面的概率即为auc。它能体现出样本间的相对关系,不会被具体的概率值变化扰动,越大越好。
[0110]
表1本实施例所提模型与其他先进模型对比结果
[0111][0112][0113]
实验结果表明,本实施例提出的基于多层次特征交互的点击率预测模型比其他现有模型的logloss和auc两项指标性能更好。
[0114]
综上,本实施例在xdeepfm模型的基础上,提出了一种利用多层次特征交互的点击率预测模型。该模型在dnn与嵌入层之间引入二阶特征交互层,充分融合低阶与高阶特征,并通过二阶特征向量对位相乘的方式减少参数量,提升了模型的特征组合能力;并且可以同时显式和隐式的学习高阶特征向量,以向量为最细粒度学习特征相关性。
[0115]
与现有的基于融合结构的点击率预测方法相比,本实施例提出的基于多层次特征交互的点击率预测方法可利用更丰富的高阶特征组合信息。大量基于真实场景数据集的实验表明,本实施例提出的基于多层次特征交互的点击率预测方法能够比现有的基于融合结构的点击率预测方法获得更好的预测性能。
[0116]
第二实施例
[0117]
本实施例提供了一种基于多层次特征交互的点击率预测装置,该装置包括:
[0118]
数据集构建模块,用于采集用户的特征数据和历史行为信息,构建训练数据集;
[0119]
xdeepfm模型改进模块,用于在xdeepfm模型的特征嵌入层与全连接层之间加入二阶特征交互层,以对xdeepfm模型进行改进,并将改进后的xdeepfm模型作为点击率预测模型;
[0120]
模型训练模块,用于采用所述训练数据集对所述点击率预测模型进行训练;
[0121]
点击率预测模块,用于利用训练好的点击率预测模型对待预测的点击率进行预测,得到预测结果。
[0122]
本实施例的基于多层次特征交互的点击率预测装置与上述第一实施例的基于多层次特征交互的点击率预测方法相对应;其中,本实施例的基于多层次特征交互的点击率预测装置中的各功能模块所实现的功能与第一实施例的基于多层次特征交互的点击率预测方法中的各流程步骤一一对应;故,在此不再赘述。
[0123]
第三实施例
[0124]
本实施例提供一种电子设备,其包括处理器和存储器;其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行,以实现第一实施例的方法。
[0125]
该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)和一个或一个以上的存储器,其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行上述方法。
[0126]
第四实施例
[0127]
本实施例提供一种计算机可读存储介质,该存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以实现第一实施例的方法。其中,该计算机可读存储介质可以是rom、随机存取存储器、cd-rom、磁带、软盘和光数据存储设备等。其内存储的指令可由终端中的处理器加载并执行上述方法。
[0128]
此外,需要说明的是,本发明可提供为方法、装置或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
[0129]
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0130]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0131]
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排
除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0132]
最后需要说明的是,以上所述是本发明优选实施方式,应当指出,尽管已描述了本发明优选实施例,但对于本技术领域的技术人员来说,一旦得知了本发明的基本创造性概念,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献