一种无第三方的联邦梯度提升决策树模型训练方法技术

技术编号:32465838 阅读:17 留言:0更新日期:2022-02-26 09:03
本发明专利技术公开了一种无第三方的联邦梯度提升决策树模型训练方法。它包括以下步骤:训练发起方、训练参与方同步初始化;训练发起方、训练参与方同步采样d个样本数据集;训练发起方、训练参与方对各自样本数据集中的每个特征数据进行分箱、记录分箱信息并进行比特切片存储;训练发起方计算出自身每个样本数据集的每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,训练发起方、训练参与方根据安全乘法协议计算出训练参与方的样本数据集中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和;训练发起方搜索最优分裂点,将结果同步给训练参与方;重复上述步骤,直到达到终止条件。本发明专利技术保护了数据安全,降低存储空间,大幅压缩通信量。缩通信量。缩通信量。

【技术实现步骤摘要】
一种无第三方的联邦梯度提升决策树模型训练方法


[0001]本专利技术涉及梯度提升决策树模型训练
,尤其涉及一种无第三方的联邦梯度提升决策树模型训练方法。

技术介绍

[0002]联邦梯度提升决策树模型既可以解决分类问题又可以处理回归问题,还具备较好的可解释能力,因而在联邦学习领域特别是银行风控领域得到广泛应用。联邦梯度提升决策树模型是一类实用性很强的树模型,在联邦梯度提升决策树模型中,各个参与方基于本地数据计算决策树的一阶导数和二阶导数,根据切分增益决定最佳特征和切分点,这一过程中需要对不同参与方的一阶导数和二阶导数做加法,可以使用加性同态加密保护各个参与方的数据隐私在树模型构建过程中不泄露给其他参与方。
[0003]目前联邦梯度提升决策树模型是银行和运营商之间联合风控建模的主要方法之一,联邦梯度提升决策树模型建模具有精度高,可解释性强的特点,但是这种方式目前有以下几个缺点:1、目前工业界联邦梯度提升决策树模型以半同态加密为主,计算开销极大。工信部直属信通院隐私计算第一批性能评测数据表明,工业界900个特征40万样本的联邦树建模平均耗时为2小时23分47秒,难以满足工业界需求;2、有第三方辅助参与训练,进行模型参数分发同步,而实际商业落地较难找到可信的第三方,存在数据泄露风险;3、现有的特征值存储效率低下,900个特征40万样本的数据集需占用3.9G空间。如果联邦梯度提升决策树模型训练的中间结果保存在本地磁盘,一次联邦梯度提升决策树模型训练就需耗费10G以上的空间。

技术实现思路

[0004]本专利技术为了解决上述技术问题,提供了一种无第三方的联邦梯度提升决策树模型训练方法,其在训练发起方、训练参与方相互数据不出库的情况下完成训练,整个过程无需第三方参与,保护了数据安全,使用比特切片方法存储特征数据对应的分箱信息以及样本数据集x对应的一阶梯度、二阶梯度,降低存储空间,压缩搜索最优分裂点的时间,在保证训练精度的同时大幅压缩通信量。
[0005]为了解决上述问题,本专利技术采用以下技术方案予以实现:本专利技术的一种无第三方的联邦梯度提升决策树模型训练方法,用于银行和运营商之间联合风控建模,包括以下步骤:S1:训练发起方、训练参与方同步初始化各自联邦梯度提升决策树模型的模型参数;S2:训练发起方从自身数据库中采样d个样本数据集x,每个样本数据集X具有唯一对应的ID,所述样本数据集x包含n个特征数据,训练参与方从自身数据库中同步采样与训
练发起方采样的d个样本数据集x具有同样ID的d个样本数据集y,每个样本数据集y具有唯一对应的ID,所述样本数据集y包含m个特征数据;S3:训练发起方对每个样本数据集x中的每个特征数据进行分箱并记录对应的分箱信息,训练参与方对每个样本数据集y中的每个特征数据进行分箱并记录对应的分箱信息,每个特征数据的分箱数量都为N;S4:训练发起方对样本数据集x的每个特征数据对应的所有分箱信息进行比特切片存储,训练参与方对样本数据集y的每个特征数据对应的所有分箱信息进行比特切片存储;S5:训练发起方计算出每个样本数据集x对应的一阶梯度、二阶梯度,将计算出的所有一阶梯度进行比特切片存储,将计算出的所有二阶梯度进行比特切片存储;S6:训练发起方计算样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,训练发起方、训练参与方根据安全乘法协议计算出样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和;S7:训练发起方根据计算出的样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和以及样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,搜索最优分裂点;S8:训练发起方将分裂信息、树分裂终止信号发送给训练参与方;S9:重复执行步骤S2至步骤S8,直到达到初始化的建树棵树或损失函数的变化值小于终止阈值。
[0006]在本方案中,训练发起方、训练参与方都先初始化自身的联邦梯度提升决策树模型。接着,训练发起方、训练参与方各自从自身数据库同步采样d个样本数据集,训练发起方采样的d个样本数据集与训练参与方采样的d个样本数据集具有一样的ID,例如:训练发起方采样了3个样本数据集x,其ID分别为001、002、003,训练参与方采样了3个样本数据集y,其ID也分别为001、002、003。
[0007]之后,训练发起方、训练参与方各自将采样的样本数据集中的每个特征数据进行分箱并记录对应的分箱信息,对每个特征数据对应的所有分箱信息进行比特切片存储,训练发起方将计算出的所有一阶梯度、二阶梯度进行比特切片存储,这样可以降低存储空间、压缩搜索最优分裂点的时间、压缩通信量,在900个特征40万样本的联邦梯度提升决策树建模时可以降低50%存储空间占用,压缩三分之二以上的通信量。
[0008]然后,训练发起方采用现有明文联邦梯度提升决策树模型计算方法计算出样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,训练发起方、训练参与方根据安全乘法协议计算出样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和。
[0009]最后,训练发起方采用现有明文联邦梯度提升决策树模型计算方法利用样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和以及样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和搜索最优分裂点,搜索完成后,训练发起方将分裂信息、树分裂终止信号发送给训练参与方,训练参与方更新自身的联邦梯度提升决策树模型,重复执行步骤S2至步骤S8,直到达到初始化的建树棵树或损失函数的变化值小于终止阈值,此时,训练发起方、训练参与方完成联邦梯度提升决策树模型的训练。
[0010]作为优选,所述步骤S2包括以下步骤:训练发起方从自身数据库中采样d个样本数据集x,每个样本数据集x具有唯一对应的ID,将d个样本数据集x依次编号为1,2
……
d,所述样本数据集x包含n个特征数据,这n个特征数据依次标记为x1、x2……
x
n
,则编号为i的样本数据集x(i)的结构为x(i)={x1(i)、x2(i)、
……
x
n
(i)},1≤i≤d,训练发起方将d个样本数据集x对应的ID及编号发送给训练参与方;训练参与方从自身数据库中采样接收到的d个ID对应的样本数据集y,每个样本数据集y具有唯一对应的ID,每个样本数据集y对应的编号与同样ID的样本数据集x对应的编号一样,所述样本数据集y包含m个特征数据,这m个特征数据依次标记为y1、y2……
y
m
,则编号为i的样本数据集y(i)的结构为y(i)={y1(i)、y2(i)、
……
y
m
(i)}。
[0011]作为优选,所述步骤S3包括以下步骤:训练发起方对每个样本数据集x中的每个特征数据进行分箱并记录对应的分箱信息,训练参与方对每个样本数据集y中的每个特征数据进行分箱并记录对应的分箱信息,每个特征数据的分箱数量都为N;对编号为i的样本数据集x(i)中的第p本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种无第三方的联邦梯度提升决策树模型训练方法,用于银行和运营商之间联合风控建模,其特征在于,包括以下步骤:S1:训练发起方、训练参与方同步初始化各自联邦梯度提升决策树模型的模型参数;S2:训练发起方从自身数据库中采样d个样本数据集x,每个样本数据集X具有唯一对应的ID,所述样本数据集x包含n个特征数据,训练参与方从自身数据库中同步采样与训练发起方采样的d个样本数据集x具有同样ID的d个样本数据集y,每个样本数据集y具有唯一对应的ID,所述样本数据集y包含m个特征数据;S3:训练发起方对每个样本数据集x中的每个特征数据进行分箱并记录对应的分箱信息,训练参与方对每个样本数据集y中的每个特征数据进行分箱并记录对应的分箱信息,每个特征数据的分箱数量都为N;S4:训练发起方对样本数据集x的每个特征数据对应的所有分箱信息进行比特切片存储,训练参与方对样本数据集y的每个特征数据对应的所有分箱信息进行比特切片存储;S5:训练发起方计算出每个样本数据集x对应的一阶梯度、二阶梯度,将计算出的所有一阶梯度进行比特切片存储,将计算出的所有二阶梯度进行比特切片存储;S6:训练发起方计算样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,训练发起方、训练参与方根据安全乘法协议计算出样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和;S7:训练发起方根据计算出的样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和以及样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,搜索最优分裂点;S8:训练发起方将分裂信息、树分裂终止信号发送给训练参与方;S9:重复执行步骤S2至步骤S8,直到达到初始化的建树棵树或损失函数的变化值小于终止阈值。2.根据权利要求1所述的一种无第三方的联邦梯度提升决策树模型训练方法,其特征在于,所述步骤S2包括以下步骤:训练发起方从自身数据库中采样d个样本数据集x,每个样本数据集x具有唯一对应的ID,将d个样本数据集x依次编号为1,2
……
d,所述样本数据集x包含n个特征数据,这n个特征数据依次标记为x1、x2……
x
n
,则编号为i的样本数据集x(i)的结构为x(i)={x1(i)、x2(i)、
……
x
n
(i)},1≤i≤d,训练发起方将d个样本数据集x对应的ID及编号发送给训练参与方;训练参与方从自身数据库中采样接收到的d个ID对应的样本数据集y,每个样本数据集y具有唯一对应的ID,每个样本数据集y对应的编号与同样ID的样本数据集x对应的编号一样,所述样本数据集y包含m个特征数据,这m个特征数据依次标记为y1、y2……
y
m
,则编号为i的样本数据集y(i)的结构为y(i)={y1(i)、y2(i)、
……
y
m
(i)}。3.根据权利要求2所述的一种无第三方的联邦梯度提升决策树模型训练方法,其特征在于,所述步骤S3包括以下步骤:训练发起方对每个样本数据集x中的每个特征数据进行分箱并记录对应的分箱信息,训练参与方对每个样本数据集y中的每个特征数据进行分箱并记录对应的分箱信息,每个特征数据的分箱数量都为N;
对编号为i的样本数据集x(i)中的第p个特征数据x
p
(i)进行分箱并记录分箱信息的方法包括以下步骤,1≤p≤n:根据d个样本数据集x的第p个特征数据中的最大值A
p
、最小值B
p
以及分箱数量N计算出每个分箱的区间边界,N个分箱依次编号为1,2
……
N,设定特征数据x
p
(i)对应的分箱信息X
p
(i)为N位的二进制数,,表示X
p
(i)的第r位,1≤r≤N,如果特征数据x
p
(i)属于第r个分箱,则X
p
(i)的第r位为1,其余位都为0;对编号为i的样本数据集y(i)中的第q个特征数据y
q
(i)进行分箱并记录分箱信息的方法包括以下步骤,1≤q≤m:根据d个样本数据集y的第q个特征数据中的最大值A
q
、最小值B
q
以及分箱数量N计算出每个分箱的区间边界,N个分箱依次编号为1,2
……
N,设定特征数据y
q
(i)对应的分箱信息Y
q
(i)为N位的二进制数,,表示Y
q
(i)的第r位,如果特征数据y
q
(i)属于第r个分箱,则Y
q
(i)的第r位为1,其余位都为0。4.根据权利要求3所述的一种无第三方的联邦梯度提升决策树模型训练方法,其特征在于,所述步骤S4包括以下步骤:训练发起方对样本数据集x的每个特征数据对应的所有分箱信息进行比特切片存储,训练参与方对样本数据集y的每个特征数据对应的所有分箱信息进行比特切片存储;训练发起方对样本数据集x的第p个特征数据对应的所有分箱信息进行比特切片存储的方法包括以下步骤:将每个样本数据集x的第p个特征数据对应的分箱信息拼接成矩阵D
p
1:,将矩阵D
p
1转置得到矩阵D
p
2:,矩阵D
p
2的每一行组成一个比特切片数据,得到N个分箱信息比特切片数据D
p
(1)、D
p
(2)

D
p
...

【专利技术属性】
技术研发人员:郭梁徐时峰刘洋裴阳毛仁歆宋鎏屹
申请(专利权)人:蓝象智联杭州科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1