著录项信息
专利名称 | 一种针对在线预测任务的GBDT学习方法 |
申请号 | CN202011187707.X | 申请日期 | 2020-10-30 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2021-01-08 | 公开/公告号 | CN112200316A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06N3/08 | IPC分类号 | G;0;6;N;3;/;0;8;;;G;0;6;N;5;/;0;0查看分类表>
|
申请人 | 福州大学 | 申请人地址 | 福建省泉州市晋江市金井镇水城路1号福州大学晋江科教园
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 福州大学 | 当前权利人 | 福州大学 |
发明人 | 林志贤;庄跃生;张永爱;周雄图;林珊玲 |
代理机构 | 福州元创专利商标代理有限公司 | 代理人 | 暂无 |
摘要
本发明涉及一种针对在线预测任务的GBDT学习方法,筛选符合决策树模型训练的数据特征,并输入单棵决策树中训练,对决策树模型的超参数进行微调,根据分类准确率得出最佳超参数,再重新训练决策树模型聚类输出对应的叶子索引;利用两层全连接层将高维稀疏的叶子索引向量嵌入成低维密集向量,再利用深度神经网络拟合低维密集向量,从而完成单棵决策树模型蒸馏为神经网络的过程;最后将GBDT多棵决策树随机划分多组,每组决策树输出的叶子索引向量进行拼接,同组决策树用相同神经网络拟合拼接后叶子索引的低维密集向量,重复多组树的训练,使GBDT完整蒸馏构造为神经网络。本发明能够改善GBDT树模型对表格数据空间的训练学习效果,又能保持高效在线更新能力。
1.一种针对在线预测任务的GBDT学习方法,其特征在于,将数据集进行预处理,筛选符合决策树模型训练的数据特征,并输入单棵决策树中训练,利用Hyperband算法对决策树模型的超参数进行微调,根据分类准确率得出最佳超参数,之后重新训练决策树模型聚类输出对应的叶子索引;利用两层全连接层将高维稀疏的叶子索引向量嵌入成低维密集向量,再利用深度神经网络拟合低维密集向量,从而完成单棵决策树模型蒸馏为神经网络的过程;最后将GBDT多棵决策树随机划分多组,每组决策树输出的叶子索引向量进行拼接,同组决策树用相同神经网络拟合拼接后叶子索引的低维密集向量,重复多组树的训练,使GBDT完整蒸馏构造为神经网络。
2.根据权利要求1所述的一种针对在线预测任务的GBDT学习方法,其特征在于,所述将数据集进行预处理,筛选符合决策树模型训练的数据特征,并输入单棵决策树中训练具体为:
将输入数据根据特征类型划分为类别特征部分和数值特征部分,将类别特征按照编码方式转化为独热编码;设定缺失值数量的阈值,筛选数据集中符合该阈值的数据特征;再将清洗后数据输入决策树模型训练,根据信息增益的计算,划分树模型内部节点直到叶子节点处输出对应的聚类结果。
3.根据权利要求1所述的一种针对在线预测任务的GBDT学习方法,其特征在于,所述利用Hyperband算法对决策树模型的超参数进行微调,根据分类准确率得出最佳超参数,之后重新训练决策树模型聚类输出对应的叶子索引具体为:
用Hyperband算法对决策树模型调参,根据总预算资源B和预设超参数组数n,则每组超参数分配资源B/n,反复迭代训练决策树模型,每次训练淘汰固定比例η的超参数组,余下超参数组分配最大预算表示为r:
‑S
r=Rη
式中,s表示控制预算大小,其中模型迭代次数表示为(0,....s);R表示每组超参数组合可分配最多资源;
每次训练淘汰一批超参数组,可分配预算r随之增加,最后得到一组能够分配整部分预算资源r超参数,使决策树模型聚类准确率最佳;
利用调参后的决策树模型输出叶子索引L。
4.根据权利要求1所述的一种针对在线预测任务的GBDT学习方法,其特征在于,所述利用两层全连接层将高维稀疏的叶子索引向量嵌入成低维密集向量,再利用深度神经网络拟合低维密集向量,从而完成单棵决策树模型蒸馏为神经网络的过程具体为:
t
利用参数为W的两层全连接网络拟合叶子索引L,输出低维密集向量表示为H:
t
H(L,W);
用深度神经网络N拟合叶子索引L对应叶子值P,进一步对H优化,其中低维密度向量优化过程的损失函数表示为:
T
minLoss(N(wH+w0),p);
T
式中,式中Loss表示损失函数,w 和w0为映射H到P的神经网络N的参数,p表示叶子值;在T
目标函数minLoss(N(wH+w0),p)收敛情况下,完成叶子索引L到低维向量H的映射,减少输出叶子节点个数,得到优化后的低维向量H;
用DNN拟合优化后的低维向量H,拟合过程的目标函数表示为:
minLoss_D(DNN(x;θ),H);
式中x是神经网络DNN输入的数据特征,与决策树训练所输入的特征一致,都是经过特征选择过程得到的,θ为DNN的网络参数,Loss_D是交叉熵损失函数;
训练DNN直至Loss_D(DNN(x;θ),H)达到收敛,完成单棵树蒸馏为神经网络的过程。
5.根据权利要求1所述的一种针对在线预测任务的GBDT学习方法,其特征在于,所述将GBDT多棵决策树随机划分多组,每组决策树输出的叶子索引向量进行拼接,同组决策树用相同神经网络拟合拼接后叶子索引的低维密集向量,重复多组树的训练,使GBDT完整蒸馏构造为神经网络具体包括以下步骤:
根据随机分组原则,将GBDT中多棵树划分为K组,每组共用一个神经网络模型训练,将每组树输出叶子索引L进行拼接得到向量G:
G=∑H;
对于一组决策树的蒸馏,重复单棵决策树模型蒸馏为神经网络的过程,将其中的低维密度向量优化过程的训练损失函数重写为:
T
minLoss(N(w∑H+w0),∑P);
式中,∑P是叶子索引∑H对应叶子值的拼接数值;将拟合过程的目标函数重写为:
minLoss_D(DNN(x;θ),∑H);
由此完成一组决策树的蒸馏,输出聚类结果y;
对K组决策树进行同样的操作,完成整个GBDT模型蒸馏构造过程,树状神经网络模型输出就是多组树输出之和∑y。
6.一种针对在线预测任务的GBDT学习系统,其特征在于,包括存储器、处理器以及存储在存储器上并能够被处理器运行的计算机程序,当处理器运行该计算机程序时能够实现如权利要求1‑5任一项所述的方法步骤。
7.一种计算机可读存储介质,其特征在于,其上存储有能够被处理器运行的计算机程序,当处理器运行该计算机程序时,能够实现如权利要求1‑5任一项所述的方法步骤。
一种针对在线预测任务的GBDT学习方法\n技术领域\n[0001] 本发明涉及推荐系统设计技术领域,特别是一种针对在线预测任务的GBDT学习方法。\n背景技术\n[0002] 推荐系统中的在线预测任务存在表格数据空间和在线数据流两种特征。表格数据空间指数据特征同时包含类别和数值特征,在线数据生成代表任务实际数据实时生成呈动态分布。\n[0003] 目前GBDT模型在处理在线预测任务时,能够有效地处理密集的数值特征,并且需要大量的离线数据训练。但GBDT中的学习树不可微,在线模式下无法更新树模型;频繁的从头开始训练树模型使其无法处理大规模数据;而且树模型在稀疏类别特征上学习效率极低,使用标签编码或类别编码等方式将类别特征处理成连续特征会丢失数据中有用的特征信息。\n发明内容\n[0004] 有鉴于此,本发明的目的是提出一种针对在线预测任务的GBDT学习方法,能够改善GBDT树模型对表格数据空间的训练学习效果,又能保持高效在线更新能力。\n[0005] 本发明采用以下方案实现:一种针对在线预测任务的GBDT学习方法,具体为:将数据集进行预处理,筛选符合决策树模型训练的数据特征,并输入单棵决策树中训练,利用Hyperband算法对决策树模型的超参数进行微调,根据分类准确率得出最佳超参数,之后重新训练决策树模型聚类输出对应的叶子索引;利用两层全连接层将高维稀疏的叶子索引向量嵌入成低维密集向量,再利用深度神经网络拟合低维密集向量,从而完成单棵决策树模型蒸馏为神经网络的过程;最后将GBDT多棵决策树随机划分多组,每组决策树输出的叶子索引向量进行拼接,同组决策树用相同神经网络拟合拼接后叶子索引的低维密集向量,重复多组树的训练,使GBDT完整蒸馏构造为神经网络。\n[0006] 进一步地,所述将数据集进行预处理,筛选符合决策树模型训练的数据特征,并输入单棵决策树中训练具体为:\n[0007] 将输入数据根据特征类型划分为类别特征部分和数值特征部分,将类别特征按照编码方式转化为独热编码;设定缺失值数量的阈值,筛选数据集中符合该阈值的数据特征;\n再将清洗后数据输入决策树模型训练,根据信息增益的计算,划分树模型内部节点直到叶子节点处输出对应的聚类结果。\n[0008] 进一步地,所述利用Hyperband算法对决策树模型的超参数进行微调,根据分类准确率得出最佳超参数,之后重新训练决策树模型聚类输出对应的叶子索引具体为:\n[0009] 用Hyperband算法对决策树模型调参,根据总预算资源B和预设超参数组数n,则每组超参数分配资源B/n,反复迭代训练决策树模型,每次训练淘汰固定比例η的超参数组,余下超参数组分配最大预算表示为r:\n[0010] r=Rη‑S\n[0011] 式中,s表示控制预算大小,其中模型迭代次数表示为(0,....s);R表示每组超参数组合可分配最多资源;\n[0012] 每次训练淘汰一批超参数组,可分配预算r随之增加,最后得到一组能够分配整部分预算资源r超参数,使决策树模型聚类准确率最佳;\n[0013] 利用调参后的决策树模型输出叶子索引L。\n[0014] 进一步地,所述利用两层全连接层将高维稀疏的叶子索引向量嵌入成低维密集向量,再利用深度神经网络拟合低维密集向量,从而完成单棵决策树模型蒸馏为神经网络的过程具体为:\n[0015] 利用参数为Wt的两层全连接网络拟合叶子索引L,输出低维密集向量表示为H:\n[0016] H(L,Wt);\n[0017] 用深度神经网络N拟合叶子索引L对应叶子值P,进一步对H优化,其中低维密度向量优化过程的损失函数表示为:\n[0018] minLoss(N(wTH+w0),p);\n[0019] 式中,式中wT和w0为映射H到P的神经网络N的参数,p表示叶子值;在目标函数T\nminLoss(N(wH+w0),p)收敛情况下,完成叶子索引L到低维向量H的映射,减少输出叶子节点个数,得到优化后的低维向量H;\n[0020] 用DNN拟合优化后的低维向量H,拟合过程的目标函数表示为:\n[0021] minLoss_D(DNN(x;θ),H);\n[0022] 式中x是神经网络DNN输入的数据特征,与决策树训练所输入的特征一致,都是经过特征选择过程得到的,θ为DNN的网络参数,Loss_D是交叉熵损失函数;\n[0023] 训练DNN直至Loss_D(DNN(x;θ),H)达到收敛,完成单棵树蒸馏为神经网络的过程。\n[0024] 进一步地,所述将GBDT多棵决策树随机划分多组,每组决策树输出的叶子索引向量进行拼接,同组决策树用相同神经网络拟合拼接后叶子索引的低维密集向量,重复多组树的训练,使GBDT完整蒸馏构造为神经网络具体包括以下步骤:\n[0025] 根据随机分组原则,将GBDT中多棵树划分为K组,每组共用一个神经网络模型训练,将每组树输出叶子索引L进行拼接得到向量G:\n[0026] G=∑H;\n[0027] 对于一组决策树的蒸馏,重复单棵决策树模型蒸馏为神经网络的过程,将其中的低维密度向量优化过程的训练损失函数重写为:\n[0028] minLoss(N(wT∑H+w0),∑P);\n[0029] 式中,∑P是叶子索引∑H对应叶子值的拼接数值;将拟合过程的目标函数重写为:\n[0030] minLoss_D(DNN(x;θ),∑H);\n[0031] 由此完成一组决策树的蒸馏,输出聚类结果y;\n[0032] 对K组决策树进行同样的操作,完成整个GBDT模型蒸馏构造过程,树状神经网络模型输出就是多组树输出之和∑y。\n[0033] 本发明还提供了一种针对在线预测任务的GBDT学习系统,包括存储器、处理器以及存储在存储器上并能够被处理器运行的计算机程序,当处理器运行该计算机程序时能够实现如上文所述的方法步骤。\n[0034] 本发明还提供了一种计算机可读存储介质,其上存储有能够被处理器运行的计算机程序,当处理器运行该计算机程序时,能够实现如上文所述的方法步骤。\n[0035] 与现有技术相比,本发明有以下有益效果:本发明能够改善GBDT处理在线预测任务中类别特征的学习问题,对不断生成的动态数据可以有效实现在线更新。\n附图说明\n[0036] 图1为本发明实施例的方法流程示意图。\n[0037] 图2为本发明实施例的原理图。\n具体实施方式\n[0038] 下面结合附图及实施例对本发明做进一步说明。\n[0039] 应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。\n[0040] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。\n[0041] 如图1所示,本实施例提供了一种针对在线预测任务的GBDT学习方法,具体为:将数据集进行预处理,筛选符合决策树模型训练的数据特征,并输入单棵决策树中训练,利用Hyperband算法对决策树模型的超参数进行微调,根据分类准确率得出最佳超参数,之后重新训练决策树模型聚类输出对应的叶子索引;利用两层全连接层将高维稀疏的叶子索引向量嵌入成低维密集向量,以此减少树结构输出叶子节点个数,再利用深度神经网络拟合低维密集向量,从而完成单棵决策树模型蒸馏为神经网络的过程;最后将GBDT多棵决策树随机划分多组,每组决策树输出的叶子索引向量进行拼接,同组决策树用相同神经网络拟合拼接后叶子索引的低维密集向量,重复多组树的训练,使GBDT完整蒸馏构造为神经网络。\n[0042] 图2是神经网络蒸馏构造为树结构模型的示意图。首先深度神经网络N拟合低维密T\n集向量,利用损失函数minLoss(N(w H+w0),p)去优化神经网络N对叶子值的拟合效果,进一步的完成叶子索引L到低维向量H的映射,减少输出叶子节点个数,得到优化后的低维向量H;然后用DNN拟合优化后的低维向量H,通过训练损失函数minLoss_D(DNN(x;θ),H)从而完成决策树蒸馏为神经网络的过程。\n[0043] 在本实施例中,所述将数据集进行预处理,筛选符合决策树模型训练的数据特征,并输入单棵决策树中训练具体为:\n[0044] 将输入数据根据各个特征列的缺失值数目、特征类型、方差,进行数据清洗,之后输入决策树模型中训练,得出树模型对数据不同的聚类结果。具体的,将输入数据根据特征类型划分为类别特征部分和数值特征部分,将类别特征按照编码方式转化为独热编码;设定缺失值数量的阈值,筛选数据集中符合该阈值的数据特征;再将清洗后数据输入决策树模型训练,根据信息增益的计算,划分树模型内部节点直到叶子节点处输出对应的聚类结果。\n[0045] 在本实施例中,所述利用Hyperband算法对决策树模型的超参数进行微调,根据分类准确率得出最佳超参数,之后重新训练决策树模型聚类输出对应的叶子索引具体为:\n[0046] 用Hyperband算法对决策树模型调参,根据总预算资源B和预设超参数组数n,则每组超参数分配资源B/n,超参数组采样方式为均匀采样;反复迭代训练决策树模型,每次训练淘汰固定比例η效果较差的超参数组,余下超参数组分配最大预算表示为r:\n[0047] r=Rη‑S\n[0048] 式中,s表示控制预算大小,其计算过程可表示s=logη(R),其中模型迭代次数表示为(0,....s);R表示每组超参数组合可分配最多资源;\n[0049] 每次训练淘汰一批超参数组,可分配预算r随之增加,最后得到一组能够分配整部分预算资源r超参数,使决策树模型聚类准确率最佳;\n[0050] 利用调参后的决策树模型输出叶子索引L。\n[0051] 在本实施例中,所述利用两层全连接层将高维稀疏的叶子索引向量嵌入成低维密集向量,再利用深度神经网络拟合低维密集向量,从而完成单棵决策树模型蒸馏为神经网络的过程具体为:\n[0052] 利用参数为Wt的两层全连接网络拟合叶子索引L,输出低维密集向量表示为H:\n[0053] H(L,Wt);\n[0054] 用深度神经网络N拟合叶子索引L对应叶子值P,进一步对H优化,其中低维密度向量优化过程的损失函数表示为:\n[0055] minLoss(N(wTH+w0),p);\n[0056] 式中,式中wT和w0为映射H到P的神经网络N的参数,p表示叶子值;在目标函数T\nminLoss(N(wH+w0),p)收敛情况下,完成叶子索引L到低维向量H的映射,减少输出叶子节点个数,得到优化后的低维向量H;\n[0057] 用DNN拟合优化后的低维向量H,拟合过程的目标函数表示为:\n[0058] minLoss_D(DNN(x;θ),H);\n[0059] 式中x是神经网络DNN输入的数据特征,与决策树训练所输入的特征一致,都是经过特征选择过程得到的,θ为DNN的网络参数,Loss_D是交叉熵损失函数;\n[0060] 训练DNN直至Loss_D(DNN(x;θ),H)达到收敛,完成单棵树蒸馏为神经网络的过程。\n整个神经网络具有树系模型的特征,如特征选择、特征重要性、自动搜索模型最佳超参数等知识。\n[0061] 在本实施例中,所述将GBDT多棵决策树随机划分多组,每组决策树输出的叶子索引向量进行拼接,同组决策树用相同神经网络拟合拼接后叶子索引的低维密集向量,重复多组树的训练,使GBDT完整蒸馏构造为神经网络具体包括以下步骤:\n[0062] 根据随机分组原则,将GBDT中多棵树划分为K组,每组共用一个神经网络模型训练,将每组树输出叶子索引L进行拼接得到向量G:\n[0063] G=∑H;\n[0064] 对于一组决策树的蒸馏,重复单棵决策树模型蒸馏为神经网络的过程,将其中的低维密度向量优化过程的训练损失函数重写为:\n[0065] minLoss(N(wT∑H+w0),∑P);\n[0066] 式中,∑P是叶子索引∑H对应叶子值的拼接数值;将拟合过程的目标函数重写为:\n[0067] minLoss_D(DNN(x;θ),∑H);\n[0068] 由此完成一组决策树的蒸馏,输出聚类结果y;\n[0069] 对K组决策树进行同样的操作,完成整个GBDT模型蒸馏构造过程,树状神经网络模型输出就是多组树输出之和∑y。\n[0070] 较佳的,在本实施例中,整个树状神经网络可以对在线预测任务输入数据中类别特征和数值特征有效训练,又能保持高效在线更新能力,利用新生成数据对神经网络进行反向传播更新模型参数,达到最终任务的输出。对于决策树模型的训练,使用Hyperband算法,可以自动训练出最佳超参数组,使决策树能够准确对数据聚类。对聚类输出的叶子索引进行embedding操作得到低维密集向量,有效降低神经网络拟合叶子索引的效率,从而完成决策树的蒸馏。对GBDT中所有树分组训练,避免每棵树训练一个神经网络,造成计算资源不足。\n[0071] 本实施例还提供了一种针对在线预测任务的GBDT学习系统,包括存储器、处理器以及存储在存储器上并能够被处理器运行的计算机程序,当处理器运行该计算机程序时能够实现如上文所述的方法步骤。\n[0072] 本实施例还提供了一种计算机可读存储介质,其上存储有能够被处理器运行的计算机程序,当处理器运行该计算机程序时,能够实现如上文所述的方法步骤。\n[0073] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。\n[0074] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。\n[0075] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。\n[0076] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。\n[0077] 以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
法律信息
- 2022-07-15
- 2021-01-26
实质审查的生效
IPC(主分类): G06N 3/08
专利申请号: 202011187707.X
申请日: 2020.10.30
- 2021-01-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |