CN117675411B - 一种基于纵向XGBoost算法的全局模型获取方法及系统 - Google Patents
一种基于纵向XGBoost算法的全局模型获取方法及系统 Download PDFInfo
- Publication number
- CN117675411B CN117675411B CN202410129212.3A CN202410129212A CN117675411B CN 117675411 B CN117675411 B CN 117675411B CN 202410129212 A CN202410129212 A CN 202410129212A CN 117675411 B CN117675411 B CN 117675411B
- Authority
- CN
- China
- Prior art keywords
- participant
- module
- derivative
- sample data
- party
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000003066 decision tree Methods 0.000 claims abstract description 62
- 238000004364 calculation method Methods 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 18
- 230000006854 communication Effects 0.000 abstract description 7
- 238000004891 communication Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于纵向XGBoost算法的全局模型获取方法及系统,该方法包括:协作方生成公钥和私钥,并将公钥分别发送至第一参与方和第二参与方;第一参与方和第二参与方分别根据公钥完成数据加密对齐,以获取加密对齐后的样本数据;第一参与方根据加密对齐后的样本数据创建决策树,与第二参与方相配合,根据分裂点算法更新决策树;多次选代上述步骤,直至满足预设条件后停止迭代以获取模型参数;协作方根据私钥解密模型参数以获取全局模型;本申请保证了各个参与方的数据隐私安全,同时各个参与方之间只需交换加密后的模型参数,从而有效提高了模型在获取过程中的安全性,同时也降低了在通信过程中的通信开销及计算的复杂度。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于纵向XGBoost算法的全局模型获取方法及系统。
背景技术
XGBoost(eXtreme Gradient Boosting)又叫极度梯度提升树,是boosting算法的一种实现方式;纵向XGBoost决策树联邦学习是指当每个样本的特征信息和标签信息掌握在不同所有者处,各方联合进行XGBoost决策树的训练,并且各方在训练和推理过程中不希望向其他任意方泄露关于样本的特征信息或者标签信息。
目前,往往在一个机构中并未包含某种特征的全部信息(如在金融、医疗等领域;由于医学数据的类型、属性、表达方式是错综复杂的,且资源庞大,过程复杂,可能存在大量的冗余数据;数据类型多样,包括文字、影像和信号等,数据稀疏性强),而是分散在各个机构,由于各个机构中的数据都会存在隐私数据,这也使得各个机构不愿轻意地共享、集成相关的数据,从而使纵向XGBoost决策树模型训练过程中和联合推理过程中,存在被动方的特征信息泄露严重的情况,难以保护各方样本特征信息的隐私安全性。
鉴于此,提供一种保证数据隐私安全性的同时提高训练效率的基于纵向XGBoost算法的全局模型获取方法及系统是本领域技术人员亟待解决的技术问题。
发明内容
本发明的目的为提供一种基于纵向XGBoost算法的全局模型获取方法及系统,从而有效地保证数据的隐私安全性,也提高了模型在获取过程中的安全性,同时也降低了在通信过程中的通信开销以及计算的复杂度。
为解决上述技术问题,本发明提供的技术方案如下:
一种基于纵向XGBoost算法的全局模型获取方法,包括如下步骤:
S1.协作方生成公钥和私钥,并将所述公钥分别发送至第一参与方和第二参与方;
S2.所述第一参与方和所述第二参与方分别根据所述公钥完成数据加密对齐,以获取加密对齐后的样本数据;
S3.所述第一参与方根据加密对齐后的样本数据创建决策树,与所述第二参与方相配合,根据分裂点算法更新所述决策树;
S4.多次选代所述步骤S3,直至满足预设条件后停止迭代,以获取模型参数;
S5.所述协作方根据所述私钥解密所述模型参数,以获取全局模型。
优选地,所述步骤S2,包括如下步骤:
所述第一参与方根据所述公钥对第一样本数据进行加密,并将加密后的第一样本数据发送至所述第二参与方;
所述第二参与方根据所述公钥对第二样本数据进行加密,所述第二样本数据并跟加密后的所述第一样本数据进行交集处理,以获取加密对齐后的样本数据,所述第二参与方将加密对齐后的样本数据发送给所述第一参与方。
优选地,所述步骤S3中所述第一参与方根据加密对齐后的样本数据创建决策树,包括以下步骤:
所述第一参与方根据所述加密对齐后的样本数据计算出一阶导数和二阶导数,所述第一参与方将所述一阶导数和所述二阶导数发送至所述第二参与方;
根据所述一阶导数和所述二阶导数计算出一阶导数聚合值和二阶导数聚合值,以获取所述第一参与方的本地分裂点;
根据所述第一参与方的本地分裂点创建所述决策树。
优选地,所述步骤S3中与所述第二参与方相配合,根据分裂点算法更新所述决策树,包括如下步骤:
根据所述一阶导数和所述二阶导数计算出所述第二参与方的一阶导数聚合值和二阶导数聚合值;
将所述第二参与方的一阶导数聚合值和二阶导数聚合值发送至所述第一参与方,以计算出所述第二参与方的本地分裂点;
将所述第二参与方的本地分裂点与所述第一参与方的本地分裂点进行增益比较,以获取全局目标分裂点;
根据所述全局目标分裂点更新所述决策树。
还提供了一种基于纵向XGBoost算法的全局模型获取系统,包括:发送模块、加密对齐模块、更新模块、迭代模块和解密模块;
所述发送模块,用于协作方生成公钥和私钥,并将所述公钥分别发送至第一参与方和第二参与方;
所述加密对齐模块,用于所述第一参与方和所述第二参与方分别根据所述公钥完成数据加密对齐,以获取加密对齐后的样本数据;
所述更新模块,用于所述第一参与方根据加密对齐后的样本数据创建决策树,与所述第二参与方相配合,根据分裂点算法更新所述决策树;
所述迭代模块,用于多次选代所述更新模块所执行的动作,直至满足预设条件后停止迭代,以获取模型参数;
所述解密模块,用于所述协作方根据所述私钥解密所述模型参数,以获取全局模型。
优选地,所述加密对齐模块,包括:第一加密模块和第二加密模块;
所述第一加密模块,用于所述第一参与方根据所述公钥对第一样本数据进行加密,并将加密后的第一样本数据发送至所述第二参与方;
所述第二加密模块,用于所述第二参与方根据所述公钥对第二样本数据进行加密,所述第二样本数据并跟加密后的所述第一样本数据进行交集处理,以获取加密对齐后的样本数据,所述第二参与方将加密对齐后的样本数据发送给所述第一参与方。
优选地,所述更新模块,包括:第一计算模块、第二计算模块和创建模块;
所述第一计算模块,用于所述第一参与方根据所述加密对齐后的样本数据计算出一阶导数和二阶导数,所述第一参与方将所述一阶导数和所述二阶导数发送至所述第二参与方;
所述第二计算模块,用于根据所述一阶导数和所述二阶导数计算出一阶导数聚合值和二阶导数聚合值,以获取所述第一参与方的本地分裂点;
所述创建模块,用于根据所述第一参与方的本地分裂点创建所述决策树。
优选地,所述更新模块,还包括:第三计算模块、第四计算模块、比较模块和决策树更新模块;
所述第三计算模块,用于根据所述一阶导数和所述二阶导数计算出所述第二参与方的一阶导数聚合值和二阶导数聚合值;
所述第四计算模块,用于将所述第二参与方的一阶导数聚合值和二阶导数聚合值发送至所述第一参与方,以计算出所述第二参与方的本地分裂点;
所述比较模块,用于将所述第二参与方的本地分裂点与所述第一参与方的本地分裂点进行增益比较,以获取全局目标分裂点;
所述决策树更新模块,用于根据所述全局目标分裂点更新所述决策树。
本发明提供了一种基于纵向XGBoost算法的全局模型获取方法,通过S1.协作方生成公钥和私钥,并将公钥分别发送至第一参与方和第二参与方;S2.第一参与方和第二参与方分别根据公钥完成数据加密对齐,以获取加密对齐后的样本数据;S3.第一参与方根据加密对齐后的样本数据创建决策树,与第二参与方相配合,根据分裂点算法更新决策树;S4.多次选代步骤S3,直至满足预设条件后停止迭代,以获取模型参数;S5.协作方根据私钥解密模型参数,以获取全局模型;本方法通过协作方来统一生成公钥跟私钥,然后传输给各个参与方,保证了各个参与方的数据隐私安全,同时各个参与方之间只需要交换加密后的模型参数,从而有效提高了模型在获取过程中的安全性,同时也降低了在通信过程中的通信开销以及计算的复杂度。
本发明还提供了一种基于纵向XGBoost算法的全局模型获取系统,由于该系统与该基于纵向XGBoost算法的全局模型获取方法解决相同的技术问题,属于相同的技术构思,理应具有相同的有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于纵向XGBoost算法的全局模型获取方法的流程图;
图2为本发明实施例中步骤S2的流程图;
图3为本发明实施例中步骤S3的流程图;
图4为本发明实施例中步骤S3的另一流程图;
图5为本发明实施例中基于纵向XGBoost算法的全局模型获取系统的结构示意图。
具体实施方式
为了使本领域的技术人员更好地理解本申请中的技术方案,下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,本发明实施例提供一种基于纵向XGBoost算法的全局模型获取方法,包括如下步骤:
S1.协作方生成公钥和私钥,并将公钥分别发送至第一参与方和第二参与方;
S2.第一参与方和第二参与方分别根据公钥完成数据加密对齐,以获取加密对齐后的样本数据;
S3.第一参与方根据加密对齐后的样本数据创建决策树,与第二参与方相配合,根据分裂点算法更新决策树;
S4.多次选代步骤S3,直至满足预设条件后停止迭代,以获取模型参数;
S5.协作方根据私钥解密模型参数,以获取全局模型。
在步骤S1至步骤S2中,所述协作方为中央服务器,协作方利用Paillier算法生成公钥(public key)和私钥(private key),然后协作方将公钥发送给第一参与方和第二参与方,用来对需要传输的样本数据进行加密;第一参与方和第二参与方则根据协作方发送的公钥分别进行样本数据加密,然后将加密的样本数据进行数据对齐,从而得到加密对齐后的样本数据;所述第一参与方为标签方,属于发起方;所述第二参与方为普通参与方,可以有多个参与方;本实施例所采用的Paillier算法是一种公钥密码算法,它允许计算机之间的加密通信;
在步骤S3至步骤S4中,第一参与方将加密对齐后的样本数据进行计算处理后,独自生成决策树;再结合第二参与方计算得到的数据特征的分裂信息,根据分裂点算法更新决策树;然后在多次迭代更新决策树的步骤,直至达到最优分裂或达到最大决策树后,停止分裂得到最后的模型参数;具体的,模型参数为全局最优分裂点;
在步骤S5中,协作方将根据生成的私钥对模型参数进行解密,从而得到最优的全局模型,在分裂过程中的局部最优分裂点对第一参与方不是完全公开的,第一参与方也只知道其他第二参与方的身份标识和最优分裂点特征标识,具体特征分箱编号标识对其保密,这样保证了各个参与方的数据隐私安全,从而提高了模型在获取过程中的安全性。
如图2所示,优选地,所述步骤S2,包括如下步骤:
A1.第一参与方根据公钥对第一样本数据进行加密,并将加密后的第一样本数据发送至第二参与方;
A2.第二参与方根据公钥对第二样本数据进行加密,第二样本数据并跟加密后的第一样本数据进行交集处理,以获取加密对齐后的样本数据,第二参与方将加密对齐后的样本数据发送给第一参与方。
在步骤A1至步骤A2中,第一参与方根据公钥对存储在本地样本数据进行加密,然后将加密后的本地样本数据发送至第二参与方,然后第二参与方将根据公钥以第一参与方同样的加密方式对第二样本数据进行加密,并与第一参与方发送过来的第一样本加密数据进行交集处理,以获取双方共同拥有的加密对齐后的样本数据,然后将双方共同拥有的加密对齐后的样本数据发送给第一参与方;在第一参与方与第二参与方进行数据交互的过程中,第二参与方自己的样本数据是没有出本地的,这样也保证了数据的安全性。
如图3所示,优选地,所述步骤S3中所述第一参与方根据加密对齐后的样本数据创建决策树,包括以下步骤:
B1.第一参与方根据加密对齐后的样本数据计算出一阶导数和二阶导数,第一参与方将一阶导数和二阶导数发送至第二参与方;
B2.根据一阶导数和二阶导数计算出一阶导数聚合值和二阶导数聚合值,以获取第一参与方的本地分裂点;
B3.根据第一参与方的本地分裂点创建决策树。
在步骤B1中,第一参与方根据所述加密对齐后的样本数据计算出一阶导数和二阶导数,第一参与方并将一阶导数和二阶导数发送至第二参与方;具体的计算公式为:
其中,为一阶导数,/>是前/>棵决策树对样本i的预测值,/>是样本i的实际值,/>是前/>棵决策树对样本i的预测概率值。
其中,为二阶导数。
在步骤B2至步骤B3中,根据一阶导数和二阶导数计算出一阶导数聚合值和二阶导数聚合值,从而得到第一参与方的本地最优分裂点;根据第一参与方的本地分裂点创建决策树;具体的计算公式为:
;
;
其中,表示一阶导数聚合值,/>表示二阶导数聚合值;/>表示第K个参与方的样本数据集。
如图4所示,优选地,所述步骤S3中与所述第二参与方相配合,根据分裂点算法更新所述决策树,包括如下步骤:
C1.根据一阶导数和二阶导数计算出第二参与方的一阶导数聚合值和二阶导数聚合值;
C2.将第二参与方的一阶导数聚合值和二阶导数聚合值发送至第一参与方,以计算出第二参与方的本地分裂点;
C3.将第二参与方的本地分裂点与第一参与方的本地分裂点进行增益比较,以获取全局目标分裂点;
C4.根据全局目标分裂点更新决策树。
在步骤C1至步骤C2中,第二参与方将以步骤B2至步骤B3中的计算公式计算出本地的一阶导数聚合值和二阶导数聚合值以及根据特征标识和分箱标识生成记录编号;将第二参与方的一阶导数聚合值和二阶导数聚合值发送至第一参与方中,由第一参与方计算出第二参与方的本地最优分裂点;其中,分箱是指对样本数据进行批次的划分。
在步骤C3中,第一参与方将步骤C1中计算得到第二参与方的本地最优分裂点与第一参与方的本地最优分裂点信息增益比较,从而选出全局最优分裂点;
具体的,在XGboost算法的实现过程中损失函数主要用来评价生成决策树的得分,得分越小就说明决策树的结构越好,那么一棵树该选择哪个节点进行分裂,则引入最优分裂点信息增益;计算公式为:
;
其中,表示最优分裂点信息增益;/>和/>分别表示分裂后左右节点的样本空间;/>表示第二正则项的超参数;/>表示第一正则项的超参数,当/>和/>越大,惩罚越重,正则项所占的比例就越大;其中,第二正则项和第一正则项都属于正则化项,又叫做惩罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项参数。
在步骤C4中,第一参与方根据全局最优分裂点更新决策树模型的叶子节点信息和样本在当前分裂节点的分布情况,然后根据叶子节点权重更新模型参数的值,并更新样本数据的一阶导数和二阶导数,将加密的一阶导数和二阶导数发送给第二参与方,根据分裂过程多方协作更新决策树。
如图5所示,本申请还提供了一种基于纵向XGBoost算法的全局模型获取系统,包括:发送模块、加密对齐模块、更新模块、迭代模块和解密模块;
发送模块,用于协作方生成公钥和私钥,并将公钥分别发送至第一参与方和第二参与方;
加密对齐模块,用于第一参与方和第二参与方分别根据公钥完成数据加密对齐,以获取加密对齐后的样本数据;
更新模块,用于第一参与方根据加密对齐后的样本数据创建决策树,与第二参与方相配合,根据分裂点算法更新决策树;
迭代模块,用于多次选代更新模块所执行的动作,直至满足预设条件后停止迭代,以获取模型参数;
解密模块,用于协作方根据私钥解密模型参数,以获取全局模型。
在实际运用过程中,设置了发送模块、加密对齐模块、更新模块、迭代模块和解密模块;发送模块与加密对齐模块连接;加密对齐模块与更新模块连接;迭代模块分别与更新模块和解密模块连接;发送模块将用于协作方生成公钥和私钥,并将公钥分别发送至第一参与方和第二参与方,然后进入加密对齐模块;在加密对齐模块中,第一参与方和第二参与方将分别根据公钥完成数据加密对齐,以获取加密对齐后的样本数据,然后将加密对齐后的样本数据发送至更新模块中;在更新模块中,第一参与方将根据加密对齐后的样本数据创建决策树,然后与第二参与方相配合,根据分裂点算法更新决策树,然后进入迭代模块中;迭代模块将多次选代更新模块所执行的动作,直至满足预设条件后停止迭代,从而获取模型参数,并将模型参数发送至解密模块中;解密模块中的协作方根据私钥解密模型参数,最终获取全局最优模型。
优选地,所述加密对齐模块,包括:第一加密模块、第二加密模块和交集获取模块;
第一加密模块,用于第一参与方根据公钥对第一样本数据进行加密,并将加密后的第一样本数据发送至第二参与方;
第二加密模块,用于第二参与方根据公钥对第二样本数据进行加密,第二样本数据并跟加密后的第一样本数据进行交集处理,以获取加密对齐后的样本数据,第二参与方将加密对齐后的样本数据发送给第一参与方。
在实际运用过程中,在加密对齐模块中设置了第一加密模块和第二加密模块;第一加密模块通过第二加密模块与交集获取模块连接;在第一加密模块中,第一参与方根据公钥对第一样本数据进行加密,并将加密后的第一样本数据发送至第二参与方,然后进入第二加密模块中;第二加密模块中的第二参与方根据公钥和加密后的第一样本数据对第二样本数据进行加密,并将加密后的第二样本数据发送至第一参与方后,第一参与方获取加密后的第一样本数据和加密后的第二样本数据的交集,以获取加密对齐后的样本数据。
优选地,所述更新模块,包括:第一计算模块、第二计算模块和创建模块;
第一计算模块,用于第一参与方根据加密对齐后的样本数据计算出一阶导数和二阶导数,第一参与方将一阶导数和二阶导数发送至第二参与方;
第二计算模块,用于根据一阶导数和二阶导数计算出一阶导数聚合值和二阶导数聚合值,以获取第一参与方的本地分裂点;
创建模块,用于根据第一参与方的本地分裂点创建决策树。
在实际运用过程中,在更新模块中设置了第一计算模块、第二计算模块和创建模块;第一计算模块通过第二计算模块与创建模块连接;在第一计算模块中,第一参与方根据加密对齐后的样本数据计算出一阶导数和二阶导数,然后将一阶导数和二阶导数发送至第二计算模块中;第二计算模块将根据一阶导数和二阶导数计算出一阶导数聚合值和二阶导数聚合值,以获取第一参与方的本地分裂点,并将第一参与方的本地分裂点发送至创建模块中;创建模块则根据第一参与方的本地分裂点创建决策树。
优选地,所述更新模块,还包括:第三计算模块、第四计算模块、比较模块和决策树更新模块;
第三计算模块,用于根据一阶导数和二阶导数计算出第二参与方的一阶导数聚合值和二阶导数聚合值;
第四计算模块,用于将第二参与方的一阶导数聚合值和二阶导数聚合值发送至第一参与方,以计算出第二参与方的本地分裂点;
比较模块,用于将第二参与方的本地分裂点与第一参与方的本地分裂点进行增益比较,以获取全局目标分裂点;
决策树更新模块,用于根据全局目标分裂点更新决策树。
在实际运用过程中,更新模块中还设置了第三计算模块、第四计算模块、比较模块和决策树更新模块;第三计算模块与第四计算模块连接;第四计算模块与比较模块连接;比较模块与决策树更新模块连接;第三计算模块根据一阶导数和二阶导数计算出第二参与方的一阶导数聚合值和二阶导数聚合值后,将第二参与方的一阶导数聚合值和二阶导数聚合值发送至第四计算模块中;第四计算模块将将第二参与方的一阶导数聚合值和二阶导数聚合值发送至第一参与方,以计算出第二参与方的本地分裂点后,将第二参与方的本地分裂点发送至比较模块中;比较模块将第一参与方的本地分裂点与第二参与方的本地分裂点进行增益比较,以获取全局目标分裂点后,将全局目标分裂点决策树更新模块中;决策树更新模块将根据全局目标分裂点更新决策树。
在本申请所提供的实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
另外,在本发明各实施例中的各功能模块可以全部集成在一个处理器中,也可以是各模块分别单独作为一个器件,也可以两个或两个以上模块集成在一个器件中;本发明各实施例中的各功能模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令及相关的硬件来完成,前述的程序指令可以存储于计算机可读取存储介质中,该程序指令在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
应当理解,本申请中如若使用了“方法”、“装置”、“单元”和/或“模块”,仅是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请中如若使用了流程图,则该流程图是用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (2)
1.一种基于纵向XGBoost算法的全局模型获取方法,其特征在于,包括如下步骤:
S1.协作方生成公钥和私钥,并将所述公钥分别发送至第一参与方和第二参与方;
S2.所述第一参与方和所述第二参与方分别根据所述公钥完成数据加密对齐,以获取加密对齐后的样本数据;
S3.所述第一参与方根据加密对齐后的样本数据创建决策树,与所述第二参与方相配合,根据分裂点算法更新所述决策树;
S4.多次迭代所述步骤S3,直至满足预设条件后停止迭代,以获取模型参数;
S5.所述协作方根据所述私钥解密所述模型参数,以获取全局模型;
所述步骤S2,包括如下步骤:
所述第一参与方根据所述公钥对第一样本数据进行加密,并将加密后的第一样本数据发送至所述第二参与方;
所述第二参与方根据所述公钥对第二样本数据进行加密,所述第二样本数据并跟加密后的所述第一样本数据进行交集处理,以获取加密对齐后的样本数据,所述第二参与方将加密对齐后的样本数据发送给所述第一参与方;
所述步骤S3中所述第一参与方根据加密对齐后的样本数据创建决策树,包括以下步骤:
所述第一参与方根据所述加密对齐后的样本数据计算出一阶导数和二阶导数,所述第一参与方将所述一阶导数和所述二阶导数发送至所述第二参与方;
根据所述一阶导数和所述二阶导数计算出一阶导数聚合值和二阶导数聚合值,以获取所述第一参与方的本地分裂点;
根据所述第一参与方的本地分裂点创建所述决策树;
所述步骤S3中与所述第二参与方相配合,根据分裂点算法更新所述决策树,包括如下步骤:
根据所述一阶导数和所述二阶导数计算出所述第二参与方的一阶导数聚合值和二阶导数聚合值;
将所述第二参与方的一阶导数聚合值和二阶导数聚合值发送至所述第一参与方,以计算出所述第二参与方的本地分裂点;
将所述第二参与方的本地分裂点与所述第一参与方的本地分裂点进行增益比较,以获取全局目标分裂点;
根据所述全局目标分裂点更新所述决策树。
2.一种基于纵向XGBoost算法的全局模型获取系统,其特征在于,包括:发送模块、加密对齐模块、更新模块、迭代模块和解密模块;
所述发送模块,用于协作方生成公钥和私钥,并将所述公钥分别发送至第一参与方和第二参与方;
所述加密对齐模块,用于所述第一参与方和所述第二参与方分别根据所述公钥完成数据加密对齐,以获取加密对齐后的样本数据;
所述更新模块,用于所述第一参与方根据加密对齐后的样本数据创建决策树,与所述第二参与方相配合,根据分裂点算法更新所述决策树;
所述迭代模块,用于多次迭代所述更新模块所执行的动作,直至满足预设条件后停止迭代,以获取模型参数;
所述解密模块,用于所述协作方根据所述私钥解密所述模型参数,以获取全局模型;
所述加密对齐模块,包括:第一加密模块和第二加密模块;
所述第一加密模块,用于所述第一参与方根据所述公钥对第一样本数据进行加密,并将加密后的第一样本数据发送至所述第二参与方;
所述第二加密模块,用于所述第二参与方根据所述公钥对第二样本数据进行加密,所述第二样本数据并跟加密后的所述第一样本数据进行交集处理,以获取加密对齐后的样本数据,所述第二参与方将加密对齐后的样本数据发送给所述第一参与方;
所述更新模块,包括:第一计算模块、第二计算模块和创建模块;
所述第一计算模块,用于所述第一参与方根据所述加密对齐后的样本数据计算出一阶导数和二阶导数,所述第一参与方将所述一阶导数和所述二阶导数发送至所述第二参与方;
所述第二计算模块,用于根据所述一阶导数和所述二阶导数计算出一阶导数聚合值和二阶导数聚合值,以获取所述第一参与方的本地分裂点;
所述创建模块,用于根据所述第一参与方的本地分裂点创建所述决策树;
所述更新模块,还包括:第三计算模块、第四计算模块、比较模块和决策树更新模块;
所述第三计算模块,用于根据所述一阶导数和所述二阶导数计算出所述第二参与方的一阶导数聚合值和二阶导数聚合值;
所述第四计算模块,用于将所述第二参与方的一阶导数聚合值和二阶导数聚合值发送至所述第一参与方,以计算出所述第二参与方的本地分裂点;
所述比较模块,用于将所述第二参与方的本地分裂点与所述第一参与方的本地分裂点进行增益比较,以获取全局目标分裂点;
所述决策树更新模块,用于根据所述全局目标分裂点更新所述决策树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410129212.3A CN117675411B (zh) | 2024-01-31 | 2024-01-31 | 一种基于纵向XGBoost算法的全局模型获取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410129212.3A CN117675411B (zh) | 2024-01-31 | 2024-01-31 | 一种基于纵向XGBoost算法的全局模型获取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117675411A CN117675411A (zh) | 2024-03-08 |
CN117675411B true CN117675411B (zh) | 2024-04-26 |
Family
ID=90071625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410129212.3A Active CN117675411B (zh) | 2024-01-31 | 2024-01-31 | 一种基于纵向XGBoost算法的全局模型获取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117675411B (zh) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
CN111460511A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联邦学习、虚拟对象分配方法和装置 |
CN113159327A (zh) * | 2021-03-25 | 2021-07-23 | 深圳前海微众银行股份有限公司 | 基于联邦学习系统的模型训练方法、装置、电子设备 |
CN113688999A (zh) * | 2021-08-23 | 2021-11-23 | 神州融安科技(北京)有限公司 | 一种横向联邦xgboost决策树的训练方法 |
CN113947211A (zh) * | 2021-10-11 | 2022-01-18 | 京东科技控股股份有限公司 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
CN114021168A (zh) * | 2021-11-09 | 2022-02-08 | 深圳大学 | 基于联邦学习的地铁基坑开挖风险识别方法及装置 |
CN114169537A (zh) * | 2022-02-11 | 2022-03-11 | 神州融安科技(北京)有限公司 | 一种纵向xgboost决策树的联邦学习方法和系统 |
CN114677200A (zh) * | 2022-04-01 | 2022-06-28 | 重庆邮电大学 | 基于多方高维数据纵向联邦学习的商业信息推荐方法及装置 |
WO2022165535A1 (en) * | 2021-02-01 | 2022-08-04 | Jpmorgan Chase Bank, N.A. | Systems and methods for federated learning using peer-to-peer networks |
CN115130568A (zh) * | 2022-06-20 | 2022-09-30 | 中国人民解放军战略支援部队信息工程大学 | 支持多参与方的纵向联邦Softmax回归方法及系统 |
CN115392531A (zh) * | 2022-06-29 | 2022-11-25 | 云南电网有限责任公司信息中心 | 基于纵向联邦逻辑回归的企业电费缴纳风险预测方法及系统 |
CN115392487A (zh) * | 2022-06-30 | 2022-11-25 | 中国人民解放军战略支援部队信息工程大学 | 基于同态加密的隐私保护非线性联邦支持向量机训练方法及系统 |
CN115481415A (zh) * | 2022-08-22 | 2022-12-16 | 西安交通大学 | 基于纵向联邦学习的通信成本优化方法、系统、设备及介质 |
CN116029392A (zh) * | 2023-02-06 | 2023-04-28 | 中国烟草总公司贵州省公司 | 一种基于联邦学习的联合训练方法及系统 |
CN116167868A (zh) * | 2022-12-27 | 2023-05-26 | 人保信息科技有限公司 | 基于隐私计算的风险识别方法、装置、设备以及存储介质 |
CN116186769A (zh) * | 2023-01-19 | 2023-05-30 | 杭州博盾习言科技有限公司 | 基于隐私计算的纵向联邦XGBoost特征衍生方法及相关设备 |
CN116415267A (zh) * | 2021-12-30 | 2023-07-11 | 新智我来网络科技有限公司 | 一种联合学习模型迭代更新方法、装置、系统及存储介质 |
CN117034287A (zh) * | 2023-08-03 | 2023-11-10 | 国家电网有限公司大数据中心 | 基于隐私计算互联互通技术的多方联合建模安全增强方法 |
CN117273918A (zh) * | 2023-10-11 | 2023-12-22 | 华北电力大学 | 一种基于增量纵向联邦学习的电力用户信用评估方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4125236A1 (en) * | 2021-07-26 | 2023-02-01 | Nagravision Sarl | Secret code verification protocol |
CN114745092B (zh) * | 2022-04-11 | 2024-05-24 | 浙江工商大学 | 一种基于联邦学习的金融数据共享隐私保护方法 |
-
2024
- 2024-01-31 CN CN202410129212.3A patent/CN117675411B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368901A (zh) * | 2020-02-28 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 基于联邦学习的多方联合建模方法、设备和介质 |
CN111460511A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的联邦学习、虚拟对象分配方法和装置 |
WO2022165535A1 (en) * | 2021-02-01 | 2022-08-04 | Jpmorgan Chase Bank, N.A. | Systems and methods for federated learning using peer-to-peer networks |
CN113159327A (zh) * | 2021-03-25 | 2021-07-23 | 深圳前海微众银行股份有限公司 | 基于联邦学习系统的模型训练方法、装置、电子设备 |
CN113688999A (zh) * | 2021-08-23 | 2021-11-23 | 神州融安科技(北京)有限公司 | 一种横向联邦xgboost决策树的训练方法 |
CN113947211A (zh) * | 2021-10-11 | 2022-01-18 | 京东科技控股股份有限公司 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
CN114021168A (zh) * | 2021-11-09 | 2022-02-08 | 深圳大学 | 基于联邦学习的地铁基坑开挖风险识别方法及装置 |
CN116415267A (zh) * | 2021-12-30 | 2023-07-11 | 新智我来网络科技有限公司 | 一种联合学习模型迭代更新方法、装置、系统及存储介质 |
CN114169537A (zh) * | 2022-02-11 | 2022-03-11 | 神州融安科技(北京)有限公司 | 一种纵向xgboost决策树的联邦学习方法和系统 |
CN114677200A (zh) * | 2022-04-01 | 2022-06-28 | 重庆邮电大学 | 基于多方高维数据纵向联邦学习的商业信息推荐方法及装置 |
CN115130568A (zh) * | 2022-06-20 | 2022-09-30 | 中国人民解放军战略支援部队信息工程大学 | 支持多参与方的纵向联邦Softmax回归方法及系统 |
CN115392531A (zh) * | 2022-06-29 | 2022-11-25 | 云南电网有限责任公司信息中心 | 基于纵向联邦逻辑回归的企业电费缴纳风险预测方法及系统 |
CN115392487A (zh) * | 2022-06-30 | 2022-11-25 | 中国人民解放军战略支援部队信息工程大学 | 基于同态加密的隐私保护非线性联邦支持向量机训练方法及系统 |
CN115481415A (zh) * | 2022-08-22 | 2022-12-16 | 西安交通大学 | 基于纵向联邦学习的通信成本优化方法、系统、设备及介质 |
CN116167868A (zh) * | 2022-12-27 | 2023-05-26 | 人保信息科技有限公司 | 基于隐私计算的风险识别方法、装置、设备以及存储介质 |
CN116186769A (zh) * | 2023-01-19 | 2023-05-30 | 杭州博盾习言科技有限公司 | 基于隐私计算的纵向联邦XGBoost特征衍生方法及相关设备 |
CN116029392A (zh) * | 2023-02-06 | 2023-04-28 | 中国烟草总公司贵州省公司 | 一种基于联邦学习的联合训练方法及系统 |
CN117034287A (zh) * | 2023-08-03 | 2023-11-10 | 国家电网有限公司大数据中心 | 基于隐私计算互联互通技术的多方联合建模安全增强方法 |
CN117273918A (zh) * | 2023-10-11 | 2023-12-22 | 华北电力大学 | 一种基于增量纵向联邦学习的电力用户信用评估方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117675411A (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112183730B (zh) | 一种基于共享学习的神经网络模型的训练方法 | |
Zhong et al. | An efficient and outsourcing-supported attribute-based access control scheme for edge-enabled smart healthcare | |
Rahulamathavan et al. | Privacy-preserving multi-class support vector machine for outsourcing the data classification in cloud | |
Zhao et al. | Fedinv: Byzantine-robust federated learning by inversing local model updates | |
CN110611662A (zh) | 一种基于属性基加密的雾协同云数据共享方法 | |
CN111104968A (zh) | 一种基于区块链的安全svm训练方法 | |
CN112101531A (zh) | 基于隐私保护的神经网络模型训练方法、装置及系统 | |
Wiebe et al. | Hardening quantum machine learning against adversaries | |
Li et al. | Ubiquitous intelligent federated learning privacy-preserving scheme under edge computing | |
Cheng et al. | SecureAD: A secure video anomaly detection framework on convolutional neural network in edge computing environment | |
CN106888213A (zh) | 云密文访问控制方法及系统 | |
CN117395067B (zh) | 面向拜占庭鲁棒联邦学习的用户数据隐私保护系统及方法 | |
Imakura et al. | Non-readily identifiable data collaboration analysis for multiple datasets including personal information | |
CN117708887A (zh) | 一种基于纵向逻辑回归的联邦学习模型获取方法及系统 | |
Zola et al. | Generative adversarial networks for bitcoin data augmentation | |
Khan et al. | Vertical federated learning: A structured literature review | |
CN117675411B (zh) | 一种基于纵向XGBoost算法的全局模型获取方法及系统 | |
Han et al. | Privacy-preserving linear fisher discriminant analysis | |
Giannopoulos et al. | Privacy preserving medical data analytics using secure multi party computation. an end-to-end use case | |
CN115186876A (zh) | 保护数据隐私的两方联合训练业务预测模型的方法及装置 | |
Chen et al. | SecDT: privacy-preserving outsourced decision tree classification without polynomial forms in edge-cloud computing | |
Ogiela et al. | Data understanding techniques for management application and cryptography | |
Xu | Functional encryption based approaches for practical privacy-preserving machine learning | |
Wang et al. | A secure data sharing scheme with cheating detection based on Chaum-Pedersen protocol for cloud storage | |
Sumana et al. | Privacy preserving naive bayes classifier for horizontally partitioned data using secure division |
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 |