CN112101577B - 基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质 - Google Patents
基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质 Download PDFInfo
- Publication number
- CN112101577B CN112101577B CN202011270736.2A CN202011270736A CN112101577B CN 112101577 B CN112101577 B CN 112101577B CN 202011270736 A CN202011270736 A CN 202011270736A CN 112101577 B CN112101577 B CN 112101577B
- Authority
- CN
- China
- Prior art keywords
- node
- sample
- current node
- server
- data
- 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
- 238000012360 testing method Methods 0.000 title abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 187
- 230000002776 aggregation Effects 0.000 claims abstract description 94
- 238000004220 aggregation Methods 0.000 claims abstract description 94
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000005192 partition Methods 0.000 claims abstract description 31
- 238000009825 accumulation Methods 0.000 claims description 49
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000004931 aggregating effect Effects 0.000 claims description 10
- 230000000694 effects Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 claims 5
- 229910052709 silver Inorganic materials 0.000 claims 5
- 239000004332 silver Substances 0.000 claims 5
- 238000010801 machine learning Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010295 mobile communication Methods 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
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质,属于机器学习技术领域。该学习方法包括:各训练方服务器利用本地的样本数据联邦训练XGBoost树模型,并在各训练阶段中将本地建模参数发送至聚合方服务器,聚合方服务器在每个训练阶段中根据建模参数判断当前结点是否为叶子结点;若当前结点为非叶子结点,则根据聚合方服务器发送的最优划分对当前结点进行分裂,并将当前结点更新为分裂后的结点;若当前结点为叶子结点,则停止对当前结点的分裂;直到所有的结点均为叶子结点,生成一棵树模型;当生成预设数目的树模型时,停止训练,得到跨样本的联邦XGBoost树模型。本申请实施例确保了本地数据的独立性、安全性和隐私保护。
Description
技术领域
本申请涉及机器学习技术领域,特别是涉及基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质。
背景技术
随着互联网的快速发展,对大数据的挖掘变得越来越重要。中国发明专利申请CN108154430A涉及一种基于机器学习和大数据技术的信用评分构建方法,公开了对原始数据进行提取和预处理成训练样本数据,然后进行机器学习,该过程中实现了多维度大数据的集成与融合。然而,现实中,这些原始数据往往散落在不同的机构中,若对这些原始数据进行集成、融合和机器学习,会对原始数据带来泄密的隐患。
而且,对于各机构而言,出于自身利益和数据合规性以及通信效率的考虑,通常难以直接通过数据共享的形式,将数据集中起来形成完整的训练集。因此,针对基于各机构自身的样本数据训练模型并基于该模型进行样本预测的情况,会因为训练样本数量有限或类型单一等问题导致模型的训练和预测精度不够理想,而且,利用该模型进行样本预测,会导致预测结果的准确性低。
因此,在机器学习时,如何确保原始数据的保密性和安全性同时提高样本预测的准确性,成为本领域技术人员亟待解决的问题。
发明内容
本申请实施例提供了一种基于XGBoost的跨样本联邦学习方法、样本测试方法、系统、设备和介质,以至少解决相关技术中如何确保数据据保密性和安全性的问题。
第一方面,本申请实施例提供一种基于XGBoost的跨样本联邦学习方法,应用于多个训练方服务器,所述方法包括:
各所述训练方服务器利用本地的样本数据联邦训练XGBoost树模型,并在各训练阶段中将本地建模参数发送至聚合方服务器,其中,所述聚合方服务器在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点,所述当前结点为当前正在训练的结点,并将判断结果发送至各所述训练方服务器;
若所述当前结点为非叶子结点,则根据所述聚合方服务器发送的最优划分对所述当前结点进行分裂,并将所述当前结点更新为分裂后的结点,其中,根据所述建模参数计算得到所述最优划分;
若所述当前结点为叶子结点,则停止对所述当前结点的分裂;
直到所有的结点均为叶子结点,生成一棵树模型;
当生成预设数目的所述树模型时,停止训练,得到跨样本的联邦XGBoost树模型。
在其中一些实施例中,所述的在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点包括:
若所述当前结点所在树的层数达到设定的树的最大深度;或者,
若所述当前结点的聚合样本数目小于设定的最小分裂阈值,其中,所述聚合样本数目是由所述聚合方服务器对各所述训练方服务器发送的所述当前结点的样本数目聚合得到;或者,
若所述当前结点的最大分裂增益小于设定的最小分裂增益,其中,所述最大分裂增益根据所述建模参数计算得到,且所述最大分裂增益与所述最优划分对应;或者,
在所述当前结点的最大分裂增益大于设定的最小分裂增益的情况下,根据所述最优划分将所述当前结点试划分为左子结点和右子结点,若试划分得到的左子结点或右子结点的聚合样本数目小于设定的叶子结点最小样本数目阈值,其中,所述试划分得到的各子结点的聚合样本数目是由所述聚合方服务器对各所述训练方服务器发送的试划分的各子结点样本数目分别聚合得到;
所述当前结点为叶子结点。
在其中一些实施例中,所述的根据所述建模参数计算得到所述最优划分包括:
各所述训练方服务器对所述当前结点统计所有维特征的特征划分候选点集合并发送至所述聚合方服务器进行聚合,其中,所述聚合方服务器将每一维特征聚合后的特征划分候选点集合发送给所有训练方服务器;
各所述训练方服务器根据所有维特征聚合后的特征划分候选点集合进行样本划分,对每一维特征对应的所述样本划分内的样本数据进行一阶导累和及二阶导累和,并将得到的所有维特征对应一阶导累和集合和二阶导累和集合发送给所述聚合方服务器进行聚合,其中,所述聚合方服务器根据聚合后的每一维特征所对应的一阶导累和集合以及二阶导累和集合,求左子结点和右子结点上样本的一阶导累和值及二阶导累和值,计算最大分裂增益和最优划分,所述最优划分为所述最大分裂增益所对应的特征数据和该特征划分候选点。
在其中一些实施例中,所述的各所述训练方服务器对所述当前结点统计所有维特征的特征划分候选点集合并发送至所述聚合方服务器进行聚合包括:
各所述训练方服务器对所述当前结点统计所有维特征的特征划分候选点集合;
将统计的所有维特征的特征划分候选点集合发送至所述聚合方服务器,其中,所述聚合方服务器对每一维特征的特征划分候选点集合进行求并集操作,得到每一维特征聚合后的特征划分点集合。
在其中一些实施例中,在生成的所述树模型的数目小于预设数目的情况下,若得到的模型达到预设效果,则通过设定的早停规则终止训练,将得到的模型作为所述联邦XGBoost树模型。
第二方面,本申请实施例提供一种基于XGBoost的跨样本联邦学习方法,应用于聚合方服务器,所述方法包括:
所述聚合方服务器在多个训练方服务器利用本地的样本数据联邦训练XGBoost树模型的各训练阶段中接收各所述训练方服务器发送的建模参数;
根据所述建模参数判断当前结点是否为叶子结点,所述当前结点为当前正在训练的结点,并将判断结果发送至各所述训练方服务器;
若所述当前结点为非叶子结点,则将根据所述建模参数计算得到的最优划分发送给各所述训练方服务器,其中,各所述训练方服务器根据所述最优划分对所述当前结点进行分裂,并将所述当前结点更新为分裂后的结点;若所述当前结点为叶子结点,则停止对所述当前结点的分裂;
直到所有的结点均为叶子结点,生成一棵树模型;
当生成预设数目的所述树模型时,停止训练,得到跨样本的联邦XGBoost树模型。
第三方面,本申请实施例提供一种基于XGBoost的跨样本联邦的样本测试方法,包括:
各训练方服务器利用本地的样本数据联邦训练XGBoost树模型,并在各训练阶段中将本地建模参数发送至聚合方服务器,其中,所述聚合方服务器在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点,所述当前结点为当前正在训练的结点,并将判断结果发送至各所述训练方服务器;
若所述当前结点为非叶子结点,则根据所述聚合方服务器发送的最优划分对所述当前结点进行分裂,并将所述当前结点更新为分裂后的结点,其中,根据所述建模参数计算得到所述最优划分;
若所述当前结点为叶子结点,则停止对所述当前结点的分裂;
直到所有的结点均为叶子结点,生成一棵树模型;
当生成预设数目的所述树模型时,停止训练,得到跨样本的联邦XGBoost树模型;
任意所述训练方服务器通过所述联邦XGBoost树模型对本地的待预测样本数据进行预测,得到预测结果。
第四方面,本申请实施例提供一种基于XGBoost的跨样本联邦学习系统,包括聚合方服务器和多个训练方服务器,其中,
各所述训练方服务器利用本地的样本数据联邦训练XGBoost树模型,并在各训练阶段中将本地建模参数发送至聚合方服务器;
所述聚合方服务器在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点,所述当前结点为当前正在训练的结点,并将判断结果发送至各所述训练方服务器;
若所述当前结点为非叶子结点,则各所述训练方服务器根据所述聚合方服务器发送的最优划分对所述当前结点进行分裂,并将所述当前结点更新为分裂后的结点,其中,根据所述建模参数计算得到所述最优划分;
若所述当前结点为叶子结点,则停止对所述当前结点的分裂;
直到所有的结点均为叶子结点,生成一棵树模型;
当生成预设数目的所述树模型时,停止训练,得到跨样本的联邦XGBoost树模型。
第五方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储介质,所述计算机程序被所述处理器执行时实现如上述任一项所述的基于XGBoost的跨样本联邦学习方法,或者,如上述的基于XGBoost的跨样本联邦的样本测试方法。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的基于XGBoost的跨样本联邦学习方法,或者,如上述的基于XGBoost的跨样本联邦的样本测试方法。
根据上述内容,本申请实施例的基于XGBoost的跨样本联邦学习方法,包括:各所述训练方服务器利用本地的样本数据联邦训练XGBoost树模型,并在各训练阶段中将本地建模参数发送至聚合方服务器,其中,所述聚合方服务器在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点,所述当前结点为当前正在训练的结点,并将判断结果发送至各所述训练方服务器;若所述当前结点为非叶子结点,则根据所述聚合方服务器发送的最优划分对所述当前结点进行分裂,并将所述当前结点更新为分裂后的结点,其中,根据所述建模参数计算得到所述最优划分;若所述当前结点为叶子结点,则停止对所述当前结点的分裂;直到所有的结点均为叶子结点,生成一棵树模型;当生成预设数目的所述树模型时,停止训练,得到跨样本的联邦XGBoost树模型。由于各训练方服务器向聚合方服务器传送建模参数,不会泄露原始的特征数据和标签数据,从而在确保了本地数据的的保密性和安全性的情况下,仍然可以充分利用各训练方数据进行联邦学习。而且,采用本申请实施例的联邦学习方法,建模效果和将各训练方服务器的数据集中在一起训练XGBoost树模型的效果一致,能够得到准确性较高的联邦XGBoost树模型。
另外,本申请实施例的基于XGBoost的跨样本联邦的样本测试方法利用上述准确性较高的联邦XGBoost树模型进行样本预测时,得到的预测结果准确性高。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请一实施形态中基于XGBoost的跨样本联邦学习系统的结构示意图;
图2是根据本申请一实施形态中基于XGBoost的跨样本联邦学习方法的流程示意图;
图3是根据本申请一实施形态中联邦训练一棵XGBoost树模型的流程示意图;
图4是本申请实施例的训练方A和训练方B第t棵树建模过程中步骤①至步骤③的结点分裂示意图;
图5是本申请实施例的训练方A和训练方B第t棵树建模过程中步骤④至步骤⑤的结点分裂示意图;
图6是本申请实施例的训练方A和训练方B第t棵树建模过程中步骤⑥至步骤⑦的结点分裂示意图;
图7是本申请实施例的训练方A和训练方B分别得到的第t棵树模型的表达示意图;
图8是根据本申请一实施形态中对样本数据进行预测的流程示意图;
图9是根据本申请一实施形态中构建联邦XGBoost树模型的流程示意图;
图10是根据本申请一实施形态中电子设备的结构示意图。
具体实施方式
本申请实施例为了确保数据的保密性和安全性的情况下,能够充分利用多方数据特性进行联邦建模型的目的,涉及到“知识联邦”,知识联邦旨在确保各个训练方服务器的数据不离开本地的情况下交换数据中的“知识”,从而建立一个充分利用各训练方服务器的本地数据的模型,达到“数据可用不可见,知识共创可共享”的目的。
根据各个训练方服务器的数据分布的特点,知识联邦可分为跨特征联邦、跨样本联邦以及复合型联邦,其中,跨特征联邦是指不同训练方服务器中有很多共同的用户样本,但样本特征数据分布不同,可能只有一方是有标签数据;跨样本联邦是指每个训练方服务器的样本数据具有相同的特征分布,但各方的样本数据是独立的,而且每个参与方服务器都有自己样本对应的标签数据;复合型联邦是指同时涉及跨样本联邦和跨特征联邦,只有一小部分的样本或特征是参与各方的交集,其他数据无论是特征分布或样本分布都是不相同的。
本申请实施例主要涉及跨样本联邦建模,目的是为了在样本数据和标签都不出本地的情况下充分利用所有训练方服务器的样本和标签数据,得到比仅仅使用本地数据训练的模型效果更优的联邦模型。
本申请实施例涉及的XGBoost是Boosting中的经典算法。Boosting算法的原理是将多个弱分类的结果集成在一起,形成一个强分类器。XGBoost延续Boosting算法的原理,将多棵树模型集成在一起,其核心思想是通过不断拟合前面树的预测结果与真实标签之间的残差,从而使最终的预测结果尽可能接近真实标签。在XGBoost中,需要不断地添加树,每棵树可以看作一个弱分类器。每新增一棵树,树的结点会根据样本特征的划分点将结点分裂成左右子结点,以结点分裂增益最大的划分点来进行结点分裂,从而逐步形成一棵树。树的结点分裂增益计算公式如下所示:
其中,,,,
其中IL 、IR分别为结点按某一特征划分点分裂后落在左子结点及右子结点的上的样本,为样本i的对应损失函数的一阶导值和二阶导值,为训练超参数。通过遍历所有
特征的特征划分点,求得最大分裂增益,最大分裂增益所对应的特征以及该特征划分点即
为最优分裂。当结点的分裂增益小于设定的最小分裂增益时或结点所在层数达到树的最大
深度或结点上的样本数目过小时结点不再进一步分裂,即对应该结点为叶子结点,且叶子
结点j的权重值计算公式如下所示:
其中, 其中Ij为落在叶子结点j上的样本。落在叶子
结点上的样本对应预测输出即为该叶子结点的权重值。假设XGBoost总共训练生成了T棵
树,当对一个新样本进行预测,其实就是根据该样本的特征数据以及每个非叶子结点的最
优划分,看预测样本最终落在哪个叶子结点上,该叶子结点的权重值即为对应该棵树对样
本的预测输出,最后将T棵树对应的预测输出加起来即为该样本最终预测值。样本预测结
果如下所示:
本申请实施例中,在跨样本联邦学习时,可以通过联邦的方式来达到实际应用中原始数据(即样本)不出本地的目的,并且达到与利用所有训练方服务器中的数据集建立XGBoost树模型相同的效果。
具体的,本申请实施例提供一种基于XGBoost的跨样本联邦学习方法,即在各训练方服务器的原始数据不出本地的前提下,用所有训练方服务器的样本的特征数据和标签数据来进行联邦XGBoost树模型的训练,其建模效果和将各训练方服务器的数据集中在一起训练XGBoost树模型一致,能够得到准确性较高的模型,所以利用该准确性较高的模型进行样本预测时,得到的预测结果准确性较高。因此,本申请实施例的核心思想是在确保各训练方服务器特征和标签数据保密的情况下,能够利用所有训练方服务器的样本数据来不断分裂以生成一棵树,每次添加一棵树去拟合前面树对所有训练方服务器的训练样本预测结果与训练标签之间的残差。当训练结束后,所有训练方服务器都可获得联邦XGBoost树模型。在预测过程中,任一训练方服务器可在无需与其他训练方服务器通信的情况下利用联邦XGBoost树模型进行本地预测。
需要说明的是,本申请实施例的基于XGBoost的跨样本联邦学习方法,是根据XGBoost算法对多个(不少于两个)训练方服务器所拥有的样本数据进行跨样本联邦训练,各训练方服务器得到联邦XGBoost树模型。而且,根据联邦XGBoost树模型,各训练方服务器可对预测样本进行预测。
如图1所示,是根据本申请一实施形态中基于XGBoost的跨样本联邦学习系统的结构示意图,该系统包括聚合方服务器和多个(不少于两个)训练方服务器,其中,各训练方服务器提供用于联邦训练的样本数据,并且完成本地XGBoost的建模,其中训练方服务器的数量上限不受限制;聚合方服务器不提供样本数据,仅仅对联邦训练过程中的“知识”进行聚合和判断,通常只有一个聚合方服务器。在各训练方服务器和聚合方服务器同步完所有建模参数(例如树的总数目,树最大深度,结点最小划分样本数目、损失函数等)后,即可进行跨样本联邦XGBoost树模型建模。
需要说明的是,上述“知识”可以理解为训练方服务器与聚合方服务器之间传递的信息,比如下文涉及的联邦训练过程中训练方服务器在某一结点上的本地特征划分候选点、聚合方服务器计算的最优分裂等等,其中,训练方服务器中的“知识”是根据本地的样本数据提取或计算得到;聚合方服务器中的“知识”可以是对所有训练方服务器的知识进行聚合得到,也可以是根据训练方服务器的“知识”进行聚合后再进行加工提取得到。上述对“知识”进行聚合是指联邦训练过程中的聚合。而且,训练完成后,各训练方服务器会保存模型。预测结果是训练方服务器将本地的预测样本输入保存的模型进行预测得到的预测样本结果,在预测过程中无需与其他训练方服务器以及聚合方服务器进行知识的通信。
本申请实施例中所述的“结点”是树模型当中的结构,并且将当前正在训练的结点简称为“当前结点”。本申请实施例的树模型是一种由结点组成的层级结构的模型,树的深度即为组成该树各结点的最大层次(根结点的层次为1,其他结点的层次等于它的父结点的层次加1)。联邦训练过程中树的最大深度也是预先由各训练方协商一致的,如定义的树的最大深度为5,则训练的每棵树的层数不超过5层,若结点所在树的层数为第5层时,结点为叶子结点(不需要根据结点样本数目、分裂增益等信息来判断是否是叶子结点);若结点所在树的层数小于第五层,结点可能为叶子结点,也可以为非叶子结点,这种结点是需要根据最大分裂增益、结点的样本数目等信息来判断是否为叶子结点的。即若结点所在层次为定义的树的最大深度时,结点为叶子结点,停止分裂;若结点所在层次小于定义的树的最大深度时,结点是否分裂为左、右子结点需要根据结点上的数据来判断。
结点的样本数目是指各训练方根据最优分裂进行结点分裂后落在此结点上的样本数目,如一个训练方A 参与训练的样本数目为5000,则训练方A 根结点上的样本数目为5000,另一训练方B参与训练的样本数目为1000,则训练方B根结点上的样本数目为1000,现在跨样本联邦训练树模型,对根结点进行最优分裂寻找,假设找到的最优分裂为“年纪特征15岁”,则训练方A对根结点进行分裂,年纪小于15岁的样本落在其左子结点上(假设为1500个),则右子结点上的样本数止为3500(5000-1500=3500);训练方B对根结点进行分裂,年纪小于15岁的样本落在左子结点上200个,则右子结点上的样本数目为800个(1000-200=800)。
在本申请的一种实施形态中,如图2所示,是根据本申请一实施形态中基于XGBoost的跨样本联邦学习方法的流程示意图,包括以下步骤:
S100:各训练方服务器利用本地的样本数据联邦训练XGBoost树模型,并在各训练阶段中将本地建模参数发送至聚合方服务器;
S200:聚合方服务器在每个训练阶段中根据建模参数判断当前结点是否为叶子结点,并将判断结果发送至各训练方服务器;
S300:若当前结点为非叶子结点,则各训练方服务器根据聚合方服务器发送的最优划分对当前结点进行分裂,并将当前结点更新为分裂后的结点,其中,根据建模参数计算得到最优划分;
S400:若当前结点为叶子结点,则停止对当前结点的分裂;
S500:直到所有的结点均为叶子结点,生成一棵树模型;
S600:当生成预设数目的所述树模型时,停止训练,得到跨样本的联邦XGBoost树模型。
基于上述内容,由于各训练方服务器向聚合方服务器传输训练中间的建模参数,这些建模型参数不会泄露原始的特征数据和标签数据,从而保护了各方的数据隐私。另外,利用该联邦XGBoost树模型进行样本预测,得到的预测结果准确性高。
上述得到的联邦XGBoost树模型包含多棵树。假设一共训练生成T棵树,目前已经跨样本联邦训练了t-1棵树(其中0<=t-1<T),则接下来的第t棵树的联邦建模流程如图3所示,包括以下步骤:
步骤S001:训练方当前树(第t棵树)的根结点数据初始化:对训练方服务器的每个样本数据i计算当前预测值,即前面已训练t-1棵树对该样本数据的预测结果之和,当t=1时(表示当训练第1棵树时,前面共训练了0棵树,即前面没有训练),则所有样本数据的当前预测值为0;根据样本数据的标签与当前预测值,计算样本数据对应损失函数的一阶导gi和二阶导hi;当前结点更新为树的根结点;
步骤S002:训练方当前结点初始化:将当前结点的本地样本数目和所在树的层数(当前结点为树的根结点时,所在树的层数为第一层)发送给聚合方;
步骤S003:聚合方聚合当前结点样本数目:聚合方服务器接收所有训练方服务器发送来的当前结点样本数目和当前结点所在树的层数,并对各训练方当前结点样本数目进行聚合;若聚合后的样本数目小于结点样本数目最小分裂阈值或当前结点所在树的层数达到设定的树的最大深度,则当前结点为叶子结点,跳到步骤S010;
步骤S004:训练方当前结点特征划分候选点统计:
a. 对每一维特征统计特征划分候选点:对落在当前结点的所有本地样本数据根据特征数据大小进行排序;对排序后的本地样本数据对应损失函数的二阶导逐个累和,当二阶导累和大于设定阈值时,则达到该阈值时的该样本数据所对应特征值即为一个特征划分候选点;找到该维特征的所有划分候选点,得到该维特征划分候选点集合;
b. 将所有维特征的特征划分候选点集合发送给聚合方服务器;
步骤S005:聚合方聚合当前结点特征划分候选点:
a. 接收所有训练方服务器发送的所有维特征划分候选点集合;
b. 对每一维特征划分候选点集合进行求合集,得到每一维特征聚合后的特征划分候选点集合;
c. 将所有维特征聚合后的特征划分候选点集合发送给所有训练方服务器;
步骤S006:训练方样本划分:
a.接收聚合方发送来的所有维特征聚合后的特征划分候选点集合;
对每维特征类型进行判断:
各训练方服务器对每一维特征数据统计非重复值的数目,并将该数目发送给所述聚合方服务器;
聚合方服务器接收各训练方服务器发送来的特征数据非重复值的数目,并对所有接收的数目进行累和,得到该维特征聚合后特征数据非重复值的数目;若聚合后的特征数据非重复值的数目小于规定阈值,则判断该维特征数据为离散型,否则该维特征数据为连续型;并将特征类型判断结果发送给各训练方服务器;
各训练服务器接收聚合方服务器发送来的每维特征对应的特征类型;
b.根据每一维特征划分候选点集合和特征类型进行样本划分:
若该维特征为连续型,则所述当前结点上所述样本数据的该维特征数据小于所述特征划分候选点的样本数据形成一个样本划分;
若该维特征为离散型,则所述当前结点上所述样本数据的该维特征数据等于所述特征划分候选点的样本数据形成一个样本划分;
对该维特征对应的所述样本划分内的样本数据进行一阶导累和及二阶导累和,得到该维特征所述样本划分所对应的一阶导累和集合和二阶导累和集合。
c. 将所有维特征对应一阶导累和集合和二阶导累和集合发送给聚合方服务器;
步骤S007:聚合方寻找最优划分:
a. 接收所有训练方服务器发送过来所有维特征对应的一阶导累和集合以及二阶导累和集合;
b. 对每一维特征:将所有训练方服务器的一阶导累和集合对应位置元素进行求和,得到该维特征聚合后的一阶导累和集合;将所有训练方服务器的二阶导累和集合对应位置元素进行求和,得到该维特征聚合后的二阶导累和集合;
c. 对每一维特征聚合后的特征划分候选点集合中的每个特征划分候选点:根据
聚合后的每一维特征所对应的一阶导累和集合以及二阶导累和集合,求左子结点上样本的(一阶导累和值、二阶导累和值)和右子结点上的样本(一阶导累和值、
二阶导累和值),计算最大分裂增益和最优划分,最优划分即最大分裂增益所对应的特征数
据和该特征划分候选点;若最大分裂增益小于设定的最小分裂增益,则当前结点为叶子结
点,跳到步骤S010;否则为非叶子结点;
d.将最优划分发送给所有训练方;
步骤S008:聚合方当前结点是否划分判断:
a. 若当前结点的最大分裂增益大于设定的最小分裂增益,训练方根据最优划分试将当前结点划分为左子结点和右子结点,并将落在左子结点和右子结点上的样本数目发送给聚合方服务器;
b. 聚合方服务器聚合左子结点和右子结点的样本数目:聚合方服务器接收所有训练方服务器发送来的左子结点和右子结点的样本数目并做相应聚合,若左子结点或右子结点的聚合样本数目小于设定的叶子结点最小样本数目阈值,则当前结点为叶子结点,跳到步骤S010;
步骤S009:训练方左右子结点划分:
a. 训练方服务器根据最优划分对当前结点的样本数据进行左右子结点划分,样本数据对应最优划分特征的那维特征值小于最优划分特征划分候选点的样本落在左子结点上,否则落在右子结点上,此处需要说明的是,也可以是,样本数据对应最优划分特征的那维特征值小于最优划分特征划分候选点的样本落在右子结点上,否则落在左子结点上,只要各训练方服务器中的规定一致即可;
b. 将当前结点更新为左子结点,当前结点所在树的层数为其父结点所在层数加1,重复步骤S002~步骤S009;
c. 将当前结点更新为右子结点,当前结点所在树的层数为其父结点所在层数加1,重复步骤S002~步骤S009;
步骤S010:若当前结点为叶子结点,进行叶子结点权重计算:
a. 所有训练方服务器将当前结点所有样本数据的一阶导累和以及二阶导累和发送给聚合方服务器;
b. 聚合方服务器接收所有训练方服务器发送来的一阶导累和以及二阶导累和,对所有训练方服务器的一阶导累和求和以及二阶导累和求和,根据叶子结点权重计算公式计算叶子结点权重值,将叶子结点权重值发送给所有训练方服务器;
c. 所有训练方服务器接收聚合方服务器发送来的叶子结点的权重值。
根据上述内容,第t棵树的训练过程如上所述,所有训练方服务器在联邦训练过程中,若树中的结点为非叶子结点则记录该结点的最优划分,若树中的结点为叶子结点则记录该叶子结点的权重值。当所有树训练结束后,每个训练方可获得联邦的XGBoost树模型,一共有T棵树。
为了更清楚的表达以上内容,下文举出具体实例以对本申请实施例的基于XGBoost的跨样本联邦学习方法进行说明。
图4是本申请实施例的训练方A和训练方B第t棵树建模过程中步骤①至步骤③的结点分裂示意图,如图4所示:
步骤①:训练方A、训练方B从根结点开始训练,则当前结点为根结点(所在树的层次为1),训练方A当前结点样本数目为训练方A参与训练的样本数目,假设为2000;训练方B当前结点样本数目为训练方B参与训练的样本数目,假设为1000。
步骤②:联邦训练得到当前结点的最优划分且判断该结点是否为非叶子结点,若是,则训练方A根据最优划分将根结点划分为左、右子结点;训练方B根据最优划分将根结点划分为左、右子结点;将当前结点更新为左子结点(对应步骤②的图中的灰色结点),当前结点所在树的层数为2。假设训练方A落在当前结点上的训练样本数目为1500,训练方B落在当前结点上的训练样本数目为200,则聚合后的当前结点上的训练样本数目为1700(1500+200=1700)。
步骤③:联邦训练得到当前结点的最优划分且判断该结点是否为非叶子结点,若是,则训练方A根据最优划分将当前结点划分为左、右子结点;训练方B根据最优划分将当前结点划分为左、右子结点;将当前结点更新为其左子结点(对应步骤③的图中的灰色结点),当前结点所在树的层数为3。假设训练方A落在当前结点上的训练样本数目为500,训练方B落在当前结点上的训练样本数目为50,则聚合后的当前结点上的训练样本数目为550(500+50=550),假设设定的结点最小分裂样本数目(即最小分裂阈值)为600,则当前结点聚合后的样本数目550<600,判断该结点为叶子结点,停止分裂。
图5是本申请实施例的训练方A和训练方B第t棵树建模过程中步骤④至步骤⑤的结点分裂示意图,如图5所示:
步骤④:当前结点更新为右子结点(对应步骤④的图中的灰色结点),则训练方A落在当前结点上的样本数目为1000(1500-500=1000),训练方B落在当前结点上的样本数目为150(200-50=150)。
步骤⑤:联邦训练得到当前结点的最优划分且判断该结点是否为非叶子结点,若是,训练方A根据最优划分将当前结点划分为左、右子结点,训练方B根据最优划分将当前结点划分为左、右子结点,当前结点更新为其左子结点(对应步骤⑤的图中的灰色结点),当前结点所在树的层数为4,假设训练方A落在当前结点上的训练样本数目为800,训练方B落在当前结点上的训练样本数目为100,假设设定的树的最大深度为4,则当前结点所在树的层数达到树的最大深度,判断该结点为叶子结点,停止分裂。
图6是本申请实施例的训练方A和训练方B第t棵树建模过程中步骤⑥至步骤⑦的结点分裂示意图,如图6所示:
步骤⑥:当前结点更新为右子结点(对应步骤⑥的图中的灰色结点),同样的,右子结点所在树的层数也达到树的最大深度,判断该结点为叶子结点,停止分裂。
步骤⑦:当前结点更新为第2层的未训练的右子结点,假设设定的分裂增益阈值为0.1,联邦训练过程中得到当前结点的最大分裂增益0.08<0.1,判断当前结点为叶子结点,停止分裂;所有的结点均训练完成,该棵树训练完成。
图7是本申请实施例的训练方A和训练方B分别得到的第t棵树模型的表达示意图,如图7所示,训练方A和训练方B两方得到完全一样的树模型,其中,非叶子结点记录的是该结点的最优划分,叶子结点记录的是该结点的权重值。
需要说明的是,经过训练最终得到的联邦XGBoost树模型包含了T棵树,其中T是各训练方在训练之前先协商确定的一个值(即可以预先设定),然而,这个值不一定是最优的,例如预设的是一共训练20棵树,但训练到第10棵树时可能就达到预设的效果,所以在训练中也可以设定早停规则让训练终止,以节约训练过程,从而节约各方的计算成本。
综上,本申请实施例的基于XGBoost的跨样本联邦学习方法与其他相关技术相比具有以下优势:
(1)联邦方式的不同:
跨样本联邦的目的是充分利用不同数据持有者的样本和标签数据,让各个参与方利用自由数据在本地进行训练或知识的提取,然后再通过模型知识聚合方式不断更新模型知识。
跨样本联邦要求各训练方均有着样本数据,且每个样本有相同(或部分相同)的特征维度信息,且每一训练方都需要有本地样本对应的标签数据。
与其他联邦方式的应用场景不同,跨样本联邦适用于在各个联邦训练方的数据特征属性一致而又需要保护各方数据隐私的情况下,如保险公司在国内和境外都有业务,但境外客户数量较少,国内客户数据较多,公司希望利用国内的用户数据进行境外风险控制建模,但由于数据出境合规性的要求,不能直接将国内的数据和境外的客户数据聚集在一起使用,即不能简单通过数据联合的方式进行建模,而跨样本联邦建模则可以应用于此种场景。
(2)各参与方之间传输内容的不同:联邦XGBoost模型的建模过程中传输的是每个结点分裂的特征关键信息(如最优划分、样本数目等),各参与方之间传输数据量较小,能够降低各参与方的数据传输成本和数据计算成本。其他的联邦学习方法,如联邦神经网络模型采用参数梯度聚合的方式进行模型的聚合时,传输的是模型的参数梯度,传输数据量大。
(3)隐私保护机制的不同:本申请实施例的联邦建模过程中将各训练方传输的本地结点上样本的数目、一阶导累和值、二阶导累和值等模型参数进行聚合,此类参数均不会泄露本地原始特征数据和标签数据,在聚合前无需进行其他数据安全处理,不仅能提高建模效率,还能保障数据安全。其他联邦学习方法中对参数进行聚合前需要同态加密或差分隐私等方法进行数据安全处理,如跨样本联邦神经网络模型采用参数梯度聚合的方式进行模型的聚合时,由于模型梯度可能蕴含着数据隐私信息,需要在上传聚合前需要同态加密或差分隐私等方法进行安全处理。
基于上述内容,本申请实施例还提供一种基于XGBoost的跨样本联邦的样本测试方法、系统、电子设备和计算机可读存储介质。在样本预测阶段(即对联邦模型的运用),假设一共训练了T棵联邦XGBoost树模型,那么在任一训练方服务器中,预测样本的预测过程如图8所示,其中,第t棵树对每个本地预测样本进行的预测过程如下所述:
(1)当前结点初始化:当前结点为第t棵树的根结点;
(2)若当前结点为叶子结点,则该样本预测结点为该叶子结点的权重值,第t棵树对该样本的预测结束;若当前结点为非叶子结点,若样本对应当前结点最优划分特征的那维特征值小于当前结点最优划分特征划分点时,则跳到步骤S003;否则跳到步骤S004;
(3)当前结点更新:当前结点更新为其左子结点,重复步骤S002~步骤S004;
(4)当前结点更新:当前结点更新为其右子结点,重复步骤S002~步骤S004。
基于上述内容,请参阅图8所示,从每棵树的根结点开始遍历,根据待预测样本的特征数据和每个结点的最优划分,看待预测样本最终落到哪些叶子结点上,从第一棵树到第T棵树,将每一棵树的预测结果(即叶子结点的权重值)相加求和从而得到最终的预测结果。
综上,本申请实施例的基于XGBoost的跨样本联邦学习方法和系统具有以下优点:
①基于跨样本联邦和XGBoost实现跨样本联邦XGBoost树模型的建模;
②各训练方服务器只需要分享少量的训练中间结果(例如特征划分候选点、对应样本的一阶导累和值及二阶导累和值),能够有效的保护每个样本数据的隐私;
③在联邦建模过程中参与方之间只需要传输少量的数据,能够有效提升建模速率;
④对每一维特征利用标签以及特征值进行特征划分候选点的搜索,搜索速度更高效;
⑤训练方的规模上限不受限制,训练方也可灵活选择加入或退出跨样本联邦训练过程。
以下例举在一应用场景中实施本申请的基于XGBoost的跨样本联邦学习方法和系统。
请参阅图9所示,是根据本申请一实施形态中构建联邦XGBoost树模型的流程示意图,上文所述的系统包含两个训练方服务器和一个聚合方C的数据服务器(简称“聚合方C”),该两个训练方服务器分别为银行A的数据服务器(简称“银行A”)和银行B的数据服务器(简称“银行B”)。
假定银行A和银行B各自拥有一些存档信用卡交易数据集,均需要对信用卡交易数据进行建模,用模型来帮助寻找在后续的交易中哪些交易存在潜在的欺诈行为。由于两方存在欺诈行为的数据样本均有限,期望进行跨样本联邦的XGBoost树模型建模型,从而获取一个比仅仅使用本地数据训练的模型效果更优的联邦模型。
假设银行A、银行B各自参与联邦建模的信用卡交易数据集分别为Credit_A、Credict_B,银行A、银行B两方均不知对方数据的分布情况。其中银行A的Credit_A数据集共有10000条信用卡交易数据,其中有100条数据为欺诈型数据;银行B的 Credit_B数据集有50000条信用卡交易数据,其中有2000条数据欺诈型数据;其中Credit_A与Credit_B每个样本均有着相同维度和相同特征意义的特征数据以及对应的标签数据(正常交易/存在欺诈行为的交易)。
首先,需要银行A、银行B各自对本方的交易数据集Credit_A和Credit_B标注标签进行统一化处理,即两方均以标签0表示正常交易数据,标签1表示存在欺诈行为的交易数据;
其次,需要银行A、银行B各自对本方的交易数据集Credit_A和Credit_B中的特征数据进行特征对齐,假设Credit_A和Credit_B中均有15列特征数据,则对方15维特征数据需按照统一的特征意义进行列排序;
然后,定义建模参数,假定建模参数如表1所示:
表1:建模参数
参数名称 | 参数设置 |
损失函数loss_function: | CrossEntropy |
树数目T: | 20 |
树最大深度max_depth: | 5 |
结点最小样本分裂数 min_split_samples: | 100 |
叶子结点最小样本数min_leaf_samples: | 50 |
结点分裂最小增益min_gain | 0.0001 |
特征点划分阈值split_eps | 0.1 |
超参说明: 说明: C:\Program Files (x86)\gwssi\CPC客户端\cases\inventions\98d13336-bb62-4be8-9b15-9bae312cdd47\new\100002\dest_path_image032.jpg | 0.1 |
接着,银行A、银行B以及聚合方C开始用数据集Credit_A和Credit_B进行联邦XGBoost树模型建模,每一棵树在建模型过程中结点分裂的三方联邦过程如图5所示。其中,银行A、银行B以及聚合方C三方按照步骤1~13顺序进行,银行A、银行B中的步骤1、4、6、10、13可并行进行,图5中箭头上标注内容即为三方联邦过程中传递的内容。
步骤1:银行A、银行B两方统计各自当前结点的样本数目,并各自将两方当前结点的样本数目num_A和num_B以及当前结点所在树的层数发送给聚合方C;
步骤2:聚合方C方执行将num_A和num_B进行求和,得到聚合后的样本数目num_AB;
步骤3:聚合方C方执行根据num_AB的样本数目和当前结点所在树的层数判断当前结点是否为叶子结点,若num_AB小于结点最小样本分裂数100或当前结点所在树的层数为5(规定的树的最大深度),则当前结点为叶子结点,否则为非叶子结点;并将当前结点是否为叶子结点判断发送给银行A、银行B;
步骤4:若当前结点为非叶子结点,银行A、银行B两方统计当前结点的每一维特征对应的特征划分候选点集合,并将其发送给聚合方C;
步骤5:若当前结点为非叶子结点,聚合方C对银行A、银行B两方的每一维特征对应的特征划分候选点集合进行聚合,得到聚合后的特征划分候选点集合,并将其发送给银行A、银行B;
步骤6:若当前结点为非叶子结点,银行A、银行B计算获得每一维特征对应的特征划分候选点的一阶导累和集合以及二阶导累和集合,并上传至聚合方C;
步骤7:若当前结点为非叶子结点,聚合方C对银行A、银行B发送的一阶导累和集合以及二阶导累和集合进行聚合,得到聚合后的一阶导累和集合以及二阶导累和集合;
步骤8:若当前结点为非叶子结点,聚合方C根据聚合后的每一维特征所对应的所述一阶导累和集合及所述二阶导累和集合,求左子结点的一阶导值和二阶导值以及右子结点的一阶导值和二阶导值,计算最大分裂增益和最优划分,寻找到最优分裂;
步骤9:聚合方C将对叶子结点判断发送至银行A、银行B;
步骤10:若当前结点为非叶子结点,银行A、银行B则根据最优划分试将当前结点划分为左子结点和右子结点,且将落在左子结点和右子结点的样本数目发送给聚合方C;
步骤11:聚合方C对银行A、银行B的左子结点和右子结点的样本数目进行聚合;
步骤12:聚合方C将对叶子结点判断发送至银行A、银行B;
步骤13:若当前结点为非叶子结点,银行A、银行B根据本地数据和最优划分将当前结点划分为左子结点和右子结点。
当银行A、银行B两方中的所有样本都落在叶子结点时,则完成一棵树的训练。其中,步骤7是将银行A、银行B两方的一阶导累和集合对应位置元素进行求和,得到该维特征聚合后的一阶导累和集合;将银行A、银行B两方二阶导累和集合对应位置元素进行求和,得到该维特征聚合后的二阶导累和集合。步骤8遍历所有特征的特征划分候选点,计算分裂增益,最大的分裂增益所对应的特征以及特征分裂点即为最优分裂。步骤9中根据最大分裂增益判断是否为叶子结点,若最大分裂增益小于0.0001(设定的最小分裂增益),当前结点为叶子结点,否则为非叶子结点。步骤12中叶子结点判断是根据聚合后左子结点及右子结点的样本数目来判断是否为叶子结点,当聚合后的左子结点的样本数目或右子结点的样本数目小于50(设定的叶子结点最小样本数目),则当前结点为叶子结点,否则为非叶子结点;若步骤3、9、12步骤中是否为叶子结点的判断结果为当前结点是叶子结点时,聚合方C进行叶子结点权重值计算,例如,第j个叶子结点的权重值计算公式如下所示:
即,对每一个样本,计算每一棵树模型的预测值,并对这些预测值相加得到最终的预测结果,将该预测结果投射到[0~1]内,设定阈值判断样本的预测结果:例如,当预测值小于0.5时,预测结果为“正常交易”;否则预测结果为“存在欺诈行为的交易”。
采用本实施例的基于XGBoost的跨样本联邦学习方法,由于银行A和银行B的样本数据不出本地,而仅向聚合方C传输XGBoost树模型的训练中间参数,可以达到对样本数据保密的目的,确保了数据的保密性和安全性。同时,由于联邦XGBoost树模型是基于银行A和银行B中的样本数据进行训练的,相比于单独利用银行A的样本数据训练模型且单独利用银行B的样本数据训练模型,本实施例的联邦XGBoost树模型的训练和预测精度更高,对欺诈交易的识别更加全面和可靠(即对样本预测的准确性高)。
需要说明的是,利用联邦XGBoost树模型进行样本数据的预测不限于上述实施例的银行A和银行B,可以应用于任意需要保护数据隐私的机构或平台的样本预测,样本数据例如可以为金融数据、医疗数据或用户信用数据等等。
本申请一实施形态还提供一种电子设备,如图10所示,为该电子设备的结构示意图,该电子设备包括处理器610、存储器620、输入装置630和输出装置640;计算机设备中处理器610的数量可以是一个或多个;电子设备中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接。
处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及,即实现本发明各种实施形态的基于XGBoost的跨样本联邦学习方法,或者,基于XGBoost的跨样本联邦的样本测试方法。
存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收实体数据、编码数据、压缩数据和特征数据等。输出装置640可包括显示屏等显示装备。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(RandomAccess Memory, RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务端,或者网络设备等)执行本发明各种实施形态的基于XGBoost的跨样本联邦学习方法,或者,基于XGBoost的跨样本联邦的样本测试方法。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于XGBoost的跨样本联邦的样本预测方法,其特征在于,应用于多个银行数据服务器,所述方法包括:
各所述银行数据服务器利用本地的样本数据联邦训练XGBoost树模型,并在各训练阶段中将本地建模参数发送至聚合方服务器,其中,所述样本数据为信用卡交易数据,所述聚合方服务器在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点,所述当前结点为当前正在训练的结点,并将判断结果发送至各所述银行数据服务器;
若所述当前结点为非叶子结点,则根据所述聚合方服务器发送的最优划分对所述当前结点进行分裂,并将所述当前结点更新为分裂后的结点,其中,根据所述建模参数计算得到所述最优划分;
若所述当前结点为叶子结点,则停止对所述当前结点的分裂;
直到所有的结点均为叶子结点,生成一棵树模型;
当生成预设数目的所述树模型时,停止训练,得到跨样本的联邦XGBoost树模型;
任意所述银行数据服务器通过所述联邦XGBoost树模型对本地的待预测信用卡交易数据进行预测,得到预测结果,所述预测结果包括:该信用卡交易数据为正常的交易数据或者为存在欺诈行为的交易数据;
所述的在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点包括:
若所述当前结点所在树的层数达到设定的树的最大深度;或者,
若所述当前结点的聚合样本数目小于设定的最小分裂阈值,其中,所述聚合样本数目是由所述聚合方服务器对各所述银行数据服务器发送的所述当前结点的样本数目聚合得到;或者,
若所述当前结点的最大分裂增益小于设定的最小分裂增益,其中,所述最大分裂增益根据所述建模参数计算得到,且所述最大分裂增益与所述最优划分对应;或者,
在所述当前结点的最大分裂增益大于设定的最小分裂增益的情况下,根据所述最优划分将所述当前结点试划分为左子结点和右子结点,若试划分得到的左子结点或右子结点的聚合样本数目小于设定的叶子结点最小样本数目阈值,其中,所述试划分得到的各子结点的聚合样本数目是由所述聚合方服务器对各所述银行数据服务器发送的试划分的各子结点样本数目分别聚合得到;
所述当前结点为叶子结点。
2.根据权利要求1所述的基于XGBoost的跨样本联邦的样本预测方法,其特征在于,所述的根据所述建模参数计算得到所述最优划分包括:
各所述银行数据服务器对所述当前结点统计所有维特征的特征划分候选点集合并发送至所述聚合方服务器进行聚合,其中,所述聚合方服务器将每一维特征聚合后的特征划分候选点集合发送给所有银行数据服务器;
各所述银行数据服务器根据所有维特征聚合后的特征划分候选点集合进行样本划分,对每一维特征对应的所述样本划分内的样本数据进行一阶导累和及二阶导累和,并将得到的所有维特征对应一阶导累和集合和二阶导累和集合发送给所述聚合方服务器进行聚合,其中,所述聚合方服务器根据聚合后的每一维特征所对应的一阶导累和集合以及二阶导累和集合,求左子结点和右子结点上样本的一阶导累和值及二阶导累和值,计算最大分裂增益和最优划分,所述最优划分为所述最大分裂增益所对应的特征数据和该特征划分候选点。
3.根据权利要求2所述的基于XGBoost的跨样本联邦的样本预测方法,其特征在于,所述的各所述银行数据服务器对所述当前结点统计所有维特征的特征划分候选点集合并发送至所述聚合方服务器进行聚合包括:
各所述银行数据服务器对所述当前结点统计所有维特征的特征划分候选点集合;
将统计的所有维特征的特征划分候选点集合发送至所述聚合方服务器,其中,所述聚合方服务器对每一维特征的特征划分候选点集合进行求并集操作,得到每一维特征聚合后的特征划分点集合。
4.根据权利要求1所述的基于XGBoost的跨样本联邦的样本预测方法,其特征在于,在生成的所述树模型的数目小于预设数目的情况下,若得到的模型达到预设效果,则通过设定的早停规则终止训练,将得到的模型作为所述联邦XGBoost树模型。
5.一种基于XGBoost的跨样本联邦的样本预测方法,其特征在于,应用于聚合方服务器,所述方法包括:
所述聚合方服务器在多个银行数据服务器利用本地的样本数据联邦训练XGBoost树模型的各训练阶段中接收各所述银行数据服务器发送的建模参数,其中,所述样本数据为信用卡交易数据;
根据所述建模参数判断当前结点是否为叶子结点,所述当前结点为当前正在训练的结点,并将判断结果发送至各所述银行数据服务器;
若所述当前结点为非叶子结点,则将根据所述建模参数计算得到的最优划分发送给各所述银行数据服务器,其中,各所述银行数据服务器根据所述最优划分对所述当前结点进行分裂,并将所述当前结点更新为分裂后的结点;若所述当前结点为叶子结点,则停止对所述当前结点的分裂;
直到所有的结点均为叶子结点,生成一棵树模型;
当生成预设数目的所述树模型时,停止训练,得到跨样本的联邦XGBoost树模型;
任意所述银行数据服务器通过所述联邦XGBoost树模型对本地的待预测信用卡交易数据进行预测,得到预测结果,所述预测结果包括:该信用卡交易数据为正常的交易数据或者为存在欺诈行为的交易数据;
所述的在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点包括:
若所述当前结点所在树的层数达到设定的树的最大深度;或者,
若所述当前结点的聚合样本数目小于设定的最小分裂阈值,其中,所述聚合样本数目是由所述聚合方服务器对各所述银行数据服务器发送的所述当前结点的样本数目聚合得到;或者,
若所述当前结点的最大分裂增益小于设定的最小分裂增益,其中,所述最大分裂增益根据所述建模参数计算得到,且所述最大分裂增益与所述最优划分对应;或者,
在所述当前结点的最大分裂增益大于设定的最小分裂增益的情况下,根据所述最优划分将所述当前结点试划分为左子结点和右子结点,若试划分得到的左子结点或右子结点的聚合样本数目小于设定的叶子结点最小样本数目阈值,其中,所述试划分得到的各子结点的聚合样本数目是由所述聚合方服务器对各所述银行数据服务器发送的试划分的各子结点样本数目分别聚合得到;
所述当前结点为叶子结点。
6.一种基于XGBoost的跨样本联邦的样本预测系统,其特征在于,包括聚合方服务器和多个银行数据服务器,其中,
各所述银行数据服务器利用本地的样本数据联邦训练XGBoost树模型,并在各训练阶段中将本地建模参数发送至聚合方服务器,其中,所述样本数据为信用卡交易数据;
所述聚合方服务器在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点,所述当前结点为当前正在训练的结点,并将判断结果发送至各所述银行数据服务器;
若所述当前结点为非叶子结点,则各所述银行数据服务器根据所述聚合方服务器发送的最优划分对所述当前结点进行分裂,并将所述当前结点更新为分裂后的结点,其中,根据所述建模参数计算得到所述最优划分;
若所述当前结点为叶子结点,则停止对所述当前结点的分裂;
直到所有的结点均为叶子结点,生成一棵树模型;
当生成预设数目的所述树模型时,停止训练,得到跨样本的联邦XGBoost树模型;
任意所述银行数据服务器通过所述联邦XGBoost树模型对本地的待预测信用卡交易数据进行预测,得到预测结果,所述预测结果包括:该信用卡交易数据为正常的交易数据或者为存在欺诈行为的交易数据;
所述的在每个所述训练阶段中根据所述建模参数判断当前结点是否为叶子结点包括:
若所述当前结点所在树的层数达到设定的树的最大深度;或者,
若所述当前结点的聚合样本数目小于设定的最小分裂阈值,其中,所述聚合样本数目是由所述聚合方服务器对各所述银行数据服务器发送的所述当前结点的样本数目聚合得到;或者,
若所述当前结点的最大分裂增益小于设定的最小分裂增益,其中,所述最大分裂增益根据所述建模参数计算得到,且所述最大分裂增益与所述最优划分对应;或者,
在所述当前结点的最大分裂增益大于设定的最小分裂增益的情况下,根据所述最优划分将所述当前结点试划分为左子结点和右子结点,若试划分得到的左子结点或右子结点的聚合样本数目小于设定的叶子结点最小样本数目阈值,其中,所述试划分得到的各子结点的聚合样本数目是由所述聚合方服务器对各所述银行数据服务器发送的试划分的各子结点样本数目分别聚合得到;
所述当前结点为叶子结点。
7.一种电子设备,包括处理器和存储有计算机程序的存储介质,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的基于XGBoost的跨样本联邦的样本预测方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的基于XGBoost的跨样本联邦的样本预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011270736.2A CN112101577B (zh) | 2020-11-13 | 2020-11-13 | 基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011270736.2A CN112101577B (zh) | 2020-11-13 | 2020-11-13 | 基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101577A CN112101577A (zh) | 2020-12-18 |
CN112101577B true CN112101577B (zh) | 2021-04-13 |
Family
ID=73785196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011270736.2A Active CN112101577B (zh) | 2020-11-13 | 2020-11-13 | 基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101577B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807380B (zh) * | 2020-12-31 | 2023-09-01 | 京东科技信息技术有限公司 | 一种联邦学习模型的训练方法、装置及电子设备 |
CN113408668A (zh) * | 2021-07-30 | 2021-09-17 | 深圳前海微众银行股份有限公司 | 基于联邦学习系统的决策树构建方法、装置及电子设备 |
CN113722739B (zh) * | 2021-09-06 | 2024-04-09 | 京东科技控股股份有限公司 | 梯度提升树模型的生成方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795603A (zh) * | 2019-10-29 | 2020-02-14 | 支付宝(杭州)信息技术有限公司 | 一种基于树模型的预测方法和装置 |
CN111178408A (zh) * | 2019-12-19 | 2020-05-19 | 中国科学院计算技术研究所 | 基于联邦随机森林学习的健康监护模型构建方法、系统 |
WO2019200404A3 (en) * | 2018-04-13 | 2020-07-16 | Grail, Inc. | Multi-assay prediction model for cancer detection |
-
2020
- 2020-11-13 CN CN202011270736.2A patent/CN112101577B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019200404A3 (en) * | 2018-04-13 | 2020-07-16 | Grail, Inc. | Multi-assay prediction model for cancer detection |
CN110795603A (zh) * | 2019-10-29 | 2020-02-14 | 支付宝(杭州)信息技术有限公司 | 一种基于树模型的预测方法和装置 |
CN111178408A (zh) * | 2019-12-19 | 2020-05-19 | 中国科学院计算技术研究所 | 基于联邦随机森林学习的健康监护模型构建方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112101577A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112101577B (zh) | 基于XGBoost的跨样本联邦学习、测试方法、系统、设备和介质 | |
TWI712981B (zh) | 風險辨識模型訓練方法、裝置及伺服器 | |
CN112733967B (zh) | 联邦学习的模型训练方法、装置、设备及存储介质 | |
US11070643B2 (en) | Discovering signature of electronic social networks | |
TWI788529B (zh) | 基於lstm模型的信用風險預測方法及裝置 | |
WO2020029590A1 (zh) | 基于联邦训练的样本预测方法、装置及存储介质 | |
CN110490738A (zh) | 一种混合联邦学习方法及架构 | |
WO2015135321A1 (zh) | 基于金融数据的社会关系挖掘的方法及装置 | |
CN111860865B (zh) | 模型构建和分析的方法、装置、电子设备和介质 | |
WO2022218231A1 (zh) | 联合更新业务模型的方法及装置 | |
CN112214499A (zh) | 图数据处理方法、装置、计算机设备和存储介质 | |
CN111815169A (zh) | 业务审批参数配置方法及装置 | |
CN114817946A (zh) | 基于可信执行环境的联邦学习梯度提升决策树训练方法 | |
CN113377797A (zh) | 联合更新模型的方法、装置及系统 | |
CN112365007A (zh) | 模型参数确定方法、装置、设备及存储介质 | |
CN112232891A (zh) | 一种基于大数据分析的客户匹配方法和装置 | |
CN108647714A (zh) | 负面标签权重的获取方法、终端设备及介质 | |
Li et al. | A time attention based fraud transaction detection framework | |
Fariha et al. | A new framework for mining frequent interaction patterns from meeting databases | |
CN104965846A (zh) | MapReduce平台上的虚拟人建立方法 | |
CN116361759B (zh) | 一种基于量化权限指引的智能合规控制方法 | |
CN116384502B (zh) | 联邦学习中参与方价值贡献计算方法、装置、设备及介质 | |
US20230351153A1 (en) | Knowledge graph reasoning model, system, and reasoning method based on bayesian few-shot learning | |
CN117033997A (zh) | 数据切分方法、装置、电子设备和介质 | |
CN115687526A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210917 Address after: Room 209, building 18, No. 998, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province Patentee after: TONGDUN TECHNOLOGY Co.,Ltd. Address before: Room 704, building 18, No. 998, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province Patentee before: TONGDUN HOLDINGS Co.,Ltd. |