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

基于子空间连续划分建模策略的用户点击率预测方法与流程

2022-11-12 23:46:51 来源:中国专利 TAG:


1.本发明涉及人工智能在互联网营销的技术领域,更具体地,涉及一种基于子空间连续划分建模策略的广告点击率预测方法。


背景技术:

2.点击率(click-through rate,简称ctr)预估问题是互联网计算广告中的关键环节;对用户预估的准确性直接影响公司营销广告的收入。点击率预估问题是互联网计算广告中的关键环节,对用户预估的准确性直接影响公司营销广告的收入。
3.在广告投放过程中,一般会经历广告曝光、用户点击和用户注册(或称转化)这三个过程,ctr预估的一大目的是提高从广告曝光到用户点击的效率,即提高点击率。由于用户点击或不点击一般定义为用户行为的标签。
4.本领域技术人员清楚,传统的ctr预估可看作是一个有监督学习问题:即已知了用户点击行为等一系列特征后,将用户点击记为1,用户不点击记为0,从而进行二分类学习。
5.在点击率预估中,数据特征一般可以分为:
6.①
、用户画像特征,其主要包括用户的年龄、性别、收入水平、使用设备类型等;
7.②
、物品/商品特征,其主要包括用户访问dpi、用户点击频次等。
8.③
、数据特征还可以通过结合具体的业务需求或通过算法对特征进行交互和组合,包括了各种统计特征等。
9.尤其是对于某些商品的类别特征,对其处理后(例如独热向量展开等)往往维度非常高,数据特征的组成也较为复杂。此外,在很多业务中,数据特征对于待预测结果的贡献也往往是人们关心的问题。因此,进行数据特征筛选对于提取重要特征、降低计算复杂度、降低过拟合风险等多方面都是非常有益的。
10.本领域技术人员清楚,对于ctr预估问题,由于互联网用户数量众多,特征复杂,通常原始数据的维度较大,如若采用一次学习的方式,即将所有样本都送入学习器进行训练,则在内存消耗、时间成本等将面临较大的挑战。
11.此外,由于原始数据的样本空间中特征的分布往往差异很大,用全量数据进行预测往往面临对于一些特征学习过度或学习不充分,从而导致过拟合或欠拟合风险较大。


技术实现要素:

12.本发明的目的在于提供一种基于子空间连续划分建模策略的用户点击率预测方法,可以有效的避免上述风险,以提升用户点击率预测结果。
13.为实现上述目的,本发明的技术方案如下:
14.基于子空间连续划分建模策略的用户点击率预测方法,其包括数据预处理步骤s1、训练集的生成步骤s2和模型训练与模型建立步骤s3;
15.所述数据预处理步骤s1包括如下步骤:
16.步骤s11:获取n个用户的原始数据信息,并从所述用户的原始数据信息提取原始
特征信息;其中,所述原始特征信息包括用户id、用户所在省份、用户所在城市、用户访问dpi、用户访问时间(频度)、设备类型和/或用户是否点击特征;其中,所述用户所在省份、用户所在城市、和用户访问dpi为类别特征,所述用户访问时间为连续特征,所述n大于等于2;
17.步骤s12:对所述用户的原始特征信息进行异常检测与处理步骤;
18.步骤s13:通过独热编码对类别特征进行处理,根据业务需求及求解模型选择进行归一化后梯度下降处理,或利用rankgauss方法对连续特征进行调整样本分布处理;
19.所述训练集的生成步骤s2包括特征工程的处理步骤s21和共现矩阵的构造步骤s22和和dpi特征向量的获取步骤s23;
20.步骤s21具体包括如下步骤:
21.步骤s211:用户访问dpi处理步骤,建立用户id与用户访问dpi的特征列;
22.步骤s212:采用通过独热编码对类别特征进行处理;
23.步骤s213:连续特征进行数值型特征改造处理;
24.步骤s214:进行特征筛选和特征构造,以形成新的特征;
25.步骤s215:执行连续特征离散化处理;
26.步骤s22共现矩阵的构造和dpi特征向量的获取具体包括如下步骤:
27.对步骤s221:通过用户访问dpi访问列表,获得所有用户当天访问用户访问dpi的情况,之后对用户访问dpi访问列表中的用户访问dpi进行计数统计来获得共现矩阵;其中,所述共现矩阵的维度为n
×
n;
28.步骤s222:使用奇异值分解算法(svd)可以将共现矩阵分解得到维度为n
×
k的特征矩阵,其中,k为特征矩阵的维度(k《n),所述特征矩阵的维度自由指定,代表特征维度,对于每个dpi来说都有对应的k维特征向量,所述k维特征向量即用户访问dpi的稠密表达,也即词向量;
29.步骤s23具体包括:通过共现矩阵得到每个dpi的特征向量,采用奇异值分解将其访问的dpi对应的特征向量取均值,得到k维dpi特征;
30.步骤s3具体包括如下步骤:
31.步骤s31:将每个dpi的k维dpi特征形成全量训练样本数据d1,根据子空间连续划分策略,连续划分形成二叉树形状的子空间集;其中,每一个所述二叉树的两个树枝子空间的特征数为所述二叉树特征总数的1/2,且每一个节点子空间的特征为随机抽取;
32.步骤s32:根据子空间停止划分的策略,对每一个所述二叉树的两个节点子空间判断是否修剪其所属的两个树枝;最终形成最多具有n层(n1,n2

nn)树枝和总共具有m个子空间(m1,m2

mm)的二叉树;其中,m个子空间(m1,m2

mm)的模型为(m1,m2

mi

mm);
33.步骤s33:从第一层开始,采用有监督学习方法,使用全量训练样本数据d1针对广告是否点击建立点击率预估模型,得到相应的模型为m1,训练误差为e1,训练样本的预测值为p1;
34.步骤s34:从第二层开始,采用有监督学习方法,对所述二叉树中的每一个子空间针对广告是否点击建立点击率预估模型,得到相应的模型为mi,训练误差为ei,训练样本的预测值为pi;其中,在训练中,上一层训练样本的预测值pi被加入到当前层的一个子空间的特征中;
35.步骤s35:以此类推,

,直到得到m个满足训练误差的预估模型。
36.进一步地,所述子空间连续划分策略作为子空间停止划分的依据,如下一种情况出现即停止划分:
37.①
、如果第n阶子空间的训练误差pn是第n-1阶子空间训练误差的a倍,则停止第n阶子空间的划分;其中,a大于1;
38.②
、如果在划分第n阶子空间后,子空间中样本数量少于设定阈值nmin,则停止第n阶子空间的划分;
39.③
、如果在划分第n阶子空间后,阶数n超过了设定阈值nmax,则停止第n阶子空间的划分;
40.④
、如果在划分第n阶子空间后,建立的点击率预估模型数量超过了设定的模型最大数量mmax,则停止第n阶子空间的划分。
41.进一步地,所述点击率预估模型为梯度提升决策树模型,其实现方式包括xgboost或lightgbm。
42.进一步地,所述的预测方法还包括预测步骤s4,其具体包括:
43.步骤s41:获取拟对营销活动点击预测的用户群体和所述用户群体的用户原始数据信息,并从所述用户原始数据信息提取原始特征信息;其中,所述原始特征信息包括用户id、用户所在省份、用户所在城市、用户访问dpi、用户访问时间、设备类型和/或用户是否点击特征;其中,所述用户所在省份、用户所在城市、和用户访问dpi为类别特征,所述用户访问时间为连续特征,所述n大于等于2;
44.步骤s42:对每一个所述用户的原始数据信息进行异常检测与处理步骤;通过独热编码对类别特征进行处理,根据业务需求及求解模型选择进行归一化后梯度下降处理,或利用rankgauss方法对连续特征进行调整样本分布处理;
45.步骤s43:通过共现矩阵得到每个dpi的特征向量,之后对于每个待评估用户而言,将其访问的dpi对应的特征向量取均值,得到k维dpi特征;
46.步骤s44:提供建立训练好的m个满足训练误差的预估模型,依次输入m个预估模型,每个待评估用户的k维dpi特征,得到m个预测结果,最后对这m个预测结果取均值,得到拟对营销活动点击预测的用户群体中所有所述用户的预测值;得到拟对营销活动点击预测的用户群体中所有所述用户的预测值;其中,所述用户的模型预测值为所述用户的点击意愿度。
47.进一步地,所述模型预测步骤s4还包括:
48.步骤s45:根据实际投放需求,选择全部或部分所述用户的模型预测值集中点击意愿度为1的用户进行精准营销的任务。
49.从上述技术方案可以看出,本发明的基于子空间连续划分建模策略的广告点击率预测方法,其通过开发出更可靠的特征筛选算法,有效实现了对于总样本空间的连续划分;通过对不同样本空间的学习和集成,有效降低了过拟合和欠拟合风险,提升了用户点击率预测的结果使筛选后的原始特征显著降低了树模型的过拟合风险,并在实际业务中提升点击率预测结果都具有重要的意义。
附图说明
50.图1所示为本发明实施例中基于子空间连续划分建模策略的用户点击率预测方法
流程示意图
51.图2所示为本发明实施例中利用用户dpi访问情况构造共现矩阵以及通过构建的共线矩阵获得dpi特征向量的过程示意图
52.图3所示为本发明实施例中根据子空间连续划分和子空间停止划分策略形成的空间结构示意图
具体实施方式
53.下面结合附图1-3,对本发明的具体实施方式作进一步的详细说明。
54.在下述的具体实施方式中,在详述本发明的实施方式时,为了清楚地表示本发明的结构以便于说明,针对附图中的结构不依照一般比例绘图,并进行了局部放大、变形及简化处理,因此,应避免以此作为对本发明的限定来加以理解。
55.请参阅图1,图1所示为本发明基于子空间连续划分建模策略的用户点击率预测方法流程示意图。如图1所示,该预测方法包括数据预处理步骤s1、训练集的生成步骤s2、预测模型建立步骤s3和营销活动预测步骤s4。
56.在本发明的实施例中,数据预处理步骤s1非常重要,所述数据预处理步骤s1包括如下步骤:
57.步骤s11:获取n个用户的原始数据信息,并从所述用户的原始数据信息提取原始特征信息;其中,所述原始特征信息包括用户id(user_id)、用户所在省份(province)、用户所在城市(city)、用户访问dpi(dpi)、用户访问时间(频度)、设备类型(phone_type)和/或用户是否点击特征;其中,所述用户所在省份、用户所在城市、和用户访问dpi为类别特征,所述用户访问时间为连续特征,所述n大于等于2。
58.请参阅下表1,表1为预处理之前的原始数据信息的表格描述,预处理之前的原始数据信息形式如下表1所示:
59.表1
[0060][0061]
请注意此时,对于数据的标签,即用户是否点击,只区分为正样本(1)和未标记样本(0)。
[0062]
在本发明的实施例中,上述的原始数据信息还需要经过异常检测与处理、类别特征处理、连续特征处理和降维处理等步骤。
[0063]
步骤s12:对所述用户的原始数据信息进行异常检测与处理步骤。
[0064]
异常检测与处理:在结合业务要求的过程中,对于原始数据信息中的缺失值、过大值等需要进行删除、填充等处理。在原始数据信息的采集过程中,由于一般用户量为百万级别,因此,采集过程中可能出现缺失情况;若缺失量较小,一般可直接进行剔除;若无法判断缺失原始数据信息是否会影响最终的模型训练效果,则一般可根据取平均数、众数和中位数等方法来填补缺失值。
[0065]
并且在原始数据信息采集过程中,可能还会遇到过大值的问题,比如某用户在一天之内访问了dpi上万次,这种情况一般在实际建模过程中对于提升模型的泛化能力并无特别帮助,因此,也可以采用剔除的处理,或者采用填补的方法进行相应的处理。
[0066]
步骤s13:通过独热编码对类别特征进行处理,根据业务需求及求解模型选择进行归一化后梯度下降处理,或利用rankgauss方法对连续特征进行调整样本分布处理。
[0067]
从上表中可以看出,相比于传统的用户访问数据,每一个用户id对应多个dpi访问记录,同时还给出了访问的时间。
[0068]
在本发明的实施例中,还包括用户访问dpi处理。由于每个用户所访问的dpi不唯一,因此,原始数据信息中同一用户id可能会出现多次,即用户具有多条访问信息。也就是说,将所有dpi去重后,建立用户访问dpi的特征列,若某用户访问了某几个dpi,则这些dpi的统计次数加1。
[0069]
步骤s2:训练集的生成步骤,其包括特征工程的处理步骤s21、阴影特征的构造步骤s22和基于特征阴影的特征筛选步骤s23。
[0070]
步骤s21:特征工程的处理步骤,对所述用户的原始数据信息进行特征筛选和特征构造,以形成新的特征;其具体包括如下步骤:
[0071]
步骤s211:用户访问dpi处理步骤,建立用户id与用户访问dpi的特征列。由于每个用户所访问的dpi不唯一,因此原始数据信息中同一用户id可能会出现多次,即用户具有多条访问信息。因此,将所有dpi去重后,建立用户dpi的特征列,若某用户访问了某几个dpi,则这些dpi的统计次数加1。
[0072]
步骤s213:连续特征进行数值型特征改造处理。
[0073]
该步骤称为数值型特征(numerical features)改造步骤,其可根据业务需求及模型选择进行相关处理,例如对于采用梯度下降(gradient decent)进行求解的模型,如逻辑回归和神经网络等,一般归一化后梯度下降更加平滑,收敛速度更快。又比如某些机器学习模型是以特征服从高斯分布为前提,此时可通过gaussrank等方法调整样本分布。
[0074]
步骤s214:进行特征筛选和特征构造,以形成新的特征。
[0075]
特征筛选:根据嵌入法,建立随机森林基学习器对预处理后的数据进行训练,并输出各个特征的重要性,消除若干权重较低的特征,再基于新的特征集进行下一轮训练,重复m次递归的消除重要性较低的特征,较佳地,m为3。
[0076]
特征构造:添加常用的统计特征,如偏度(skewness)、峰度(peakedness)等。
[0077]
步骤s215:连续特征离散化。
[0078]
对于一些机器学习算法如逻辑回归和前馈神经网络等,将连续特征根据多个阈值来进行离散化,可以有效增加算法优化的收敛速度,已经避免异常值对模型训练的影响,一定程度上起到了正则化的作用。例如,根据样本在某个连续特征上分布的不同分位数(假设分位数取0.25,0.5,0.75),可以将样本在该连续特征上划分为5个区间。每个样本之可能分布在五个区间中的其中一个,则该样本在所位于的特征区间中取值为1,在其余四个区间中取值为0。连续特征离散化的效果即是将一个连续特征展开为独热编码的形式。
[0079]
经过预处理和特征工程后,数据可用如下表2所示:
[0080][0081][0082]
其中,连续特征为dpi访问频次、峰度、偏度等统计特征。类别特征为用户访问dpi访问的独热编码、号码归属地的独热编码和离散化后的dpi访问频次。
[0083]
步骤s22:共现矩阵的构造和dpi特征向量的获取步骤;
[0084]
请参阅图2,利用用户dpi访问情况构造共现矩阵以及通过构建的共线矩阵获得dpi特征向量的过程进行说明。在本发明的实施例中,用户当天用户访问dpi的情况可以通过dpi访问列表获得,之后对列表中的用户访问dpi进行计数统计来获得共现矩阵。
[0085]
步骤s221:通过用户访问dpi访问列表,获得所有用户当天访问用户访问dpi的情况,之后对用户访问dpi访问列表中的用户访问dpi进行计数统计来获得共现矩阵;其中,所述共现矩阵的维度为n
×
n;
[0086]
步骤s222:使用奇异值分解算法可以将共现矩阵分解得到维度为n
×
k的特征矩阵,其中,k为特征矩阵的维度(k《n),所述特征矩阵的维度自由指定,代表特征维度,对于每个dpi来说都有对应的k维特征向量,所述k维特征向量即用户访问dpi的稠密表达,也即词向量;
[0087]
如图2所示,图中展示了三个dpi(dpi a、dpi b和dpi c)的共现情况。其中,14表示dpi a和dpi b在所有用户的训练数据中共同出现了14次,也开始说,数据中共有14个用户同时访问了dpi a和dpib。矩阵中的其他数据以此类推。
[0088]
在本发明的实施例中,设共n个dpi,则共现矩阵的维度为n
×
n。获得共现矩阵后,使用奇异值分解算法可以将共现矩阵分解得到维度为n
×
k的特征矩阵,其中,k为特征矩阵的维度(k《n),该维度可自由指定,代表特征维度。对于每个用户访问dpi来说都有对应的k维特征向量,该特征向量即dpi的稠密表达,也即词向量。
[0089]
步骤s23具体包括:通过共现矩阵得到每个dpi的特征向量,采用奇异值分解将其访问的dpi对应的特征向量取均值,得到k维dpi特征。
[0090]
接下来,就可以执行步骤s3,子空间连续划分和根据建模策略得到最终的预测模型。
[0091]
请查阅图3,图3所示为本发明实施例中根据子空间连续划分和子空间停止划分策略形成的空间结构示意图。如图3所示,子空间划分结构为二叉树的树形结构,子空间划分对象为全量训练数据的样本空间。
[0092]
步骤s31:将每个dpi的k维dpi特征形成全量训练样本数据d1,根据子空间连续划分策略,连续划分形成二叉树形状的子空间集;其中,每一个所述二叉树的两个树枝子空间的特征数为所述二叉树特征总数的1/2,且每一个节点子空间的特征为随机抽取。
[0093]
在本发明的实施例中,首先,对全量训练样本数据(记作d1)先使用有监督学习方法针对广告是否点击建立第零阶点击率预估模型,设该第零阶点击率预估模型为m1,第零点击率预估模型的训练误差为e1,第零阶点击率预估模型的训练样本的预测值为p1。
[0094]
步骤s32:根据子空间停止划分的策略,对每一个所述二叉树的两个节点子空间判断是否修剪其所属的两个树枝;最终形成最多具有n层(n1,n2

nn)树枝和总共具有m个子空间(m1,m2

mm)的二叉树;其中,m个子空间(m1,m2

mm)的模型为(m1,m2

mi

mm)。
[0095]
步骤s33:从第一层开始,采用有监督学习方法,使用全量训练样本数据d1针对广告是否点击建立点击率预估模型,得到相应的模型为m1,训练误差为e1,训练样本的预测值为p1;
[0096]
步骤s34:从第二层开始,采用有监督学习方法,对所述二叉树中的每一个子空间针对广告是否点击建立点击率预估模型,得到相应的模型为mi,训练误差为ei,训练样本的预测值为pi;其中,在训练中,上一层训练样本的预测值pi被加入到当前层的一个子空间的
特征中;
[0097]
步骤s35:以此类推,

,直到得到m个满足训练误差的预估模型。
[0098]
如图3所示,对全量训练样本数据d1随机选择50%的样本作为新的训练数据集作为第1阶的一个子空间,并将预测值p1作为新的特征加入到划分后的数据集中,记作d2;未被选中的训练样本数据记作d3,即剩下的50%的样本作为另一个第1阶的一个子空间。
[0099]
此时,数据集d2和数据集d3的样本组成的样本空间,即第1阶子空间,n阶表示样本空间进行了n次随机划分。数据集d2和数据集d3分别使用和数据集d1相同的有监督学习方法建立点击率预估模型,记作该第1阶点击率预估模型m2和m3。
[0100]
需要注意的是,数据集d2和数据集d3的样本数之和等于数据集d1的样本数,但是数据集d2和数据集d3的特征比数据集d1多了一个,即p1。通过模型m2和m3可以得到d2和d3的预测误差e2、e3以及对应的预测值p2和p3。
[0101]
此时,如果数据集d2继续按照50%的采样比例对样本空间进行划分,则p2作为新的特征加入到划分出来的子空间中。同理,数据集d3即第n阶子空间的特征维度是第n-1阶子空间特征维度加1,多出来的这个特征维度就是第n-1阶子空间下建立模型的训练样本预测值。
[0102]
由于子空间是连续划分的,所以第n阶子空间的样本必然被第n-1阶子空间样本所包含,不会出现第n阶子空间样本找不到第n-1阶子空间样本所建立模型对应预测值的问题。
[0103]
在本发明的实施例中,子空间并不是无限进行划分的。在子空间连续划分策略作为子空间停止划分的依据:
[0104]

、如果第n阶子空间的训练误差pn是第n-1阶子空间训练误差的a倍,此时不进行n阶子空间的继续划分。a的值可以根据实际建模和预测情况进行调整,保证在子空间连续划分和建模过程中,不会带来训练误差不收敛的情况;
[0105]

、如果在划分第n阶子空间后,子空间中样本数量少于设定阈值nmin,此时停止第n阶子空间的划分,以避免过少的样本参与点击率预估模型的建立带来的过拟合问题;
[0106]

、如果在划分第n阶子空间后,阶数n超过了设定阈值nmax,则停止第n阶子空间的划分,以避免过多的空间划分带来的过拟合问题;
[0107]

、如果在划分第n阶子空间后,建立的点击率预估模型数量超过了设定的模型最大数量mmax,则停止第n阶子空间的划分,减少模型过多才来的计算成本。
[0108]
也就是说,如果将子空间连续划分看作分类回归决策树的增长问题,则上述的子空间停止划分的依据则可以看作分类回归决策树的剪枝操作,来避免样本子空间的过度划分造成的模型过拟合。
[0109]
此外需要注意的是,本发明中对于样本子空间建立的点击率预估模型不做限制,其可以是逻辑回归、梯度提升决策树、支持向量机等有监督模型。另外,上述预测结果p1、p2等均为连续型数值作为特征,因此,在本发明实施例中的建模特征选择连续型数值特征。
[0110]
从上述可以看出,在如图3所示的子空间划分中,共建立了9个模型,其中包含1个全量训练数据建立的模型,2个1阶子空间下建立的模型,4个2阶子空间下建立的模型,和2个3阶子空间下建立的模型。
[0111]
预测步骤s4,其具体包括:
[0112]
步骤s41:获取拟对营销活动点击预测的用户群体和所述用户群体的用户原始数据信息,并从所述用户原始数据信息提取原始特征信息;其中,所述原始特征信息包括用户id、用户所在省份、用户所在城市、用户访问dpi、用户访问时间、设备类型和/或用户是否点击特征;其中,所述用户所在省份、用户所在城市、和用户访问dpi为类别特征,所述用户访问时间为连续特征,所述n大于等于2;
[0113]
步骤s42:对每一个所述用户的原始数据信息进行异常检测与处理步骤;通过独热编码对类别特征进行处理,根据业务需求及求解模型选择进行归一化后梯度下降处理,或利用rankgauss方法对连续特征进行调整样本分布处理;
[0114]
步骤s43:通过共现矩阵得到每个dpi的特征向量,之后对于每个待评估用户而言,将其访问的dpi对应的特征向量取均值,得到k维dpi特征;
[0115]
步骤s44:提供建立训练好的m个满足训练误差的预估模型,依次输入m个预估模型,每个待评估用户的k维dpi特征,得到m个预测结果,最后对这m个预测结果取均值,得到拟对营销活动点击预测的用户群体中所有所述用户的预测值;其中,所述用户的模型预测值为所述用户的点击意愿度。
[0116]
也就是说,本发明策略的预测问题,假设已经在各个子空间内建立了m个模型,则按照模型建立的顺序,依次将待预测样本带入模型中进行预测,得到m个预测结果,最后对这m个预测结果取均值即为待预测样本的预测值。
[0117]
步骤s45:根据实际投放需求,选择全部或部分所述用户的模型预测值集中点击意愿度为1的用户进行精准营销的任务。
[0118]
结果表明,通过本发明的上述特征筛选方案,对某实际点击率预估数据进行了相关实验,有效实现了通过构造阴影特征对于原特征进行筛选;筛选后的特征显著降低了树模型的过拟合风险,提升了用户点击率预测的结果。
[0119]
以上所述的仅为本发明的优选实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献