CN114091624B - 一种无第三方的联邦梯度提升决策树模型训练方法 - Google Patents
一种无第三方的联邦梯度提升决策树模型训练方法 Download PDFInfo
- Publication number
- CN114091624B CN114091624B CN202210052120.0A CN202210052120A CN114091624B CN 114091624 B CN114091624 B CN 114091624B CN 202210052120 A CN202210052120 A CN 202210052120A CN 114091624 B CN114091624 B CN 114091624B
- Authority
- CN
- China
- Prior art keywords
- training
- sample data
- data
- data set
- initiator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Development Economics (AREA)
- Evolutionary Biology (AREA)
- Marketing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种无第三方的联邦梯度提升决策树模型训练方法。它包括以下步骤:训练发起方、训练参与方同步初始化;训练发起方、训练参与方同步采样d个样本数据集;训练发起方、训练参与方对各自样本数据集中的每个特征数据进行分箱、记录分箱信息并进行比特切片存储;训练发起方计算出自身每个样本数据集的每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,训练发起方、训练参与方根据安全乘法协议计算出训练参与方的样本数据集中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和;训练发起方搜索最优分裂点,将结果同步给训练参与方;重复上述步骤,直到达到终止条件。本发明保护了数据安全,降低存储空间,大幅压缩通信量。
Description
技术领域
本发明涉及梯度提升决策树模型训练技术领域,尤其涉及一种无第三方的联邦梯度提升决策树模型训练方法。
背景技术
联邦梯度提升决策树模型既可以解决分类问题又可以处理回归问题,还具备较好的可解释能力,因而在联邦学习领域特别是银行风控领域得到广泛应用。联邦梯度提升决策树模型是一类实用性很强的树模型,在联邦梯度提升决策树模型中,各个参与方基于本地数据计算决策树的一阶导数和二阶导数,根据切分增益决定最佳特征和切分点,这一过程中需要对不同参与方的一阶导数和二阶导数做加法,可以使用加性同态加密保护各个参与方的数据隐私在树模型构建过程中不泄露给其他参与方。
目前联邦梯度提升决策树模型是银行和运营商之间联合风控建模的主要方法之一,联邦梯度提升决策树模型建模具有精度高,可解释性强的特点,但是这种方式目前有以下几个缺点:
1、目前工业界联邦梯度提升决策树模型以半同态加密为主,计算开销极大。工信部直属信通院隐私计算第一批性能评测数据表明,工业界900个特征40万样本的联邦树建模平均耗时为2小时23分47秒,难以满足工业界需求;
2、有第三方辅助参与训练,进行模型参数分发同步,而实际商业落地较难找到可信的第三方,存在数据泄露风险;
3、现有的特征值存储效率低下,900个特征40万样本的数据集需占用3.9G空间。如果联邦梯度提升决策树模型训练的中间结果保存在本地磁盘,一次联邦梯度提升决策树模型训练就需耗费10G以上的空间。
发明内容
本发明为了解决上述技术问题,提供了一种无第三方的联邦梯度提升决策树模型训练方法,其在训练发起方、训练参与方相互数据不出库的情况下完成训练,整个过程无需第三方参与,保护了数据安全,使用比特切片方法存储特征数据对应的分箱信息以及样本数据集x对应的一阶梯度、二阶梯度,降低存储空间,压缩搜索最优分裂点的时间,在保证训练精度的同时大幅压缩通信量。
为了解决上述问题,本发明采用以下技术方案予以实现:
本发明的一种无第三方的联邦梯度提升决策树模型训练方法,用于银行和运营商之间联合风控建模,包括以下步骤:
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,直到达到初始化的建树棵树或损失函数的变化值小于终止阈值。
在本方案中,训练发起方、训练参与方都先初始化自身的联邦梯度提升决策树模型。接着,训练发起方、训练参与方各自从自身数据库同步采样d个样本数据集,训练发起方采样的d个样本数据集与训练参与方采样的d个样本数据集具有一样的ID,例如:训练发起方采样了3个样本数据集x,其ID分别为001、002、003,训练参与方采样了3个样本数据集y,其ID也分别为001、002、003。
之后,训练发起方、训练参与方各自将采样的样本数据集中的每个特征数据进行分箱并记录对应的分箱信息,对每个特征数据对应的所有分箱信息进行比特切片存储,训练发起方将计算出的所有一阶梯度、二阶梯度进行比特切片存储,这样可以降低存储空间、压缩搜索最优分裂点的时间、压缩通信量,在900个特征40万样本的联邦梯度提升决策树建模时可以降低50%存储空间占用,压缩三分之二以上的通信量。
然后,训练发起方采用现有明文联邦梯度提升决策树模型计算方法计算出样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,训练发起方、训练参与方根据安全乘法协议计算出样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和。
最后,训练发起方采用现有明文联邦梯度提升决策树模型计算方法利用样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和以及样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和搜索最优分裂点,搜索完成后,训练发起方将分裂信息、树分裂终止信号发送给训练参与方,训练参与方更新自身的联邦梯度提升决策树模型,重复执行步骤S2至步骤S8,直到达到初始化的建树棵树或损失函数的变化值小于终止阈值,此时,训练发起方、训练参与方完成联邦梯度提升决策树模型的训练。
作为优选,所述步骤S2包括以下步骤:
训练发起方从自身数据库中采样d个样本数据集x,每个样本数据集x具有唯一对应的ID,将d个样本数据集x依次编号为1,2……d,所述样本数据集x包含n个特征数据,这n个特征数据依次标记为x1、x2……xn,则编号为i的样本数据集x(i)的结构为x(i)={x1(i)、x2(i)、……xn(i)},1≤i≤d,训练发起方将d个样本数据集x对应的ID及编号发送给训练参与方;
训练参与方从自身数据库中采样接收到的d个ID对应的样本数据集y,每个样本数据集y具有唯一对应的ID,每个样本数据集y对应的编号与同样ID的样本数据集x对应的编号一样,所述样本数据集y包含m个特征数据,这m个特征数据依次标记为y1、y2……ym,则编号为i的样本数据集y(i)的结构为y(i)={y1(i)、y2(i)、……ym(i)}。
作为优选,所述步骤S3包括以下步骤:
训练发起方对每个样本数据集x中的每个特征数据进行分箱并记录对应的分箱信息,训练参与方对每个样本数据集y中的每个特征数据进行分箱并记录对应的分箱信息,每个特征数据的分箱数量都为N;
对编号为i的样本数据集x(i)中的第p个特征数据xp(i)进行分箱并记录分箱信息的方法包括以下步骤,1≤p≤n:
根据d个样本数据集x的第p个特征数据中的最大值Ap、最小值Bp以及分箱数量N计
算出每个分箱的区间边界,N个分箱依次编号为1,2……N,设定特征数据xp(i)对应的分箱
信息Xp(i)为N位的二进制数,,表示Xp(i)的第r位,
1≤r≤N,如果特征数据xp(i)属于第r个分箱,则Xp(i)的第r位为1,其余位都为0;
对编号为i的样本数据集y(i)中的第q个特征数据yq(i)进行分箱并记录分箱信息的方法包括以下步骤,1≤q≤m:
根据d个样本数据集y的第q个特征数据中的最大值Aq、最小值Bq以及分箱数量N计
算出每个分箱的区间边界,N个分箱依次编号为1,2……N,设定特征数据yq(i)对应的分箱
信息Yq(i)为N位的二进制数,,表示Yq(i)的第r位,
如果特征数据yq(i)属于第r个分箱,则Yq(i)的第r位为1,其余位都为0。
根据d个样本数据集x的第p个特征数据中的最大值Ap、最小值Bp以及分箱数量N计算出每个分箱的区间边界的方法包括以下步骤:
每个分箱的区间的长度为 W=(Ap−Bp)/N,则第1个分箱的区间边界为(Bp、Bp+W),第2个分箱的区间边界为(Bp+W+1、Bp +2W)……,第N-1个分箱的区间边界为(Bp+(N-2)W+1、Bp+(N-1)W),第N个分箱的区间边界为(Bp +(N-1)W+1、Ap)。
作为优选,所述步骤S4包括以下步骤:
训练发起方对样本数据集x的每个特征数据对应的所有分箱信息进行比特切片存储,训练参与方对样本数据集y的每个特征数据对应的所有分箱信息进行比特切片存储;
训练发起方对样本数据集x的第p个特征数据对应的所有分箱信息进行比特切片存储的方法包括以下步骤:
将每个样本数据集x的第p个特征数据对应的分箱信息拼接成矩阵Dp1:
将矩阵Dp1转置得到矩阵Dp2:
训练参与方对样本数据集y的第q个特征数据对应的所有分箱信息进行比特切片存储的方法包括以下步骤:
将每个样本数据集y的第q个特征数据对应的分箱信息拼接成矩阵Eq1:
将矩阵Eq1转置得到矩阵Eq2:
作为优选,所述步骤S5包括以下步骤:
训练发起方计算出每个样本数据集x对应的一阶梯度、二阶梯度,计算编号为i的样本数据集x(i)对应的一阶梯度gx(i)、二阶梯度hx(i)的公式如下:
训练发起方将计算出的所有一阶梯度进行比特切片存储,将计算出的所有二阶梯度进行比特切片存储,包括以下步骤:
将每个样本数据集x对应的一阶梯度拼接成矩阵C1:
将矩阵C1转置得到矩阵:
将每个样本数据集x对应的二阶梯度拼接成矩阵F1:
将矩阵F1转置得到矩阵F2:
训练发起方将比特切片数据C(j)分享为两个分片,
训练参与方将分箱信息比特切片数据Eq(r) 分享为两个分片,
由于训练发起方将比特切片数据C(j)分享为两个分片,只将发送给训练
参与方,所以训练参与方无法获得训练发起方的数据,训练参与方只将发送给训
练发起方,将与的异或操作在本地计算后再发送给训练参与方,这样训
练参与方也无法获得训练发起方的数据,保护了双方的数据安全,整个过程无第三方参与。
训练发起方将比特切片数据F(j)分享为两个分片,
训练参与方将比特切片数据Eq(r) 分享为两个分片,
作为优选,所述模型参数包括联邦梯度提升决策树的深度、联邦梯度提升决策树的棵数、大梯度样本采样率、小梯度样本采样率、树列采样率、树行采样率、学习率、最大叶子数量、分裂后最少节点样本数量、分裂的最小收益、分箱数量、L2正则、L1正则、终止阈值、建模方式。
本发明的有益效果是:在训练发起方、训练参与方相互数据不出库的情况下完成训练,整个过程无需第三方参与,保护了数据安全,使用比特切片方法存储特征数据对应的分箱信息以及样本数据集x对应的一阶梯度、二阶梯度,降低存储空间,压缩搜索最优分裂点的时间,在保证训练精度的同时大幅压缩通信量。
附图说明
图1是实施例的流程图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:本实施例的一种无第三方的联邦梯度提升决策树模型训练方法,用于银行和运营商之间联合风控建模,如图1所示,包括以下步骤:
S1:训练发起方、训练参与方同步初始化各自联邦梯度提升决策树模型的模型参数;模型参数包括联邦梯度提升决策树的深度、联邦梯度提升决策树的棵数、大梯度样本采样率、小梯度样本采样率、树列采样率、树行采样率、学习率、最大叶子数量、分裂后最少节点样本数量、分裂的最小收益、分箱数量、L2正则、L1正则、终止阈值、建模方式;
S2:训练发起方从自身数据库中采样d个样本数据集x,每个样本数据集x具有唯一对应的ID,将d个样本数据集x依次编号为1,2……d,所述样本数据集x包含n个特征数据,这n个特征数据依次标记为x1、x2……xn,则编号为i的样本数据集x(i)的结构为x(i)={x1(i)、x2(i)、……xn(i)},1≤i≤d,训练发起方将d个样本数据集x对应的ID及编号发送给训练参与方;
训练参与方从自身数据库中采样接收到的d个ID对应的样本数据集y,每个样本数据集y具有唯一对应的ID,每个样本数据集y对应的编号与同样ID的样本数据集x对应的编号一样,所述样本数据集y包含m个特征数据,这m个特征数据依次标记为y1、y2……ym,则编号为i的样本数据集y(i)的结构为y(i)={y1(i)、y2(i)、……ym(i)};
S3:训练发起方对每个样本数据集x中的每个特征数据进行分箱并记录对应的分箱信息,训练参与方对每个样本数据集y中的每个特征数据进行分箱并记录对应的分箱信息,每个特征数据的分箱数量都为N;
对编号为i的样本数据集x(i)中的第p个特征数据xp(i)进行分箱并记录分箱信息的方法包括以下步骤,1≤p≤n:
根据d个样本数据集x的第p个特征数据中的最大值Ap、最小值Bp以及分箱数量N计
算出每个分箱的区间边界,N个分箱依次编号为1,2……N,设定特征数据xp(i)对应的分箱
信息Xp(i)为N位的二进制数,,表示Xp(i)的第r位,
1≤r≤N,如果特征数据xp(i)属于第r个分箱,则Xp(i)的第r位为1,其余位都为0;
对编号为i的样本数据集y(i)中的第q个特征数据yq(i)进行分箱并记录分箱信息的方法包括以下步骤,1≤q≤m:
根据d个样本数据集y的第q个特征数据中的最大值Aq、最小值Bq以及分箱数量N计
算出每个分箱的区间边界,N个分箱依次编号为1,2……N,设定特征数据yq(i)对应的分箱
信息Yq(i)为N位的二进制数,,表示Yq(i)的第r位,
如果特征数据yq(i)属于第r个分箱,则Yq(i)的第r位为1,其余位都为0;
S4:训练发起方对样本数据集x的每个特征数据对应的所有分箱信息进行比特切片存储,训练参与方对样本数据集y的每个特征数据对应的所有分箱信息进行比特切片存储;
训练发起方对样本数据集x的第p个特征数据对应的所有分箱信息进行比特切片存储的方法包括以下步骤:
将每个样本数据集x的第p个特征数据对应的分箱信息拼接成矩阵Dp1:
将矩阵Dp1转置得到矩阵Dp2:
训练参与方对样本数据集y的第q个特征数据对应的所有分箱信息进行比特切片存储的方法包括以下步骤:
将每个样本数据集y的第q个特征数据对应的分箱信息拼接成矩阵Eq1:
将矩阵Eq1转置得到矩阵Eq2:
S5:训练发起方计算出每个样本数据集x对应的一阶梯度、二阶梯度,计算编号为i的样本数据集x(i)对应的一阶梯度gx(i)、二阶梯度hx(i)的公式如下:
训练发起方将计算出的所有一阶梯度进行比特切片存储,将计算出的所有二阶梯度进行比特切片存储,包括以下步骤:
将每个样本数据集x对应的一阶梯度拼接成矩阵C1:
将矩阵C1转置得到矩阵:
将每个样本数据集x对应的二阶梯度拼接成矩阵F1:
将矩阵F1转置得到矩阵F2:
S6:训练发起方计算样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,训练发起方、训练参与方根据安全乘法协议计算出样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和;
训练发起方将比特切片数据C(j)分享为两个分片,
训练参与方将分箱信息比特切片数据Eq(r) 分享为两个分片,
训练发起方将比特切片数据F(j)分享为两个分片,
训练参与方将比特切片数据Eq(r) 分享为两个分片,
S7:训练发起方根据计算出的样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和以及样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,搜索最优分裂点;
S8:训练发起方将分裂信息、树分裂终止信号发送给训练参与方,训练发起方重新计算每个样本数据集x对应的预测值;
S9:重复执行步骤S2至步骤S8,直到达到初始化的建树棵树或损失函数的变化值小于终止阈值。
在本方案中,训练发起方、训练参与方都先初始化自身的联邦梯度提升决策树模型。接着,训练发起方从自身数据库中采样d个样本数据集x,每个样本数据集x具有唯一对应的ID,将d个样本数据集x依次编号为1,2……d,训练发起方将d个样本数据集x对应的ID及编号发送给训练参与方,训练参与方根据接收到的d个ID从自身数据库中找到对应的样本数据集y,每个样本数据集y对应的编号与同样ID的样本数据集x对应的编号一样,例如:训练发起方采样了3个样本数据集x,其ID分别为001、002、003,ID为001的样本数据集x对应的编号为1,ID为002的样本数据集x对应的编号为2,ID为003的样本数据集x对应的编号为3,训练参与方采样了3个样本数据集y,其ID也分别为001、002、003,ID为001的样本数据集y对应的编号为1,ID为002的样本数据集y对应的编号为2,ID为003的样本数据集y对应的编号为3。
之后,训练发起方、训练参与方各自将采样的样本数据集中的每个特征数据进行分箱并记录对应的分箱信息,对每个特征数据对应的所有分箱信息进行比特切片存储,训练发起方将计算出的所有一阶梯度、二阶梯度进行比特切片存储,这样可以降低存储空间、压缩搜索最优分裂点的时间、压缩通信量,在900个特征40万样本的联邦梯度提升决策树建模时可以降低50%存储空间占用,压缩三分之二以上的通信量。
然后,训练发起方采用现有明文联邦梯度提升决策树模型计算方法计算出样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,训练发起方、训练参与方根据安全乘法协议计算出样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和,训练发起方、训练参与方无法获得对方的数据,保护了双方的数据安全,整个过程无第三方参与。
由于训练发起方将比特切片数据C(j)分享为两个分片,只将发送给训练
参与方,所以训练参与方无法获得训练发起方的数据,训练参与方只将发送给训
练发起方,将与的异或操作在本地计算后再发送给训练参与方,这样训
练参与方也无法获得训练发起方的数据,保护了双方的数据安全,整个过程无第三方参与。
最后,训练发起方采用现有明文联邦梯度提升决策树模型计算方法利用样本数据集x中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和以及样本数据集y中每个特征数据的每个分箱对应的一阶梯度和、二阶梯度和搜索最优分裂点,搜索完成后,训练发起方将分裂信息、树分裂终止信号发送给训练参与方,训练参与方更新自身的联邦梯度提升决策树模型,重复执行步骤S2至步骤S8,直到达到初始化的建树棵树或损失函数的变化值小于终止阈值,此时,训练发起方、训练参与方完成联邦梯度提升决策树模型的训练。
步骤S3中根据d个样本数据集x的第p个特征数据中的最大值Ap、最小值Bp以及分箱数量N计算出每个分箱的区间边界的方法包括以下步骤:
每个分箱的区间的长度为 W=(Ap−Bp)/N,则第1个分箱的区间边界为(Bp、Bp+W),第2个分箱的区间边界为(Bp+W+1、Bp +2W)……,第N-1个分箱的区间边界为(Bp+(N-2)W+1、Bp+(N-1)W),第N个分箱的区间边界为(Bp +(N-1)W+1、Ap)。N为常数。
步骤S7中训练发起方按照明文xgboost计算gain的公式依据样本数据集x中每个特征数据对应的一阶梯度和、二阶梯度和计算对应分箱的score,依据样本数据集y中每个特征数据对应的一阶梯度和、二阶梯度和计算对应分箱的score,并计算相应叶子节点权重,搜索最优分裂点方法同现有明文联邦梯度提升决策树模型计算方法一致,第一个节点就是根节点,不用分裂,从第二个节点开始选取最大的score进行分裂。
举例说明:
训练发起方采样的3个样本数据集x,如下:
ID为1001的样本数据集x,编号为1,特征数据x1分箱信息为01;
ID为1002的样本数据集x,编号为2,特征数据x1分箱信息为01;
ID为1003的样本数据集x,编号为3,特征数据x1分箱信息为10;
训练参与方采样3个样本数据集y,如下:
ID为1001的样本数据集y,编号为1,特征数据y1分箱信息为10;
ID为1002的样本数据集y,编号为2,特征数据y1分箱信息为10;
ID为1003的样本数据集y,编号为3,特征数据y1分箱信息为01;
算出ID为1001的样本数据集x对应的真实值为11110100001001000000、预测值为00000000000000000000,则对应的梯度为11110100001001000000;
ID为1002的样本数据集x对应的真实值为00000000000000000000、预测值为00000000000000000000,则对应的梯度为00000000000000000000;
ID为1002的样本数据集x对应的真实值为00000000000000000000、预测值为00000000000000000000,则对应的梯度为00000000000000000000。
训练发起方对样本数据集x的特征数据x1的所有分箱信息进行比特切片存储,先算出矩阵Dp2:
训练参与方对样本数据集y的特征数据y1的所有分箱信息进行比特切片存储,先算出矩阵Eq2:
训练发起方将计算出的所有一阶梯度进行比特切片存储,先算出矩阵C2:
矩阵C2每一行组成一个比特切片数据。
将矩阵C2每一行组成的比特切片数据与特征数据y1的第1个分箱信息比特切片数据001按照安全乘法协议计算得到特征数据y1的第1个分箱对应的一阶梯度和为0,将矩阵C2每一行组成的比特切片数据与特征数据y1的第2个分箱信息比特切片数据110按照安全乘法协议计算得到特征数据y1的第2个分箱对应的一阶梯度和为219+218+217+216+214+29+26。同理,可算出特征数据y1的第1个分箱对应的二阶梯度和、第2个分箱对应的二阶梯度和。
矩阵C2第7行组成的第7个一阶梯度比特切片数据100与第2个分箱信息比特切片数据110按照安全乘法协议计算得到对应的二进制值,然后统计1的个数的方法如下:
训练发起方的比特切片数据100可以分片为100 = 011 XOR 111,训练发起方把分片111发给训练参与方,训练参与方的分箱信息比特切片数据110可以分片为110 = 001XOR 111,训练参与方将分片001发给训练发起方,训练参与方计算001 XOR 111 = 110,将110发给训练发起方,训练发起方计算011 XOR 001 XOR 110 = 100,之后统计100中1的个数得到1。
本例训练发起方、训练参与方只采样了3个样本,一般实际操作中,训练发起方、训练参与方需要采样几千甚至几万的样本,此时会大大降低存储空间,压缩搜索最优分裂点的时间,在保证训练精度的同时大幅压缩通信量。
Claims (5)
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,直到达到初始化的建树棵数或损失函数的变化值小于终止阈值;
所述步骤S2包括以下步骤:
训练发起方从自身数据库中采样d个样本数据集x,每个样本数据集x具有唯一对应的ID,将d个样本数据集x依次编号为1,2……d,所述样本数据集x包含n个特征数据,这n个特征数据依次标记为x1、x2……xn,则编号为i的样本数据集x(i)的结构为x(i)={x1(i)、x2(i)、……xn(i)},1≤i≤d,训练发起方将d个样本数据集x对应的ID及编号发送给训练参与方;
训练参与方从自身数据库中采样接收到的d个ID对应的样本数据集y,每个样本数据集y具有唯一对应的ID,每个样本数据集y对应的编号与同样ID的样本数据集x对应的编号一样,所述样本数据集y包含m个特征数据,这m个特征数据依次标记为y1、y2……ym,则编号为i的样本数据集y(i)的结构为y(i)={y1(i)、y2(i)、……ym(i)};
所述步骤S3包括以下步骤:
训练发起方对每个样本数据集x中的每个特征数据进行分箱并记录对应的分箱信息,训练参与方对每个样本数据集y中的每个特征数据进行分箱并记录对应的分箱信息,每个特征数据的分箱数量都为N;
对编号为i的样本数据集x(i)中的第p个特征数据xp(i)进行分箱并记录分箱信息的方法包括以下步骤,1≤p≤n:
根据d个样本数据集x的第p个特征数据中的最大值Ap、最小值Bp以及分箱数量N计算出
每个分箱的区间边界,N个分箱依次编号为1,2……N,设定特征数据xp(i)对应的分箱信息Xp
(i)为N位的二进制数,,表示Xp(i)的第r
位,1≤r≤N,如果特征数据xp(i)属于第r个分箱,则Xp(i)的第r位为1,其余位都为0;
对编号为i的样本数据集y(i)中的第q个特征数据yq(i)进行分箱并记录分箱信息的方法包括以下步骤,1≤q≤m:
根据d个样本数据集y的第q个特征数据中的最大值Aq、最小值Bq以及分箱数量N计算出
每个分箱的区间边界,N个分箱依次编号为1,2……N,设定特征数据yq(i)对应的分箱信息Yq
(i)为N位的二进制数, ,表示Yq(i)的第r位,
如果特征数据yq(i)属于第r个分箱,则Yq(i)的第r位为1,其余位都为0;
所述步骤S4包括以下步骤:
训练发起方对样本数据集x的每个特征数据对应的所有分箱信息进行比特切片存储,训练参与方对样本数据集y的每个特征数据对应的所有分箱信息进行比特切片存储;
训练发起方对样本数据集x的第p个特征数据对应的所有分箱信息进行比特切片存储的方法包括以下步骤:
将每个样本数据集x的第p个特征数据对应的分箱信息拼接成矩阵Dp1:
将矩阵Dp1转置得到矩阵Dp2:
训练参与方对样本数据集y的第q个特征数据对应的所有分箱信息进行比特切片存储的方法包括以下步骤:
将每个样本数据集y的第q个特征数据对应的分箱信息拼接成矩阵Eq1:
将矩阵Eq1转置得到矩阵Eq2:
2.根据权利要求1所述的一种无第三方的联邦梯度提升决策树模型训练方法,其特征在于,所述步骤S5包括以下步骤:
训练发起方计算出每个样本数据集x对应的一阶梯度、二阶梯度,计算编号为i的样本数据集x(i)对应的一阶梯度gx(i)、二阶梯度hx(i)的公式如下:
训练发起方将计算出的所有一阶梯度进行比特切片存储,将计算出的所有二阶梯度进行比特切片存储,包括以下步骤:
将每个样本数据集x对应的一阶梯度拼接成矩阵C1:
将矩阵C1转置得到矩阵:
将每个样本数据集x对应的二阶梯度拼接成矩阵F1:
将矩阵F1转置得到矩阵F2:
3.根据权利要求2所述的一种无第三方的联邦梯度提升决策树模型训练方法,其特征在于,所述步骤S6中训练发起方、训练参与方根据安全乘法协议计算出样本数据集y中第q个特征数据的第r个分箱对应的一阶梯度和的方法包括以下步骤,1≤r≤N:
训练发起方将比特切片数据C(j)分享为两个分片,
训练参与方将分箱信息比特切片数据Eq(r) 分享为两个分片,
4.根据权利要求2所述的一种无第三方的联邦梯度提升决策树模型训练方法,其特征在于,所述步骤S6中训练发起方、训练参与方根据安全乘法协议计算出样本数据集y中第q个特征数据的第r个分箱对应的二阶梯度和的方法包括以下步骤,1≤r≤N:
训练发起方将比特切片数据F(j)分享为两个分片,
训练参与方将比特切片数据Eq(r) 分享为两个分片,
5.根据权利要求1或2或3或4所述的一种无第三方的联邦梯度提升决策树模型训练方法,其特征在于,所述模型参数包括联邦梯度提升决策树的深度、联邦梯度提升决策树的棵数、大梯度样本采样率、小梯度样本采样率、树列采样率、树行采样率、学习率、最大叶子数量、分裂后最少节点样本数量、分裂的最小收益、分箱数量、L2正则、L1正则、终止阈值、建模方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210052120.0A CN114091624B (zh) | 2022-01-18 | 2022-01-18 | 一种无第三方的联邦梯度提升决策树模型训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210052120.0A CN114091624B (zh) | 2022-01-18 | 2022-01-18 | 一种无第三方的联邦梯度提升决策树模型训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114091624A CN114091624A (zh) | 2022-02-25 |
CN114091624B true CN114091624B (zh) | 2022-04-26 |
Family
ID=80308734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210052120.0A Active CN114091624B (zh) | 2022-01-18 | 2022-01-18 | 一种无第三方的联邦梯度提升决策树模型训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114091624B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114362948B (zh) * | 2022-03-17 | 2022-07-12 | 蓝象智联(杭州)科技有限公司 | 一种联邦衍生特征逻辑回归建模方法 |
CN114553395B (zh) * | 2022-04-24 | 2022-07-26 | 蓝象智联(杭州)科技有限公司 | 一种风控场景下的纵向联邦特征衍生方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464287A (zh) * | 2020-12-12 | 2021-03-09 | 同济大学 | 基于秘密共享与联邦学习的多方XGBoost安全预测模型训练方法 |
CN113688999A (zh) * | 2021-08-23 | 2021-11-23 | 神州融安科技(北京)有限公司 | 一种横向联邦xgboost决策树的训练方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2831797B1 (en) * | 2012-03-30 | 2018-05-02 | Irdeto B.V. | Securing accessible systems using dynamic data mangling |
CN110036640B (zh) * | 2016-12-14 | 2023-06-20 | 深圳市大疆创新科技有限公司 | 用于支持视频比特流切换的系统和方法 |
CN111340057B (zh) * | 2018-12-19 | 2023-07-25 | 杭州海康威视数字技术股份有限公司 | 一种分类模型训练的方法及装置 |
US11699106B2 (en) * | 2019-03-15 | 2023-07-11 | Microsoft Technology Licensing, Llc | Categorical feature enhancement mechanism for gradient boosting decision tree |
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
CN112381307B (zh) * | 2020-11-20 | 2023-12-22 | 平安科技(深圳)有限公司 | 一种气象事件预测方法、装置及相关设备 |
CN112836830B (zh) * | 2021-02-01 | 2022-05-06 | 广西师范大学 | 一种联邦梯度提升决策树投票并行训练方法 |
CN113343042A (zh) * | 2021-06-29 | 2021-09-03 | 维沃移动通信有限公司 | 数据分片存储方法、装置、电子设备及存储介质 |
CN113591152A (zh) * | 2021-08-04 | 2021-11-02 | 神谱科技(上海)有限公司 | 一种基于LightGBM算法的纵向联邦建模方法 |
CN113609843B (zh) * | 2021-10-12 | 2022-02-01 | 京华信息科技股份有限公司 | 一种基于梯度提升决策树的句词概率计算方法及系统 |
-
2022
- 2022-01-18 CN CN202210052120.0A patent/CN114091624B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464287A (zh) * | 2020-12-12 | 2021-03-09 | 同济大学 | 基于秘密共享与联邦学习的多方XGBoost安全预测模型训练方法 |
CN113688999A (zh) * | 2021-08-23 | 2021-11-23 | 神州融安科技(北京)有限公司 | 一种横向联邦xgboost决策树的训练方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114091624A (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114091624B (zh) | 一种无第三方的联邦梯度提升决策树模型训练方法 | |
CN110909667B (zh) | 面向多角度sar目标识别网络的轻量化设计方法 | |
CN106228398A (zh) | 基于c4.5决策树算法的特定用户挖掘系统及其方法 | |
CN107749757B (zh) | 一种基于堆栈式自编码和pso算法的数据压缩方法及装置 | |
CN109327480B (zh) | 一种多步攻击场景挖掘方法 | |
CN109299185B (zh) | 一种针对时序流数据的卷积神经网络提取特征的分析方法 | |
CN110490230A (zh) | 基于深度卷积生成对抗网络的水声目标识别方法 | |
CN111507319A (zh) | 一种基于深度融合卷积网络模型的农作物病害识别方法 | |
CN111754345A (zh) | 一种基于改进随机森林的比特币地址分类方法 | |
CN110718235A (zh) | 异常声音检测的方法、电子设备及存储介质 | |
CN111694830A (zh) | 基于深度集成学习的缺失数据补全方法 | |
CN109063983B (zh) | 一种基于社交媒体数据的自然灾害损失实时评估方法 | |
CN105304078A (zh) | 目标声数据训练装置和目标声数据训练方法 | |
CN111723874A (zh) | 一种基于宽度和深度神经网络的声场景分类方法 | |
CN112766360A (zh) | 一种基于时序二维化和宽度学习的时间序列分类方法和系统 | |
CN114362948B (zh) | 一种联邦衍生特征逻辑回归建模方法 | |
CN115659807A (zh) | 一种基于贝叶斯优化模型融合算法对人才表现预测的方法 | |
Marchese et al. | Topological learning for acoustic signal identification | |
CN111933179B (zh) | 基于混合式多任务学习的环境声音识别方法及装置 | |
CN111626324A (zh) | 基于边缘计算的海底观测网数据异构解析集成方法 | |
CN113962335B (zh) | 一种可灵活配置的数据全过程处理方法 | |
CEME | Student performance prediction and risk analysis by using data mining approach | |
CN115577274A (zh) | 一种基于多维度特征的企业批量聚类方法和系统 | |
Ortelli et al. | Faster estimation of discrete choice models via dataset reduction | |
CN112364080A (zh) | 一种面向海量向量库的快速检索系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |