一种基于注意力机制和强化学习的自动特征构造方法与流程

文档序号:24179988发布日期:2021-03-09 11:38阅读:173来源:国知局
一种基于注意力机制和强化学习的自动特征构造方法与流程

1.本发明涉及一种自动特征构造方法,具体涉及一种基于注意力机制和强化学习的自动特征构造方法,属于自动机器学习技术领域。


背景技术:

2.近年来自动机器学习本身已成为机器学习的新子领域,机器学习的每个步骤都可以向着自动化方向发展,其中模型选择和超参数优化方面的研究专家们已经提出了比较成熟可用的框架,一般的分类或者回归的机器学习模型已经实现了低门槛或者零门槛甚至免费建模的程度。如今,特征工程是工业界应用ai的难关之一,特征的质量是后续学习模型性能的最重要的基础。
3.由于原始特征很少会产生令人满意的结果,因此经常需要执行手动特征生成以更好地表示数据并提高学习性能。但是,这通常是繁琐且难以泛化的工作,从而激发了自动特征生成相关的研究工作。大多数自动特征生成的早期工作通过严格预定义的方法经过组合变换来生成特征,使得方法可扩展性差;后来出现基于深度学习的方法以隐式方式学习高阶的特征交叉,但模型又缺乏可解释性。
4.针对上述存在的问题,本发明提出了一种基于注意力机制和强化学习的自动特征构造方法tidekit。该方法可以自动学习输入特征的高阶相互作用,同时可广泛应用于特征为数值型的分类问题,并且具有良好的模型可解释性。


技术实现要素:

5.技术问题:
6.本发明的目的在于解决现有自动特征生成技术中存在的不足,提供一种基于注意力机制和强化学习的自动特征构造方法。
7.技术方案:
8.本发明所述的一种基于注意力机制和强化学习的自动特征构造方法,依次包括以下步骤:
9.(1)给定分类问题的数据集d
tr
,包含一个数值型特征集合s,设置参数最大迭代次数maxiterations,嵌入尺寸embeddingsize的取值;
10.(2)将数据集和参数传入tidekit模型,运行模型得到分类结果,该算法的具体内容为:
11.(21)基于自注意力机制的自动特征生成方法,具体实现于模型的交互层中。对于每个交互层,高阶特征通过自注意力机制进行组合,使用自注意力得分评估不同种类的组合;通过堆叠多个交互层,对组合的原始特征的不同顺序进行建模。
12.(22)基于强化学习的自动特征选择方法,将特征选择过程转换为马尔可夫决策过程,基于策略梯度并行地评估出每个特征的候选概率,通过迭代不断探索与利用所生成的特征,在有限步骤内以全局最优的特征生成和选择方案指导测试集的特征生成。
13.进一步的,所述步骤(21)的详细内容为:在模型的特征交互层中,以自注意力得分评估不同种类的特征组合,将其作为特征交互的权重,提供了特征生成阶段的可解释性;以堆叠交互层的形式完成对不同组合顺序的特征交互,提供了特征生成阶段的可扩展性,且该过程是完全自动化的。
14.进一步的,所述步骤(22)的详细内容为:将特征选择过程转换为马尔可夫决策过程,并且对此过程建立动态的自动调整机制——在元学习阶段根据数据集的特征来预热系统,以及在特征选择的迭代过程中根据期望奖励差的差异化奖励表征,以此优化迭代效率。
15.有益效果:
16.本发明提供面向数值型特征的分类问题的自动特征构造,该方法包含基于自注意力机制的特征生成器和基于强化学习的特征选择器,通过迭代不断探索与利用所生成的特征,在有限步骤内以全局最优的特征生成和选择方案指导测试集的特征生成,从而自动得到最优的分类结果。具体包括以下优点:
17.(1)提出基于自注意力机制的自动特征生成方法,以自注意力得分评估不同种类的组合,并以堆叠交互层的形式完成对不同组合顺序的特征交互,分别提供了特征生成阶段的可解释性与可扩展性,且该过程是完全自动化的,无需人为操作;
18.(2)提出基于强化学习的自动特征选择方法,将特征选择过程转换为马尔可夫决策过程,基于策略梯度并行地评估出每个特征的候选概率,因此特征选择过程是高效的;此外,后续所建立动态的自动调整机制(自适应收敛方法)优化了迭代效率。
附图说明
19.图1为本发明中tidekit模型的框架图。
20.图2为实施例1中特征粒度级的可解释性实验结果图。
21.图3为实施例2中特征值粒度级的可解释性实验结果图。
22.图4为实施例5中模型添加收敛性算法前后的对照实验结果图。
具体实施方式
23.下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
24.本发明提出的tidekit模型首先将原始数据集划分成训练集和测试集,原始特征通过相同的嵌入层映射成稠密向量。训练集的嵌入向量首先经由特征生成器和特征选择器得出一组新特征,在特征选择时记录下这组被选择的特征序号。然后将被选择的特征馈入分类器,分类器给出本轮打分结果,本轮得分将馈入下一轮的特征选择器,指导下一轮特征生成与选择的进行,迭代直至达到最大迭代次数,最终输出记录下的特征序号列表与对应的打分结果。循环特征生成器将之前记录下的特征序号列表以及训练集和测试集的原始特征作为输入,以全局最优的打分结果所对应的特征序号组(从初始到最优的轮次),指导生成训练集和测试集的特征。最后,把这组新特征馈入与训练阶段相同的分类器,分类器给出最终得分。
25.tidekit模型包括特征生成和特征选择两个方面,具体包括:
26.(1)基于自注意力神经网络的特征生成
27.首先,预先将所有特征(即连续、离散、多值)根据值排序统一映射为连续编码。接着,投影到同一低维空间的嵌入层。然后,将所有字段的嵌入信息馈送到一个新颖的交互层中,该层被实现为自注意力(self

attention)神经网络。对于每个交互层,高阶特征通过注意力机制进行组合,并且可以使用自注意力得分评估不同种类的组合。通过堆叠多个交互层,可以对组合的原始特征的不同顺序进行建模。最终交互层的输出是一组特征向量,该向量包含原始嵌入特征和通过注意力机制学习的组合特征。
28.输入层:首先将输入特征表示为稀疏矢量,即所有字段的串联:
29.x=[x1;x2;...;x
i
;...;x
n
],i=1,2,...,n
ꢀꢀ
(1)
[0030]
其中n是总特征字段的数量,x
i
是第i字段的特征表示。无论x
i
是连续还是离散值或多值特征的其中一个值,都预先根据值排序统一映射到一个0至类别数

1之间的连续编码(如图3),缺失值以相同数值作独立编码。
[0031]
嵌入层:连续值与离散值特征通过嵌入矩阵进行映射完成嵌入:
[0032]
e
i
=v
i
x
i
,i∈{1,2,...n}
ꢀꢀ
(2)
[0033]
其中x
i
是该特征的标量值,v是嵌入矩阵,v
i
是特征x
i
的嵌入向量。多值特征通过嵌入矩阵映射后累加完成嵌入:
[0034][0035]
其中x
i
是该特征的多值标量表示,l是x
i
的长度(值的数量)。
[0036]
交互层:高阶组合特征建模的关键在于确定应组合哪些特征以形成有意义的高阶特征。传统上,这是由领域专家根据他们的知识创建有意义的组合来完成的。在本发明中我们采用自注意力机制来确定哪些特征组合有意义。下面以特征i为例,来说明如何识别与特征i相关的多个有意义的高阶特征。我们首先在定义特征i和特征j之间的相关性:
[0037][0038]
其中ψ(
·

·
)用于定义特征i和特征j之间的相似度,它可以定义为神经网络,也可以简单地定义为内积,即<
·

·
>。在本文中,由于内积的简单性和有效性,我们使用内积。
[0039]
接下来,我们通过组合由系数α
i
引导的所有相关特征{e1,e2,...,e
n
}来生成关于特征e
i
的高一阶空间中的特征,表示为:
[0040][0041]
通过这样的交互层,每个特征e
i
的表示将被更新为新的特征表示它是高阶特征的表示。此外,一个特征也可能涉及不同的组合特征,我们可以将多个这样的层堆叠在一起,将上一个交互层的输出作为下一个交互层的输入,从而实现对任意顺序的组合特征建模。
[0042]
输出层:交互层输出的是一组特征向量该向量包含原始嵌入特征以及通过自注意力学习的组合特征,后经特征选择控制器的影响下,最终输出一组特征向量
[0043]
(2)基于强化学习的特征选择
[0044]
当我们遍历执行一次上一节所述的高阶组合,会得到如下一组高阶特征:
[0045][0046]
这里我们将特征选择过程转换为马尔可夫决策过程(mdp)(s,a,p,r,ρ0,γ):
[0047]
·
s:描述特征信息的连续状态空间,长度为2n;
[0048]
·
a:一个独立的行动空间,即选择一组候选特征馈入分类器,长度为n;
[0049]
·
p:s
×
a
×
s

r是状态转移概率;
[0050]
·
r:s
×
a

r是奖励函数,其中r(s,a)是通过在状态s执行动作a获得的直接奖励(训练集精度);
[0051]
·
ρ0是初始状态分布;
[0052]
·
γ是未来奖励的折扣因子。
[0053]
原始嵌入向量与第一次高阶组合后生成的向量拼接后得到:
[0054][0055]
具体地,我们将初始状态s0定义为这组向量的初始权重:
[0056][0057]
我们寻求一个策略π(a|s),从特征集s∈s中选取候选集a∈a,以最大化自动特征工程系统获得的预期累积奖励:
[0058][0059][0060]
其中t代表模型迭代的当前轮次。
[0061]
期望奖励来自于根据策略s0~ρ0,a
t
~π(
·
|s
t
),s
t+1
~p(s
t
,a
t
)获得的轨迹τ=(s0,a0,s1,...)。
[0062]
具体地,我们最终softmax输出n=2n个特征的选择概率,基于概率随机选择出包含n个特征地候选集馈入分类器训练,训练精度将作为奖励的主要参考依据。
[0063]
完成本轮迭代后,我们将基于当前被选择的特征集合,再次高阶组合出包含n个新特征的集合,馈入下一次迭代。目前已有很多不同的方法可用于解决这样的强化学习问题,例如 q学习(q

learning)和策略梯度(policy gradient)方法。reinforce算法是一种基于策略梯度的方法,其并行式的结构在策略更新时相对q学习等基于值函数的方法更加高效,因此本发明采用了这种方法。
[0064]
我们假设策略π
θ
的函数形式由参数化。由于“log

trick”,可以通过分析得出预期累积回报相对于策略参数的梯度:
[0065][0066]
这里的策略梯度是根据所考虑的策略产生的轨迹在线计算的,即策略梯度的估计是无偏的,因此可分解为:
[0067][0068]
在t时刻,我们将r(τ)替换为带折扣的未来奖励r
t
以减少梯度估计的方差:
[0069][0070]
其中r
t
为模型在第t次迭代时获得的直接奖励。
[0071]
(3)基于元特征的热启动
[0072]
针对传统强化学习模型需要长时间训练才能收敛的问题,我们实际会结合标签信息进行一次基于元特征的热启动。具体地,对于每次新生成的特征向量我们将其元特征定义为特征相对标签的辨识度,作为模型的初始状态,这样可以使得模型更快收敛,从而加快训练速度。
[0073]
(4)奖励的差异化表征
[0074]
对于强化学习控制器的第t轮输入向量表示s
t
,包含了这组特征的元特征信息,同时亦为一组权值分布,代表了每个特征对下一轮交互后所获得的团队奖励的期望贡献值。
[0075]
s
t
={ω
1,t
,ω
2,t
,...,ω
n,t
},n=2n
ꢀꢀ
(13)
[0076]
强化学习控制器将学习这组元特征的交互关系,输出一组内部奖励值:
[0077][0078]
以这组内部期望回报值作为特征被选择的概率,基于概率选择n个特征,即t时刻的行动:
[0079]
a
t
={e
1,t
,e
2,t
,..,e
n,t
}
ꢀꢀ
(15)
[0080]
更新下一轮交互后所获得的团队奖励的期望贡献值:
[0081][0082]
其中r
ex
为外部团队奖励,r
in
为内部奖励(即内部期望回报值),λ是一个平衡外部团队奖励和内部奖励的权重。于是我们得到:s
t+1
={ω
1,t+1
,ω
2,t+1
,...,ω
n,t+1
}
ꢀꢀ
(17)
[0083]
拼接下一轮热启动后的新特征向量的元特征,(0,1)标准化后最终得到下一轮期望贡献值:s
t+1
={ω
1,t+1
,ω
2,t+1
,...,ω
n,t+1
},n=2n
ꢀꢀ
(18)
[0084]
实施例1:
[0085]
推荐系统通常需要满足推荐解释性,即在为用户提供推荐的同时,给出推荐的理由。因此推荐系统数据集很适合验证模型的可解释性,本发明以推荐领域相关实验中常用的 movielens

1m数据集为例进行实验。movielens

1m数据集含有来自6000名用户对4000部电影的100万条用户对电影的评分数据,其详细统计信息见表1。
[0086]
表1 movielens

1m数据集的统计信息
[0087][0088]
本发明基于特征在全局数据中的相似性自动学习特征组合。具体地,本发明根据特征字段在整个数据中的平均注意力得分来测量它们之间的相关性,这些相关性是通过注意力得分获得的。颜色深浅代表纵轴元素在横轴元素下的注意力得分,颜色越深代表数值越大。不同特征之间的相关性汇总到图2中。
[0089]
本发明可以看到,<性别,职业>,<年龄,流派>(即实线矩形)密切相关,符合推荐系统中常规的特征组合方式。此外,基于模型方法通过对数据建模还挖掘出了人工难以发现
的特征组合,如<日期,职业>,<日期,邮编>的组合(即虚线矩形)。具体来说,模型挖掘出地职业与日期(工作日/休息日)的关系可使推荐系统在给不同职业人群推荐电影时能够结合日期信息(例如在休息日推荐电影有助于提高系统转化率);邮编代表所属地区,而地区通常会有一些特色活动日,模型挖掘出的邮编与日期的信息提高了推荐系统对特殊日期的关注程度,从而提高转化率。以上这些通常需要人工基于大量的实验才能挖掘出来,而本发明的模型从数据出发做到了完全的自动化。
[0090]
实施例2:
[0091]
相比人工挖掘特征组合,本发明的模型做到了更细粒度的特征组合,且过程是完全透明的。图3展示了输入特征的不同特征值之间的相关性,这些相关性是通过注意力得分获得的。颜色深浅代表纵轴元素在横轴元素下的注意力得分,颜色越深代表数值越大。
[0092]
从图3中可分析出本发明所提出的基于自注意力机制的自动特征生成方法能够识别有意义的组合特征<gender=female,age=[18

24],occupation=college/grad student,genres=romance>(即实线矩形)。这是非常合理的,因为年轻的女大学生很可能更喜欢浪漫流派的电影。一般而言,高阶的特征组合对于人工方法来说是困难的,需要花费大精力与经验才能挖掘出特征的高阶组合,而本发明基于自注意力机制的特征交互实现了高阶特征的自动显式组合。
[0093]
实施例3:
[0094]
由于svm小样本学习方法的特性,实验数据选用4个样本量较小的公开的有监督分类数据集。表1中汇总了这些数据集的统计信息,这些数据集所包含的实例数量、特征数量、类别不平衡情况均不一致。所有数据集都可在openml库(http://www.openml.org/home)中获得。
[0095]
表1机器学习方法对比实验的数据集的统计信息
[0096][0097]
模型仅有两个超参数:最大迭代轮数设置为10,嵌入尺寸设置为3。所有实验均以5折交叉验证后的平均值作为最终结果,表2给出了实验结果。
[0098]
表2机器学习方法对比(基于svm分类器)
[0099]
[0100]
从表2中可分析出相比于其他三种方法通过严格预定义的方法组合变换来生成特征的策略,本发明基于批次的堆叠式生成高阶特征的算法框架在一定程度上提高了特征生成过程的扩展性,因此在4个数据集上的表现均优于其他方法。
[0101]
实施例4:
[0102]
本次实验数据采用与对比算法中最新方法autoint所使用的4个公开的真实世界数据集相同。表3中汇总了这些数据集的统计信息,这些数据集所包含的实例数量、特征数量、类别不平衡情况均不一致。
[0103]
表3深度学习方法对比实验的数据集的统计信息
[0104][0105]
其中,movielens

1m数据集包含用户对电影的评分。在二值化期间,本发明将评分大于 3的样本视为正样本,其余为负样本;kdd12数据集由kddcup 2012发布,本次实验将其视为二分类问题,对于点击次数大于0时为正样本,反之为负样本;avazu该数据集包含用户的移动行为,包括用户是否点击了所显示的移动广告,它具有23个特征字段;criteo是ctr预测的基准数据集,它包含26个离散特征字段和13个连续特征字段。
[0106]
对于tidekit和所有基线方法,嵌入尺寸设置为16,最大迭代轮数设置为10。神经网络分类器训练的最大迭代轮数视训练情况而定,表4给出了实验结果。
[0107]
表4深度学习方法对比(基于神经网络分类器)
[0108][0109]
从表4中可分析出本发明的方法tidekit表现在实验中总体上优于其他方法,除了在avazu数据集上性能表现不如cin方法,原因在于cin将特征交互最高阶数设置为超参数,对于不同的数据集的训练增加了可调整性,而本发明的方法为了尽量减少超参数与降低使用门槛,在设计上不支持人为指定特征交互的最高阶数。
[0110]
实施例5:
[0111]
为了探究本发明提出的基于元特征的热启动以及奖励的差异化表征方法的有效性,我们对于每个数据集取了10次不同的随机种子进行添加自适应收敛性算法的前后对照实验。强化学习方法使用全局最大奖励(训练得分)所在轮次及之前的特征生成与选择序列来指导测试集的特征生成,所以我们将到达最大奖励的所需轮次的平均值记录下来,汇总
到了图4。从图中可知,在8个数据集的实验中添加了本发明提出的自适应收敛性算法后,到达最大奖励的所需轮次平均减少了0.6个轮次,且当数据集越大时,效果越明显。
[0112]
通过上述实施例可以看出,本发明提出的tidekit模型可以以显式方式自动学习并生成高阶特征交叉,并基于强化学习控制器指导特征选择。tidekit可广泛应用于多种数值型特征例如连续特征、离散特征和多值特征,亦不限于严格意义上的数值,比如离散的字符型标识的特征等。模型内部通过迭代不断探索与利用所生成的特征,在有限步骤内以全局最优的特征生成和选择方案指导测试集的特征生成,从而自动得到最优的分类结果。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1