CN114386533A - 一种gbdt模型的横向训练方法、装置、电子设备及系统 - Google Patents

一种gbdt模型的横向训练方法、装置、电子设备及系统 Download PDF

Info

Publication number
CN114386533A
CN114386533A CN202210107708.1A CN202210107708A CN114386533A CN 114386533 A CN114386533 A CN 114386533A CN 202210107708 A CN202210107708 A CN 202210107708A CN 114386533 A CN114386533 A CN 114386533A
Authority
CN
China
Prior art keywords
node
splitting
data
current layer
binning
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.)
Granted
Application number
CN202210107708.1A
Other languages
English (en)
Other versions
CN114386533B (zh
Inventor
郝天一
陈智隆
陈琨
王国赛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202210107708.1A priority Critical patent/CN114386533B/zh
Publication of CN114386533A publication Critical patent/CN114386533A/zh
Application granted granted Critical
Publication of CN114386533B publication Critical patent/CN114386533B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Complex Calculations (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请公开了一种GBDT模型的横向训练方法、装置、电子设备及系统,包括:针对初始GBDT模型的当前决策树的当前层,确定多个数据节点持有的每种特征的合并后分箱边界;分别针对当前层的每个节点,按照每种特征的合并后分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果;针对能够用于进行当前层的节点分裂的各种分裂标准,分别计算按照每种分裂标准进行节点分裂的评分增益值,评分增益值最高的分裂标准,作为当前层的分裂标准;按照当前层的分裂标准,进行节点分裂,得到当前层的节点分裂结果完成GBDT模型训练。采用该方案,在各数据节点不泄露自身的特征数据的情况下,实现了针对GBDT模型的横向训练。

Description

一种GBDT模型的横向训练方法、装置、电子设备及系统
技术领域
本申请涉及机器学习技术领域和多方安全计算技术领域,尤其涉及一种GBDT模型的横向训练方法、装置、电子设备及系统。
背景技术
GBDT(Gradient Boosting Decision Tree,梯度提升决策树),是一套使用决策树技术进行模型训练的监督学习算法。通过拟合多棵决策树的方式,使模型预测结果接近训练时使用的真实值,每棵决策树所拟合的目标值,等于训练集真实值与前面若干棵决策树的预测值的差值。GBDT模型通常被应用于分类、回归等问题。
目前,针对GBDT模型的实际应用中,对GBDT模型进行训练时的多个样本的各种特征的特征数据,是由不同的参与方持有的,而这些参与方之间不希望泄露自身所持有的多个样本的特征数据,从而导致无法实现对GBDT模型的有效训练。
发明内容
本申请实施例提供一种GBDT模型的横向训练方法、装置、电子设备及系统,用以在确保参与训练的各数据节点不泄露自身持有样本的特征数据的情况下,实现针对GBDT模型的横向训练。
本申请实施例提供一种GBDT模型的横向训练方法,应用于训练系统中的数据节点,所述训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
依次将初始GBDT模型的每棵决策树作为当前决策树,采用如下步骤进行决策树训练:
依次将所述当前决策树的每一层作为当前层,采用如下步骤进行节点分裂:
通过与所述密文计算节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
分别针对所述当前层的每个节点,按照每种特征的所述合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当所述当前层为根节点所属的第一层时,持有的多个样本均位于根节点;
通过与所述密文计算节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,所述各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为所述当前层的分裂标准;
当所述当前层不为最后一棵决策树的最后一层时,按照所述当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到所述当前层的节点分裂结果,当所述当前层为所述当前决策树的最后一层时,所述当前决策树训练完成,当所述当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
进一步的,所述通过与所述密文计算节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界,包括:
按照自身持有的每种特征的分箱数,确定该种特征的分箱边界;
向所述密文计算节点发送自身持有的每种特征的分箱边界,使得所述密文计算节点将接收的所述多个数据节点发送的每种特征的分箱边界进行合并,得到每种特征的合并后分箱边界;
接收所述密文计算节点发送的所述合并后分箱边界。
进一步的,还包括:
针对所述当前决策树,按照所述初始GBDT模型的损失函数,计算自身持有的多个样本中每个样本的梯度;
所述通过与所述密文计算节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,包括:
分别针对自身持有的每种特征的分箱结果的每个分箱,将该分箱包括的样本的梯度进行聚合,得到针对该种特征的梯度聚合结果;
向所述密文计算节点密文方式发送自身持有的每种特征的梯度聚合结果,使得所述密文计算节点将接收的所述多个数据节点发送的每种特征的梯度聚合结果,按照相同分箱进行对应聚合,得到针对所述多个数据节点持有的所有样本的每种特征的整体梯度聚合结果;
接收所述密文计算节点密文方式发送的所述整体梯度聚合结果;
针对能够用于进行所述当前层的节点分裂的各种分裂标准,使用每种特征的所述整体梯度聚合结果,分别计算按照每种分裂标准进行节点分裂的评分增益值。
本申请实施例还提供一种GBDT模型的横向训练方法,应用于训练系统中的密文计算节点,所述训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
依次将初始GBDT模型的每棵决策树作为当前决策树,采用如下步骤进行决策树训练:
依次将所述当前决策树的每一层作为当前层,采用如下步骤进行节点分裂:
通过与所述多个数据节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
向所述多个数据节点发送所述合并后分箱边界,使得所述数据节点分别针对所述当前层的每个节点,按照每种特征的所述合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当所述当前层为根节点所属的第一层时,每个数据节点持有的多个样本均位于根节点;
通过与所述多个数据节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,所述各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为所述当前层的分裂标准,使得当所述当前层不为最后一棵决策树的最后一层时,每个数据节点按照所述当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到所述当前层的节点分裂结果,当所述当前层为所述当前决策树的最后一层时,所述当前决策树训练完成,当所述当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
进一步的,所述通过与所述多个数据节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界,包括:
接收每个数据节点发送的所持有的每种特征的分箱边界,该分箱边界为该数据节点按照自身持有的每种特征的分箱数确定的;
将接收的所述多个数据节点发送的每种特征的分箱边界进行合并,得到每种特征的合并后分箱边界。
进一步的,所述通过与所述多个数据节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,包括:
接收每个数据节点密文方式发送的该数据节点自身持有的每种特征的梯度聚合结果,该梯度聚合结果为该数据节点分别针对自身持有的每种特征的分箱结果的每个分箱,将该分箱包括的样本的梯度进行聚合得到的,该数据节点自身持有的多个样本中每个样本的梯度,为该数据节点针对所述当前决策树,按照所述初始GBDT模型的损失函数计算得到的;
将接收的所述多个数据节点发送的每种特征的梯度聚合结果,按照相同分箱进行对应聚合,得到针对所述多个数据节点持有的所有样本的每种特征的整体梯度聚合结果;
向每个数据节点密文方式发送所述整体梯度聚合结果,使得每个数据节点针对能够用于进行所述当前层的节点分裂的各种分裂标准,使用每种特征的所述整体梯度聚合结果,分别计算按照每种分裂标准进行节点分裂的评分增益值。
本申请实施例还提供一种GBDT模型的横向训练装置,应用于训练系统中的数据节点,所述训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
所述横向训练装置,包括:
分箱边界确定模块,用于依次将初始GBDT模型的每棵决策树作为当前决策树,依次将所述当前决策树的每一层作为当前层,针对当前层,通过与所述密文计算节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
样本分箱模块,用于分别针对所述当前层的每个节点,按照每种特征的所述合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当所述当前层为根节点所属的第一层时,持有的多个样本均位于根节点;
分裂标准确定模块,用于通过与所述密文计算节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,所述各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为所述当前层的分裂标准;
节点分裂模块,用于当所述当前层不为最后一棵决策树的最后一层时,按照所述当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到所述当前层的节点分裂结果,当所述当前层为所述当前决策树的最后一层时,所述当前决策树训练完成,当所述当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
本申请实施例还提供一种GBDT模型的横向训练装置,应用于训练系统中的密文计算节点,所述训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
所述横向训练装置,包括:
分箱边界确定模块,用于依次将初始GBDT模型的每棵决策树作为当前决策树,依次将所述当前决策树的每一层作为当前层,针对当前层,通过与所述多个数据节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
分箱边界发送模块,用于向所述多个数据节点发送所述合并后分箱边界,使得所述数据节点分别针对所述当前层的每个节点,按照每种特征的所述合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当所述当前层为根节点所属的第一层时,每个数据节点持有的多个样本均位于根节点;
分裂标准确定模块,用于通过与所述多个数据节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,所述各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为所述当前层的分裂标准,使得当所述当前层不为最后一棵决策树的最后一层时,每个数据节点按照所述当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到所述当前层的节点分裂结果,当所述当前层为所述当前决策树的最后一层时,所述当前决策树训练完成,当所述当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
本申请实施例还提供一种GBDT模型的横向训练系统,包括:多个上述任一数据节点和上述任一密文计算节点。
本申请实施例还提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一所述的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
本申请有益效果包括:
本申请实施例提供的方法中,参与训练的多个数据节点,各自持有不同样本的相同种类特征的特征数据,针对每棵决策树的每一层的训练中,首先,多个数据节点与密文计算节点之间通过信息交互和数据计算,确定该多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界,然后,每个数据节点分别针对当前层的每个节点,按照每种特征的合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,然后,每个数据节点与密文计算节点之间通过密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,评分增益值最高的分裂标准,作为当前层的分裂标准,完成当前层的训练,然后,如果当前层不为最后一棵决策树的最后一层,每个数据节点按照当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到当前层的节点分裂结果,用于下一层以及下一棵决策树的训练,当当前层为当前决策树的最后一层时,当前决策树训练完成,当当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。从而在确保参与训练的各数据节点不泄露自身持有样本的特征数据的情况下,实现了针对GBDT模型的横向训练。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为本申请实施例提供的GBDT模型的横向训练系统的结构示意图;
图2为本申请实施例提供的应用于数据节点的GBDT模型的横向训练方法的流程图;
图3为本申请实施例提供的应用于密文计算节点的GBDT模型的横向训练方法的流程图;
图4为本申请实施例提供的GBDT模型的横向训练方法的流程图;
图5为本申请实施例提供的应用于数据节点的GBDT模型的横向训练装置的结构示意图;
图6为本申请实施例提供的应用于密文计算节点的GBDT模型的横向训练装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了给出在确保参与训练的各数据节点不泄露自身持有样本的特征数据的情况下,针对GBDT模型的横向训练的实现方案,本申请实施例提供了一种GBDT模型的横向训练方法、装置、电子设备及系统,以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请实施例提供一种GBDT模型的横向训练方案,如图1所示,该方案应用于包括多个数据节点和密文计算节点的训练系统。
训练系统中的每个数据节点,属于一个数据提供方,各数据节点具有用于训练的样本,且不同数据节点具有不同样本,不同的数据节点持有相同种类特征的特征数据,数据节点主要用于本地的特征数据存储以及明文计算。
每个数据节点,还持有每个样本的进行GBDT模型训练所需要的目标值,也可以称作目标数据或标签数据,例如,如果是针对分类问题的分类模型,可以是每个样本的0-1标签数据,如果是针对回归问题的回归模型,可以是每个样本的目标值。
密文计算节点,采用密文计算协议,实现GBDT模型训练中的密文计算,所采用的密文计算协议可以是可行的各种协议,例如,本申请实施例中可以采用SS4协议,其是一种基于秘密分享(Secret sharing)的加密协议。
基于所采用的密文计算协议的需要,可以包括多个密文计算节点。
本申请实施例中,多个数据节点和密文计算节点之间,通过信息交互和数据计算,共同完成GBDT模型的横向训练,即横向切分联邦学习(Federated learning)的训练,其中,密文计算节点与数据节点之间的信息交互和数据计算,在一些情况下,针对一些指定的信息和数据,将采用密文方式,从而可以确保各数据节点不泄露自身持有样本的特征数据。
基于上述训练系统,本申请实施例提供一种GBDT模型的横向训练方法,应用于训练系统中的数据节点;
依次将初始GBDT模型的每棵决策树作为当前决策树,采用如下步骤进行决策树训练:
依次将当前决策树的每一层作为当前层,如图2所示,采用如下步骤进行节点分裂:
步骤21、通过与密文计算节点之间的信息交互和数据计算,确定多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
步骤22、分别针对当前层的每个节点,按照每种特征的合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当当前层为根节点所属的第一层时,持有的多个样本均位于根节点;
步骤23、通过与密文计算节点之间密文方式的信息交互和数据计算,针对能够用于进行当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为当前层的分裂标准;
步骤24、当当前层不为最后一棵决策树的最后一层时,按照当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到当前层的节点分裂结果,当当前层为当前决策树的最后一层时,当前决策树训练完成,当当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
相应的,本申请实施例还提供一种GBDT模型的横向训练方法,应用于训练系统中的密文计算节点;
依次将初始GBDT模型的每棵决策树作为当前决策树,采用如下步骤进行决策树训练:
依次将当前决策树的每一层作为当前层,如图3所示,采用如下步骤进行节点分裂:
步骤31、通过与多个数据节点之间的信息交互和数据计算,确定多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
步骤32、向多个数据节点发送合并后分箱边界,使得数据节点分别针对当前层的每个节点,按照每种特征的合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当当前层为根节点所属的第一层时,每个数据节点持有的多个样本均位于根节点;
步骤33、通过与多个数据节点之间密文方式的信息交互和数据计算,针对能够用于进行当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为当前层的分裂标准,使得当当前层不为最后一棵决策树的最后一层时,每个数据节点按照当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到当前层的节点分裂结果,当当前层为当前决策树的最后一层时,当前决策树训练完成,当当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
采用本申请实施例提供的上述方法,参与训练的多个数据节点,各自持有不同样本的相同种类特征的特征数据,针对每棵决策树的每一层的训练中,首先,多个数据节点与密文计算节点之间通过信息交互和数据计算,确定该多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界,然后,每个数据节点分别针对当前层的每个节点,按照每种特征的合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,然后,每个数据节点与密文计算节点之间通过密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,评分增益值最高的分裂标准,作为当前层的分裂标准,完成当前层的训练,然后,如果当前层不为最后一棵决策树的最后一层,每个数据节点按照当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到当前层的节点分裂结果,用于下一层以及下一棵决策树的训练,当当前层为当前决策树的最后一层时,当前决策树训练完成,当当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。从而在确保参与训练的各数据节点不泄露自身持有样本的特征数据的情况下,实现了针对GBDT模型的横向训练。
下面结合附图,用具体实施例对本申请提供的方法及装置和相应系统进行详细描述。
本申请实施例提供一种GBDT模型的横向训练方法,如图4所示,包括如下步骤:
步骤401、数据节点进行数据初始化(data_init)。
本步骤中,数据初始化运行在所有数据节点,将所持有的原始特征数据初始化。初始化后的数据可以是浮点型的原始特征数据,并存储在数据节点本地。
初始化的过程中,也可以按列生成离散化器,离散化器的功能是将浮点型的原始特征数据,转换为整型的离散数据,用于后续GBDT模型的训练。所生成的离散化数据,可以储存在数据节点本地。
步骤402、数据节点进行GBDT模型的模型初始化(model_init),得到初始GBDT模型,初始GBDT模型包括多棵决策树。
本步骤中,每个数据节点均进行GBDT模型的模型初始化,且得到相同结构的初始GBDT模型。
步骤403、每个数据节点按照初始GBDT模型包括的多棵决策树的排列顺序,将未训练的各决策树中的第一棵决策树作为当前决策树,对当前决策树进行树初始化(tree_init),在对当前决策树进行初始化后,当前决策树的节点结构已经确定,并且,用于训练的多个样本均被分配至当前决策树的根节点。
本步骤中,除了确定当前决策树的节点结构,还可以针对当前决策树,计算每个样本的梯度,按照初始GBDT模型的损失函数,计算自身持有的多个样本中每个样本的梯度,用于后续进行梯度聚合和评分增益值的计算。
本申请实施例中,针对当前决策树,具体可以采用如下公式计算自身持有的多个样本中每个样本的梯度:
Figure 182327DEST_PATH_IMAGE001
Figure 248503DEST_PATH_IMAGE002
其中,
Figure 193850DEST_PATH_IMAGE003
为多个样本中第
Figure 114401DEST_PATH_IMAGE004
个样本的一阶梯度,
Figure 507074DEST_PATH_IMAGE005
为第
Figure 794967DEST_PATH_IMAGE004
个样本的二阶梯度,
Figure 747267DEST_PATH_IMAGE006
为初始GBDT模型的损失函数,
Figure 302751DEST_PATH_IMAGE007
为第
Figure 820320DEST_PATH_IMAGE004
个样本的目标值,
Figure 533192DEST_PATH_IMAGE008
为训练第
Figure 161620DEST_PATH_IMAGE009
棵决策树时,使用前
Figure 777802DEST_PATH_IMAGE010
棵决策树对第
Figure 748163DEST_PATH_IMAGE004
个样本进行预测的预测值的和值。
步骤404、每个数据节点按照当前决策树包括的各层节点的排列顺序(从根节点指向子节点的顺序),将未训练的各层中的第一层作为当前层,对当前层进行层初始化(tree_depth_init)。
本步骤中,每个数据节点按照自身持有的每种特征的分箱数,确定该种特征的分箱边界,并向密文计算节点发送自身持有的每种特征的分箱边界。
步骤405、密文计算节点执行合并分箱边界(tree_depth_merge),即在接收到每个数据节点发送的所持有的每种特征的分箱边界之后,将接收的多个数据节点发送的每种特征的分箱边界进行合并,得到每种特征的合并后分箱边界,并向每个数据节点发送该合并后分箱边界。
本申请实施例中,由于不同的数据节点针对同一特征所确定的分箱边界可能不同,所以,本步骤中,密文计算节点将所有数据节点所针对同一特征所确定的分箱边界进行合并,得到合并后分箱边界,用于每个数据节点后续基于该合并后分箱边界对持有的样本进行分箱。
步骤406、数据节点执行特征值分箱(tree_depth_split),即每个数据节点分别针对当前层的每个节点,按照每种特征的合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当当前层为根节点所属的第一层时,持有的多个样本均位于根节点,当当前层不为第一层时,每个节点所包括的样本可以基于上一层的节点分裂结果确定。
本步骤中,针对一种特征,对一个节点包括的所有样本进行分箱,可以理解为针对该种特征预先划分了多个连续的特征值区间,每个特征值区间对应一个分箱,按照样本的该特征的特征数据,将该样本分配到该特征数据所属的特征值区间对应的分箱,其中,每个特征值区间的边界,相当于所对应的分箱的边界。
步骤407、每个数据节点执行梯度聚合(tree_depth_gradactive)。
每个数据节点分别针对自身持有的每种特征的分箱结果的每个分箱,将该分箱包括的样本的梯度进行聚合,得到针对该种特征的梯度聚合结果,并向密文计算节点密文方式发送自身持有的每种特征的梯度聚合结果。
步骤408、密文计算节点执行聚合结果求和(tree_depth_grad),即在接收每个数据节点密文方式发送的该数据节点自身持有的每种特征的梯度聚合结果后,将接收的多个数据节点发送的每种特征的梯度聚合结果,按照相同分箱进行对应聚合,得到针对多个数据节点持有的所有样本的每种特征的整体梯度聚合结果,并向每个数据节点密文方式发送该整体梯度聚合结果。
针对每个节点的每种特征的每个分箱的整体梯度聚合结果,可以理解为是针对多个数据节点所持有的所有样本的梯度聚合结果。
步骤409、每个数据节点执行层训练完成(tree_depth_finish),即在接收到密文计算节点密文方式发送的整体梯度聚合结果后,针对能够用于进行当前层的节点分裂的各种分裂标准,使用每种特征的整体梯度聚合结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,并将评分增益值最高的分裂标准,作为当前层的分裂标准。
本步骤中,各种分裂标准为基于所有特征的所有分箱边界确定的,例如,一个节点按照一种特征的分裂标准,可以是按照该特征的一个分箱边界,如果一个样本该特征的特征数据小于该分箱边界,将该样本分配到该节点的左子节点,如果该样本该特征的特征数据不小于该分箱边界,将该样本分配到该节点的右子节点。
本步骤中,针对能够用于进行当前层的节点分裂的各种分裂标准,具体可以采用如下公式计算每种分裂标准的评分增益值:
Figure 932020DEST_PATH_IMAGE011
其中,
Figure 410144DEST_PATH_IMAGE012
为该分裂标准的评分增益值,样本集合
Figure 363056DEST_PATH_IMAGE013
为按照该分裂标准进行节点分裂被分配到左子节点的样本的集合,样本集合
Figure 707581DEST_PATH_IMAGE014
为按照该分裂标准进行节点分裂被分配到右子节点的样本的集合,
Figure 644313DEST_PATH_IMAGE015
Figure 323863DEST_PATH_IMAGE016
为预设参数。
其中,由于分裂标准均是按照分箱边界确定的,所以,样本集合
Figure 193599DEST_PATH_IMAGE013
的梯度和值,样本集合
Figure 974604DEST_PATH_IMAGE014
的梯度和值,均可以基于当前层的每个节点的每种特征的每个分箱的整体梯度聚合结果进行计算。
本步骤中,在分别计算按照每种分裂标准进行节点分裂的评分增益值,选出当前层的分裂标准后之后,还可以针对当前层的分裂标准,计算当前层的每个节点的左子节点和右子节点的权重。
具体可以采用如下公式计算当前层的每个节点的左子节点和右子节点的权重:
Figure 867474DEST_PATH_IMAGE017
Figure 687400DEST_PATH_IMAGE018
其中,
Figure 818167DEST_PATH_IMAGE019
为左子节点的权重,
Figure 770074DEST_PATH_IMAGE020
为右子节点的权重;
Figure 464754DEST_PATH_IMAGE010
棵决策树中每棵决策树对第
Figure 307945DEST_PATH_IMAGE004
个样本进行预测的预测值,为使用该棵决策树对第
Figure 106268DEST_PATH_IMAGE004
个样本进行分类时,第
Figure 212764DEST_PATH_IMAGE004
个样本所位于的节点的权重。
本步骤中,每个数据节点还按照当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到当前层的节点分裂结果,该节点分裂结果能够表示目前位于当前层的每个节点的样本,将被分配到该节点的哪一个子节点,即被分配到该节点的左子节点还是右子节点。
通过本步骤,每个数据节点均完成当前层的训练(tree_depth_finish),并且,由于每个数据节点所获得的合并后分箱边界和整体梯度聚合结果均相同,所以,针对当前层所确定的分裂标准也是相同的,但由于每个数据节点所持有的样本不同,所以,按照该相同的分裂标准对自身持有的样本进行节点分裂,得到的当前层的节点分裂结果是不同的。
如果当前层不是当前决策树的最后一层,则返回上述步骤404,开启当前决策树的下一层的训练,如果当前层是当前决策树的最后一层,执行下述步骤410。
步骤410、每个数据节点生成当前决策树的树模型,即完成当前决策树的训练(tree_finish)。
本步骤中还可以删除当前决策树中存储的缓存数据。
如果当前决策树不是GBDT模型的最后一棵决策树,则返回上述步骤403,开启GBDT模型的下一棵决策树的训练,如果当前决策树是GBDT模型的最后一棵决策树,执行下述步骤411。
步骤411、每个数据节点生成训练完成的GBDT模型,即完成GBDT模型的训练(model_finish),且所有数据节点所的得到的完成训练的GBDT模型时相同的。
本步骤中,还可以删除GBDT模型中存储的缓存数据。
采用本申请实施例提供的上述GBDT模型的横向训练方法,通过基于密文计算的梯度聚合步骤,保证了各参与方的数据在模型的训练过程中,既不会泄露原始的特征数据,也不会泄露关键的敏感中间数据,能够更好地实现算法安全性与算法运行效率之间的平衡。
基于同一发明构思,根据本申请上述实施例提供的GBDT模型的横向训练方法,相应地,本申请另一实施例还提供了一种GBDT模型的横向训练装置,应用于训练系统中的数据节点,训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
该横向训练装置,如图5所示,包括:
分箱边界确定模块51,用于依次将初始GBDT模型的每棵决策树作为当前决策树,依次将当前决策树的每一层作为当前层,针对当前层,通过与密文计算节点之间的信息交互和数据计算,确定多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
样本分箱模块52,用于分别针对当前层的每个节点,按照每种特征的合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当当前层为根节点所属的第一层时,持有的多个样本均位于根节点;
分裂标准确定模块53,用于通过与密文计算节点之间密文方式的信息交互和数据计算,针对能够用于进行当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为当前层的分裂标准;
节点分裂模块54,用于当当前层不为最后一棵决策树的最后一层时,按照当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到当前层的节点分裂结果,当当前层为当前决策树的最后一层时,当前决策树训练完成,当当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
本申请实施例还提供一种GBDT模型的横向训练装置,应用于训练系统中的密文计算节点,训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
该横向训练装置,如图6所示,包括:
分箱边界确定模块61,用于依次将初始GBDT模型的每棵决策树作为当前决策树,依次将当前决策树的每一层作为当前层,针对当前层,通过与多个数据节点之间的信息交互和数据计算,确定多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
分箱边界发送模块62,用于向多个数据节点发送合并后分箱边界,使得数据节点分别针对当前层的每个节点,按照每种特征的合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当当前层为根节点所属的第一层时,每个数据节点持有的多个样本均位于根节点;
分裂标准确定模块63,用于通过与多个数据节点之间密文方式的信息交互和数据计算,针对能够用于进行当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为当前层的分裂标准,使得当当前层不为最后一棵决策树的最后一层时,每个数据节点按照当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到当前层的节点分裂结果,当当前层为当前决策树的最后一层时,当前决策树训练完成,当当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
上述各模块的功能可对应于图2至图4所示流程中的相应处理步骤,在此不再赘述。
本申请的实施例所提供的上述GBDT模型的横向训练装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要上述GBDT模型的横向训练装置具有上述功能,都应该在本申请的保护范围之内。
本申请实施例还提供一种GBDT模型的横向训练系统,如图1所示,包括:多个上述任一数据节点和上述任一密文计算节点。
本申请实施例还提供一种电子设备,如图7所示,包括处理器71和机器可读存储介质72,机器可读存储介质72存储有能够被处理器71执行的机器可执行指令,处理器71被机器可执行指令促使:实现上述任一的方法。
本申请实施例还提供一种计算机可读存储介质,其特征在于,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一的方法。
上述电子设备中的机器可读存储介质可以包括随机存取存储器(Random AccessMemory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、系统、计算机可读存储介质,计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (11)

1.一种GBDT模型的横向训练方法,其特征在于,应用于训练系统中的数据节点,所述训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
依次将初始GBDT模型的每棵决策树作为当前决策树,采用如下步骤进行决策树训练:
依次将所述当前决策树的每一层作为当前层,采用如下步骤进行节点分裂:
通过与所述密文计算节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
分别针对所述当前层的每个节点,按照每种特征的所述合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当所述当前层为根节点所属的第一层时,持有的多个样本均位于根节点;
通过与所述密文计算节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,所述各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为所述当前层的分裂标准;
当所述当前层不为最后一棵决策树的最后一层时,按照所述当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到所述当前层的节点分裂结果,当所述当前层为所述当前决策树的最后一层时,所述当前决策树训练完成,当所述当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
2.如权利要求1所述的方法,其特征在于,所述通过与所述密文计算节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界,包括:
按照自身持有的每种特征的分箱数,确定该种特征的分箱边界;
向所述密文计算节点发送自身持有的每种特征的分箱边界,使得所述密文计算节点将接收的所述多个数据节点发送的每种特征的分箱边界进行合并,得到每种特征的合并后分箱边界;
接收所述密文计算节点发送的所述合并后分箱边界。
3.如权利要求1所述的方法,其特征在于,还包括:
针对所述当前决策树,按照所述初始GBDT模型的损失函数,计算自身持有的多个样本中每个样本的梯度;
所述通过与所述密文计算节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,包括:
分别针对自身持有的每种特征的分箱结果的每个分箱,将该分箱包括的样本的梯度进行聚合,得到针对该种特征的梯度聚合结果;
向所述密文计算节点密文方式发送自身持有的每种特征的梯度聚合结果,使得所述密文计算节点将接收的所述多个数据节点发送的每种特征的梯度聚合结果,按照相同分箱进行对应聚合,得到针对所述多个数据节点持有的所有样本的每种特征的整体梯度聚合结果;
接收所述密文计算节点密文方式发送的所述整体梯度聚合结果;
针对能够用于进行所述当前层的节点分裂的各种分裂标准,使用每种特征的所述整体梯度聚合结果,分别计算按照每种分裂标准进行节点分裂的评分增益值。
4.一种GBDT模型的横向训练方法,其特征在于,应用于训练系统中的密文计算节点,所述训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
依次将初始GBDT模型的每棵决策树作为当前决策树,采用如下步骤进行决策树训练:
依次将所述当前决策树的每一层作为当前层,采用如下步骤进行节点分裂:
通过与所述多个数据节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
向所述多个数据节点发送所述合并后分箱边界,使得所述数据节点分别针对所述当前层的每个节点,按照每种特征的所述合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当所述当前层为根节点所属的第一层时,每个数据节点持有的多个样本均位于根节点;
通过与所述多个数据节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,所述各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为所述当前层的分裂标准,使得当所述当前层不为最后一棵决策树的最后一层时,每个数据节点按照所述当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到所述当前层的节点分裂结果,当所述当前层为所述当前决策树的最后一层时,所述当前决策树训练完成,当所述当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
5.如权利要求4所述的方法,其特征在于,所述通过与所述多个数据节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界,包括:
接收每个数据节点发送的所持有的每种特征的分箱边界,该分箱边界为该数据节点按照自身持有的每种特征的分箱数确定的;
将接收的所述多个数据节点发送的每种特征的分箱边界进行合并,得到每种特征的合并后分箱边界。
6.如权利要求4所述的方法,其特征在于,所述通过与所述多个数据节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,包括:
接收每个数据节点密文方式发送的该数据节点自身持有的每种特征的梯度聚合结果,该梯度聚合结果为该数据节点分别针对自身持有的每种特征的分箱结果的每个分箱,将该分箱包括的样本的梯度进行聚合得到的,该数据节点自身持有的多个样本中每个样本的梯度,为该数据节点针对所述当前决策树,按照所述初始GBDT模型的损失函数计算得到的;
将接收的所述多个数据节点发送的每种特征的梯度聚合结果,按照相同分箱进行对应聚合,得到针对所述多个数据节点持有的所有样本的每种特征的整体梯度聚合结果;
向每个数据节点密文方式发送所述整体梯度聚合结果,使得每个数据节点针对能够用于进行所述当前层的节点分裂的各种分裂标准,使用每种特征的所述整体梯度聚合结果,分别计算按照每种分裂标准进行节点分裂的评分增益值。
7.一种GBDT模型的横向训练装置,其特征在于,应用于训练系统中的数据节点,所述训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
所述横向训练装置,包括:
分箱边界确定模块,用于依次将初始GBDT模型的每棵决策树作为当前决策树,依次将所述当前决策树的每一层作为当前层,针对当前层,通过与所述密文计算节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
样本分箱模块,用于分别针对所述当前层的每个节点,按照每种特征的所述合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当所述当前层为根节点所属的第一层时,持有的多个样本均位于根节点;
分裂标准确定模块,用于通过与所述密文计算节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,所述各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为所述当前层的分裂标准;
节点分裂模块,用于当所述当前层不为最后一棵决策树的最后一层时,按照所述当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到所述当前层的节点分裂结果,当所述当前层为所述当前决策树的最后一层时,所述当前决策树训练完成,当所述当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
8.一种GBDT模型的横向训练装置,其特征在于,应用于训练系统中的密文计算节点,所述训练系统包括:多个数据节点和密文计算节点,不同的数据节点具有不同样本的相同种类特征的特征数据;
所述横向训练装置,包括:
分箱边界确定模块,用于依次将初始GBDT模型的每棵决策树作为当前决策树,依次将所述当前决策树的每一层作为当前层,针对当前层,通过与所述多个数据节点之间的信息交互和数据计算,确定所述多个数据节点持有的每种特征的分箱边界,作为合并后分箱边界;
分箱边界发送模块,用于向所述多个数据节点发送所述合并后分箱边界,使得所述数据节点分别针对所述当前层的每个节点,按照每种特征的所述合并后分箱边界包括的分箱边界,对该节点包括的所有样本进行分箱,得到分箱结果,作为该种特征的分箱结果,当所述当前层为根节点所属的第一层时,每个数据节点持有的多个样本均位于根节点;
分裂标准确定模块,用于通过与所述多个数据节点之间密文方式的信息交互和数据计算,针对能够用于进行所述当前层的节点分裂的各种分裂标准,基于所有数据节点的每种特征的分箱结果,分别计算按照每种分裂标准进行节点分裂的评分增益值,所述各种分裂标准为基于所有特征的所有分箱边界确定的,评分增益值最高的分裂标准,作为所述当前层的分裂标准,使得当所述当前层不为最后一棵决策树的最后一层时,每个数据节点按照所述当前层的分裂标准,基于自身持有的多个样本的该分裂标准对应的特征的特征数据,进行节点分裂,得到所述当前层的节点分裂结果,当所述当前层为所述当前决策树的最后一层时,所述当前决策树训练完成,当所述当前层为最后一棵决策树的最后一层时,GBDT模型训练完成。
9.一种GBDT模型的横向训练系统,其特征在于,包括:权利要求7中所述的多个数据节点和权利要求8中所述的密文计算节点。
10.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-3任一所述的方法,或者,实现权利要求4-6任一所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3任一所述的方法,或者,实现权利要求4-6任一所述的方法。
CN202210107708.1A 2022-01-28 2022-01-28 一种gbdt模型的横向训练方法、装置、电子设备及系统 Active CN114386533B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210107708.1A CN114386533B (zh) 2022-01-28 2022-01-28 一种gbdt模型的横向训练方法、装置、电子设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210107708.1A CN114386533B (zh) 2022-01-28 2022-01-28 一种gbdt模型的横向训练方法、装置、电子设备及系统

Publications (2)

Publication Number Publication Date
CN114386533A true CN114386533A (zh) 2022-04-22
CN114386533B CN114386533B (zh) 2022-09-16

Family

ID=81204719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210107708.1A Active CN114386533B (zh) 2022-01-28 2022-01-28 一种gbdt模型的横向训练方法、装置、电子设备及系统

Country Status (1)

Country Link
CN (1) CN114386533B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728317A (zh) * 2019-09-30 2020-01-24 腾讯科技(深圳)有限公司 决策树模型的训练方法、系统、存储介质及预测方法
CN111598186A (zh) * 2020-06-05 2020-08-28 腾讯科技(深圳)有限公司 基于纵向联邦学习的决策模型训练方法、预测方法及装置
CN111695697A (zh) * 2020-06-12 2020-09-22 深圳前海微众银行股份有限公司 多方联合决策树构建方法、设备及可读存储介质
CN112052875A (zh) * 2020-07-30 2020-12-08 华控清交信息科技(北京)有限公司 一种训练树模型的方法、装置和用于训练树模型的装置
CN112308157A (zh) * 2020-11-05 2021-02-02 浙江大学 一种面向决策树的横向联邦学习方法
WO2021189974A1 (zh) * 2020-10-21 2021-09-30 平安科技(深圳)有限公司 模型训练方法、文本分类方法、装置、计算机设备和介质
CN113515760A (zh) * 2021-05-28 2021-10-19 平安国际智慧城市科技股份有限公司 横向联邦学习方法、装置、计算机设备和存储介质
CN113688999A (zh) * 2021-08-23 2021-11-23 神州融安科技(北京)有限公司 一种横向联邦xgboost决策树的训练方法
CN113822311A (zh) * 2020-12-31 2021-12-21 京东科技控股股份有限公司 一种联邦学习模型的训练方法、装置及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110728317A (zh) * 2019-09-30 2020-01-24 腾讯科技(深圳)有限公司 决策树模型的训练方法、系统、存储介质及预测方法
CN111598186A (zh) * 2020-06-05 2020-08-28 腾讯科技(深圳)有限公司 基于纵向联邦学习的决策模型训练方法、预测方法及装置
CN111695697A (zh) * 2020-06-12 2020-09-22 深圳前海微众银行股份有限公司 多方联合决策树构建方法、设备及可读存储介质
CN112052875A (zh) * 2020-07-30 2020-12-08 华控清交信息科技(北京)有限公司 一种训练树模型的方法、装置和用于训练树模型的装置
WO2021189974A1 (zh) * 2020-10-21 2021-09-30 平安科技(深圳)有限公司 模型训练方法、文本分类方法、装置、计算机设备和介质
CN112308157A (zh) * 2020-11-05 2021-02-02 浙江大学 一种面向决策树的横向联邦学习方法
CN113822311A (zh) * 2020-12-31 2021-12-21 京东科技控股股份有限公司 一种联邦学习模型的训练方法、装置及电子设备
CN113515760A (zh) * 2021-05-28 2021-10-19 平安国际智慧城市科技股份有限公司 横向联邦学习方法、装置、计算机设备和存储介质
CN113688999A (zh) * 2021-08-23 2021-11-23 神州融安科技(北京)有限公司 一种横向联邦xgboost决策树的训练方法

Also Published As

Publication number Publication date
CN114386533B (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
KR102358604B1 (ko) 융합 데이터 처리 방법 및 정보 추천 시스템
US11531926B2 (en) Method and apparatus for generating machine learning model by using distributed computing framework
CN113435770B (zh) 基于区块链的交易风险评估方法及装置
CN110942154A (zh) 基于联邦学习的数据处理方法、装置、设备及存储介质
CN109344295B (zh) 分布式图嵌入方法、装置、设备及系统
CN111898137A (zh) 一种联邦学习的隐私数据处理方法、设备及系统
CN111967910A (zh) 一种用户客群分类方法和装置
CN114787824A (zh) 联合混合模型
CN110874648A (zh) 联邦模型的训练方法、系统和电子设备
US10824956B1 (en) System and method for price estimation of reports before execution in analytics
CN112799708A (zh) 联合更新业务模型的方法及系统
WO2021189926A1 (zh) 业务模型训练方法、装置、系统及电子设备
CN112183668A (zh) 并行训练业务模型的方法及装置
WO2016095068A1 (en) Pedestrian detection apparatus and method
WO2023174018A1 (zh) 一种纵向联邦学习方法、装置、系统、设备及存储介质
CN114359563A (zh) 模型训练方法、装置、计算机设备和存储介质
CN106897282B (zh) 一种用户群的分类方法和设备
CN114118312B (zh) 一种gbdt模型的纵向训练方法、装置、电子设备及系统
CN114386533B (zh) 一种gbdt模型的横向训练方法、装置、电子设备及系统
Tembine Mean field stochastic games: Convergence, Q/H-learning and optimality
CN113011522A (zh) 基于有向无环图的多标签联邦学习方法、控制器和介质
CN109993338B (zh) 一种链路预测方法及装置
CN114118638B (zh) 风电场功率预测方法、gbdt模型横向训练方法及装置
CN112200234B (zh) 模型分类的过程中防止模型窃取的方法及装置
Chou et al. Pseudo-reward algorithms for contextual bandits with linear payoff functions

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