CN111598186B - 基于纵向联邦学习的决策模型训练方法、预测方法及装置 - Google Patents

基于纵向联邦学习的决策模型训练方法、预测方法及装置 Download PDF

Info

Publication number
CN111598186B
CN111598186B CN202010504598.3A CN202010504598A CN111598186B CN 111598186 B CN111598186 B CN 111598186B CN 202010504598 A CN202010504598 A CN 202010504598A CN 111598186 B CN111598186 B CN 111598186B
Authority
CN
China
Prior art keywords
splitting
sample
node
feature
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
Application number
CN202010504598.3A
Other languages
English (en)
Other versions
CN111598186A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010504598.3A priority Critical patent/CN111598186B/zh
Publication of CN111598186A publication Critical patent/CN111598186A/zh
Application granted granted Critical
Publication of CN111598186B publication Critical patent/CN111598186B/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
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种基于纵向联邦学习的决策模型训练方法、预测方法及装置,所述训练方法包括:随机确定参与训练的训练样本集合,以及训练特征集合;在当前待训练决策树的每个节点处,确定所述节点的节点信息,生成第一分裂增益集合;接收至少一个第二终端生成的分裂样本集合;基于所述分裂样本集合以及所述标签数据,生成第二分裂增益集合;基于所述第一分裂增益集合和所述第二分裂增益集合,确定所述节点的分裂特征;基于训练完成的多棵所述目标决策树生成所述决策模型。本申请能够避免标签数据在传输过程中被泄露的问题,提高各参与者结点数据的安全性,保护各参与者结点的数据隐私。

Description

基于纵向联邦学习的决策模型训练方法、预测方法及装置
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于纵向联邦学习的决策模型训练方法、预测方法及装置。
背景技术
联邦学习指的是多个数据拥有方在原始数据不出本地的情况下也可进行模型训练并得到最终模型的计算过程,并且保证模型效果与聚合训练效果的差距足够小;根据数据分布情况,可以把联邦学习分为横向联邦学习、纵向联邦学习以及联邦迁移学习。
对于纵向联邦学习,由于同一样本的不同特征分属于不同的训练参与者,并且样本标签与特征也是处于分离的状态,即训练参与者拥有相同的样本空间和不同的特征空间;现有技术中提出的基于纵向联邦学习的随机森林算法需要一个主结点和多个参与者结点,其中一个参与者结点拥有标签数据,且标签数据是以明文形式发送给主结点的,再由主结点对标签数据进行加密之后发送给其他参与者结点;主结点接收来自多个参与者结点的分裂特征及分裂增益;这里的主结点是一个第三方结点,该第三方结点知道所有样本的标签信息以及各参与者结点的分裂空间,第三方结点的引入会带来额外的安全隐患,并且标签信息在传输过程中可能存在被泄露的风险。
发明内容
本申请所要解决的技术问题在于,提供了一种基于纵向联邦学习的决策模型训练方法、预测方法及装置,在联邦学习过程中无需引入第三方结点,从而不会因为引入第三方结点而带来额外的数据安全隐患;并且对于拥有标签数据的参与者结点,标签数据不会出本地,从而避免了标签数据在传输过程中被泄露的问题,提高了各参与者结点数据的安全性,保护了各参与者结点的数据隐私。
为了解决上述技术问题,一方面,本申请提供了一种基于纵向联邦学习的决策模型训练方法,应用于存储有第一样本数据和标签数据的第一终端,所述第一终端与至少一个第二终端进行数据通信,所述至少一个第二终端存储有第二样本数据,所述决策模型包括多棵目标决策树,所述决策模型训练方法包括:
获取基于所述第一样本数据和所述第二样本数据得到的样本交集,以及每个样本对应的多维度特征;
在对每棵待训练决策树进行训练时,从所述样本交集中随机确定参与训练的训练样本集合,以及从所述多维度特征中随机确定参与训练的训练特征集合;
获取当前待训练决策树的树结构信息,基于所述树结构信息从所述当前待训练决策树的根节点依次进行特征分裂;
在每个待分裂的节点处,确定所述节点的节点信息,基于所述节点的节点信息、所述第一样本数据中的特征数据以及所述标签数据生成第一分裂增益集合;
将所述节点的节点信息发送给所述至少一个第二终端,接收所述至少一个第二终端基于所述节点的节点信息以及所述第二样本数据中的特征数据进行特征分裂之后生成的分裂样本集合;
基于所述分裂样本集合以及所述标签数据,生成第二分裂增益集合;
基于所述第一分裂增益集合和所述第二分裂增益集合,确定所述节点的分裂特征;
确定训练完成时的所述待训练决策树为所述目标决策树,基于训练完成的多棵所述目标决策树生成所述决策模型。
另一方面,本申请提供了一种基于上述的决策模型的预测方法,应用于所述第一终端,所述方法包括:
依次采用所述决策模型中的每棵目标决策树进行预测,采用单棵目标决策树进行预测时,从当前目标决策树的根节点开始访问,重复执行以下步骤,直至到达叶子节点:
若当前节点的分裂特征不属于本地特征时,确定当前节点的分裂特征所属的目标第二终端;
向所述目标第二终端发送判断结果获取请求,以使得所述目标第二终端从所述目标第二终端本地的待预测样本数据中获取所述当前节点的分裂特征对应的待预测特征数据;
接收所述目标第二终端基于所述待预测特征数据返回的第一判断结果;
基于所述目标第二终端返回的所述第一判断结果,确定下一待访问节点;
当到达叶子节点时,基于所述叶子节点的信息确定当前目标决策树的预测结果;
基于多棵目标决策树的预测结果生成目标预测结果。
另一方面,本申请提供了一种基于纵向联邦学习的决策模型训练装置,应用于存储有第一样本数据和标签数据的第一终端,所述第一终端与至少一个第二终端进行数据通信,所述至少一个第二终端存储有第二样本数据,所述决策模型包括多棵目标决策树,所述决策模型训练装置包括:
样本数据处理模块,用于获取基于所述第一样本数据和所述第二样本数据得到的样本交集,以及每个样本对应的多维度特征;
训练数据确定模块,用于在对每棵待训练决策树进行训练时,从所述样本交集中随机确定参与训练的训练样本集合,以及从所述多维度特征中随机确定参与训练的训练特征集合;
节点访问模块,用于获取当前待训练决策树的树结构信息,基于所述树结构信息从所述当前待训练决策树的根节点依次进行特征分裂;
第一分裂增益集合生成模块,用于在每个待分裂的节点处,确定所述节点的节点信息,基于所述节点的节点信息、所述第一样本数据中的特征数据以及所述标签数据生成第一分裂增益集合;
分裂样本集合生成模块,用于将所述节点的节点信息发送给所述至少一个第二终端,接收所述至少一个第二终端基于所述节点的节点信息以及所述第二样本数据中的特征数据进行特征分裂之后生成的分裂样本集合;
第二分裂增益集合生成模块,用于基于所述分裂样本集合以及所述标签数据,生成第二分裂增益集合;
节点分裂特征确定模块,用于基于所述第一分裂增益集合和所述第二分裂增益集合,确定所述节点的分裂特征;
决策模型生成模块,用于确定训练完成时的所述待训练决策树为所述目标决策树,基于训练完成的多棵所述目标决策树生成所述决策模型。
另一方面,本申请提供了一种基于上述决策模型的预测装置,应用于所述第一终端,所述装置包括:
执行模块,用于依次采用所述决策模型中的每棵目标决策树进行预测,采用单棵目标决策树进行预测时,从当前目标决策树的根节点开始访问,重复执行以下步骤,直至到达叶子节点:
第一确定模块,用于若当前节点的分裂特征不属于本地特征时,确定当前节点的分裂特征所属的目标第二终端;
判断结果获取请求发送模块,用于向所述目标第二终端发送判断结果获取请求,以使得所述目标第二终端从所述目标第二终端本地的待预测样本数据中获取所述当前节点的分裂特征对应的待预测特征数据;
第一判断结果接收模块,用于接收所述目标第二终端基于所述待预测特征数据返回的第一判断结果;
第二确定模块,用于基于所述目标第二终端返回的所述第一判断结果,确定下一待访问节点;
预测结果确定模块,用于当到达叶子节点时,基于所述叶子节点的信息确定当前目标决策树的预测结果;
目标预测结果确定模块,用于基于多棵目标决策树的预测结果生成目标预测结果。
另一方面,本申请提供了一种决策模型训练终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的决策模型训练方法。
另一方面,本申请提供了一种预测终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的预测方法。
实施本申请实施例,具有如下有益效果:
本申请在对决策模型中的每棵待训练决策树进行训练时,由第一终端从样本交集中随机确定参与训练的训练样本集合,从多维特征中随机确定参与训练的训练特征集合;依次对当前待训练决策树的各节点进行分裂,在每个节点处,基于节点的节点信息、第一样本数据中的特征数据以及标签数据生成第一分裂增益集合;基于至少一个第二终端发送的分裂样本集合生成的第二分裂集合;基于第一分裂增益集合和第二分裂增益集合,确定当前节点的分裂特征;对于待训练决策树的每个节点循环执行上述操作,直至满足预设条件,从而得到了目标决策树。本申请中无需引入第三方结点,由具有标签数据的第一终端负责随机确定参与训练的样本集合和特征集合,并且负责发起决策模型训练任务,无需发送标签信息或者加密后的标签信息,甚至是与标签信息有关的中间计算结果,分裂增益的计算均在第一终端进行,从而避免了引入第三方结点带来的数据安全隐患,并且第一终端所拥有的标签数据不会出本地,从而避免了标签数据在传输过程中可能被泄露的问题,提高了各参与者结点数据的安全性,保护了各参与者结点的数据隐私。在金融企业以及电商企业合作完成用户信贷违约评估的应用场景中,由具有用户违约记录标签数据的金融企业端负责发起决策模型训练任务,标签数据不会出金融企业端本地,避免了标签数据的泄露;另外分裂增益的计算均在金融企业端进行,从而避免了引入第三方结点带来的数据安全隐患,保证了金融企业端和电商企业端的数据安全。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的实施环境示意图;
图2是本申请实施例提供的一种基于纵向联邦学习的决策模型训练方法流程图;
图3是本申请实施例提供的一种样本交集及多维度特征生成方法流程图;
图4是本申请实施例提供的一种训练样本集合和训练特征集合生成方法流程图;
图5是本申请实施例提供的一种第一分裂增益集合生成方法流程图;
图6是本申请实施例提供的一种特征分裂方法流程图;
图7是本申请实施例提供的一种节点分裂特征的确定方法流程图;
图8是本申请实施例提供的一种基于决策模型的预测方法流程图;
图9是本申请实施例提供的决策模型训练过程示意图;
图10是本申请实施例提供的有标签方单决策树的构造流程示意图;
图11是本申请实施例提供的无标签方的训练方法示意图;
图12是本申请实施例提供的一种基于纵向联邦学习的决策模型训练装置示意图;
图13是本申请实施例提供的一种基于决策模型的预测装置示意图;
图14是本申请实施例提供的一种终端结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
CART树(Classification And Regression Tree,分类回归树):CART树属于决策树算法中的一种,与传统决策树算法(ID3,C4.5)相比,CART算法采用基尼系数和均方差的方式取代信息熵来计算增益,并且CART树支持分类,回归多任务,因此对于随机森林算法来说,多使用CART树作为基学习器。
同态加密:同态加密是一种加密形式,它允许人们对密文进行特定形式的代数运算得到仍然是加密的结果,将其解密所得到的结果对明文进行同样的运算结果一样。同态加密可分为部分同态加密和全同态加密,部分同态加密仅支持单一类型的密文域同态运算(加或乘同态),全同态加密能够实现任意次密文的加、乘同态运算。
请参阅图1,其示出了本申请实施例提供的实施环境示意图,该实施环境可包括:第一终端110和至少一个第二终端120,所述第一终端110和所述第二终端120可通过网络进行数据通信;其中,第一终端110具有样本数据X1和标签数据Y,第二终端120具有样本数据X2、X3……XN。
具体地,在对决策模型中的每个待训练决策树进行训练时,第一终端110随机确定参与训练的训练样本集合和训练特征集合,依次访问当前待训练决策树的各节点,在每个节点处,生成第一分裂增益集合;第一终端110接收第二终端120发送的分裂样本集合,并基于该分裂样本集合生成第二分裂增益集合;第一终端110基于第一分裂增益集合和第二分裂增益集合,确定当前节点的分裂特征;重复上述步骤直至当前待训练决策树训练完成。
第一终端110以及第二终端120均可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群,其中服务器可以是云端服务器。
联邦学习与传统的集中式机器学习不同,联邦学习具有分布式、本地计算等特征,将训练任务下发到用户侧,数据保持在用户本地,保证了用户数据的隐私;此外,通过引入更多的用户参与,联邦学习可以整体上拓展训练数据集,从而提升总体模型的质量。用于联邦学习的模型训练数据可存储于区块链节点中,区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
现有技术中在进行联邦学习时需要引入第三方结点,并且涉及到对标签数据的传输,即使对标签数据进行加密,也存在泄露的风险,例如典型的二分类问题,0/1标签与encrypt(0)/encrypt(1)标签传递相同的信息;为了解决在进行联邦学习时存在数据安全隐患以及敏感信息泄露等问题,本申请实施例提供了一种基于纵向联邦学习的决策模型训练方法,所述方法可应用于上述的第一终端,其中第一终端存储有第一样本数据和标签数据的第一终端,第一终端与至少一个第二终端进行数据通信,所述至少一个第二终端存储有第二样本数据,所述决策模型包括多棵目标决策树,请参阅图2,具体的决策模型训练方法包括:
S210.获取基于所述第一样本数据和所述第二样本数据得到的样本交集,以及每个样本对应的多维度特征。
这里所得到的样本交集取的是第一终端和至少一个第二终端中所共有的样本部分,即该样本交集中的样本在各终端中均是存在的,样本交集可通过样本对齐的方法来得到,样本对齐也可以称为样本标识匹配,实质上是从第一终端和至少一个第二终端中找出相同样本标识的样本;第一终端和至少一个第二终端的各个终端所包含样本的特征并不完全相同;具体地,所述第一样本数据包括第一样本标识集合以及第一特征集合;所述第二样本数据包括第二样本标识集合以及第二特征集合,请参阅图3,其示出了一种样本交集及多维度特征生成方法,该方法包括:
S310.对所述第一样本标识集合进行加密,得到第一加密信息。
S320.接收所述至少一个第二终端发送的第二加密信息,所述第二加密信息是所述至少一个第二终端对所述第二样本数据进行加密得到的。
S330.基于所述第一加密信息和所述第二加密信息,得到所述样本交集。
S340.接收所述至少一个第二终端发送的所述第二特征集合,对所述第一特征集合与所述第二特征集合进行联合得到多维度特征。
其中,所述样本标识集合中的每项样本标识均对应所述多维度特征。例如,本申请实施例中的样本标识可以为用户标识,其对应的多维度特征可以为与该用户对应的多维度的特征信息。
在生成样本交集时,需要结合第一终端和至少一个第二终端中存储的样本数据来确定,要确定第一终端和至少一个第二终端所共有的样本数据,出于保护数据隐私的考虑对于不共有的其他样本数据需要进行保密,对于具体得到样本交集的方法,可采用现有的RSA+哈希机制的安全求交方法,以第一终端为例,第一终端通过哈希算法对所存储的第一样本标识集合进行哈希计算,再通过RSA算法对哈希计算的结果进行加密,并将得到的第一加密信息发送给至少一个第二终端;第一终端接收至少一个第二终端基于第一加密信息得到的第二加密信息,从而根据第一加密信息和第二加密信息进行进一步地计算,便可得到上述的样本交集;在采用该方法求样本交集后,各终端均可获知当前参与联邦学习的各参与方之间的样本交集。
对于每一项样本标识,其可能拥有多维特征,这多维特征可能被不同参与方所拥有,例如,对于样本A来说,其在第一终端可能具有特征a和特征b,在至少一个第二终端可能具有特征c和特征d,那么可以确定样本A所对应的多维度特征为特征a、特征b、特征c和特征d。
S220.在对每棵待训练决策树进行训练时,从所述样本交集中随机确定参与训练的训练样本集合,以及从所述多维度特征中随机确定参与训练的训练特征集合。
决策模型中的每棵目标决策树都是独立的,所以需要对每棵树分别进行训练,在对每棵树分别进行训练时所采用的训练样本集合和训练特征集合是随机选择的,具体地,请参阅图4,其示出了一种训练样本集合和训练特征集合生成方法,所述方法可包括:
S410.从所述样本交集中随机选择参与训练的样本标识,基于选择的样本标识生成所述训练样本集合。
S420.从所述多维度特征中随机选择参与训练的特征项,基于选择的特征项生成所述训练特征集合。
其中,所述训练样本集合中的样本标识的数量小于所述样本交集中样本标识的数量,所述训练特征集合中的特征项的数量小于所述多维度特征的总维数。
在进行随机选择时,可基于相应的随机算法来选择当前训练所需的训练样本集合和训练特征集合;例如,样本交集中样本标识的数量为1000,分别为这1000个样本标识进行依次标号,基于随机算法每次在1-1000之间产生一个随机数,该随机数的标号对应的样本标识便被选择为训练样本,可采用同样的方法选择特征样本;需要说明的是,任何能够实现样本标识和特征的随机选择的随机算法均可应用于本申请实施例中,在此不做具体限定。
S230.获取当前待训练决策树的树结构信息,基于所述树结构信息从所述当前待训练决策树的根节点依次进行特征分裂。
这里获取的当前待决策树的树结构信息具体可以为当前待训练决策树的深度信息,可将当前待决策树的结构信息发送给至少一个第二终端以实现树结构信息的同步;同时,初始化待分裂根节点,并将其放入待分裂节点队列;在训练过程中,需要依次访问从待分裂节点队列中取出待分裂节点,从而完成对整棵决策树的训练。
S240.在每个待分裂的节点处,确定所述节点的节点信息,基于所述节点的节点信息、所述第一样本数据中的特征数据以及所述标签数据生成第一分裂增益集合。
其中所述节点的节点信息包括所述节点包含的样本集合,所述节点包含的样本集合是所述训练样本集合的子集;应当理解的是,本实施例中对于一棵决策树的当前节点来讲,若当前节点不是叶子节点,以当前节点为父节点,其可能有至少两个子节点,那么当父节点下有至少两个子节点时,父节点所包含的样本集合就会被分为至少两个集合,从而随着对树的各层节点进行一层一层地访问,每层的节点所包含的样本集合越来越少;例如对于父节点n1,其包含的样本集合为{x1,x2,x4,x5},根据第一样本数据中的特征数据以及标签数据进行特征分裂,相应确定父节点n1有两个子节点n2和n3,其分别包含的样本集合为{x2,x4,x5}和{x1}。具体请参阅图5,其示出了一种第一分裂增益集合生成方法,所述方法可包括:
S510.对于所述节点包含的样本集合中的各项样本标识,从所述第一样本数据确定所述各项样本标识对应的特征项。
由上述内容可知,对于同一样本标识,不同终端存储有不同的特征项信息,在计算第一分裂增益时,仅仅是基于第一终端中所存储的样本的特征项来进行的;首先根据当前节点包含的样本集合确定出包含的各项样本标识,然后确定出第一终端中存储的各项样本标识所对应的特征项。
S520.获取各项样本标识对应的同一特征项的特征数据,基于所述同一特征项的特征数据进行特征分裂,得到分裂样本集合;其中,对于同一特征项进行至少一次特征分裂,每次特征分裂生成至少两个分裂样本集合。
对于各项样本标识可能对应多个特征项,那么需要分别对每一特征项进行特征分裂;具体请参阅图6,其示出了一种特征分裂方法,所述方法可包括:
S610.基于所述同一特征项的特征数据确定至少一个待分裂特征值。
对于不同样本标识所对应的同一特征项的特征值一般是不同的,可通过这些不同的特征值来确定待分裂的特征值,例如:对于样本标识集合{x1,x2,x4,x5},其对应的同一特征项a的特征值分别为1,2,5,10,那么可以确定特征项a的待分裂值为1,2,5。
S620.基于每一个待分裂特征值对所述同一特征项进行特征分裂,根据特征分裂的结果将所述同一特征项的特征数据划分为至少两个特征数据集合。
本申请实施例中以将同一特征项的特征数据划分为两个特征数据集合为例进行说明;当确定的待分裂值为1时,相应得到的两个特征数据集合为{1}和{2,5,10};当确定的待分裂值为2时,相应得到的两个特征数据集合为{1,2}和{5,10};当确定的待分裂值为5时,相应得到的两个特征数据集合为{1,2,5}和{10}。
S630.分别确定所述至少两个特征数据集合中每个元素对应的分裂样本标识,基于所述分裂样本标识生成与所述待分裂特征值对应的所述分裂样本集合。
根据特征数据集合中每个元素对应的分裂样本标识,可确定相应的分裂样本集合:当确定的待分裂值为1时,相应得到的两个分裂样本集合为{x1}和{x2,x4,x5};当确定的待分裂值为2时,相应得到的两个分裂样本集合为{x1,x2}和{x4,x5};当确定的待分裂值为5时,相应得到的两个分裂样本集合为{x1,x2,x4}和{x5};从而生成了与各待分裂特征值对应的分裂样本集合。
S530.分别基于每次特征分裂得到的所述至少两个分裂样本集合,以及与所述各项样本标识对应的标签数据,计算第一分裂增益。
本申请实施例中的决策树具体可以为CART树,以分类任务为例,CART树通过计算基尼系数的方式来计算分裂增益。
假设有n个类,样本点属于第k个类别的概率为pk,则概率分布的基尼系数定义为:
Figure BDA0002526080240000131
对于样本D,其基尼系数为:
Figure BDA0002526080240000132
其中,Ck是D中属于第k类的样本子集。
如果根据特征值A的某个值a1,把D分为D1和D2两部分,则在特征A=a1的条件下,D的基尼系数表达式为:
Figure BDA0002526080240000133
以上述当确定的待分裂值为2时,相应得到的两个特征数据集合为{1,2}和{5,10}为例进行说明,第一终端中存储的关于x1,x2,x4,x5的标签数据分别为0,1,0,1,即以特征值2将样本标识集合{x1,x2,x4,x5}分成了两个分裂样本集合为D1={x1,x2}和D2={x4,x5},则根据上述公式(1)至(3)可知:
Figure BDA0002526080240000134
Figure BDA0002526080240000135
则有:
Figure BDA0002526080240000141
根据上述计算过程,得到了特征A在待分裂值为2时的第一分裂增益;同样采用上述计算方法可得到了特征A在待分裂值为1和5时的第一分裂增益,得到与特征A对应的第一分裂增益之后,还可以以同样的方法计算特征B的各个待分裂值对应的第一分裂增益。
S540.基于所述各项样本标识对应的第一分裂增益,构建所述第一分裂增益集合。
基于各样本标识对应的特征项与每个待分裂值对应的第一分裂增益,生成了第一分裂增益集合。
S250.将所述节点的节点信息发送给所述至少一个第二终端,接收所述至少一个第二终端基于所述节点的节点信息以及所述第二样本数据中的特征数据进行特征分裂之后生成的分裂样本集合。
节点信息还可以包括当前节点的节点标识以及当前节点深度;以便于第二终端了解当前是对待训练决策树中的哪个节点进行操作。
本步骤中生成分裂样本集合的具体方法可参阅上述步骤S520中的实现方法,在此不再赘述。
S260.基于所述分裂样本集合以及所述标签数据,生成第二分裂增益集合。
本步骤中具体生成第二分裂增益的方法可参阅上述步骤S530中的具体实现方法,在此不再赘述。
S270.基于所述第一分裂增益集合和所述第二分裂增益集合,确定所述节点的分裂特征。
所述节点的分裂特征包括所述分裂特征所属终端、所述分裂特征的标识以及所述分裂特征的分裂值标识;对于当前节点,在分别计算得到了第一分裂增益集合和所述第二分裂增益集合之后,要从中选取最大分裂增益值所对应的特征以及相应分裂值作为当前节点的分裂信息;具体地,请参阅图7,其示出了一种节点分裂特征的确定方法,所述方法可包括:
S710.比较所述第一分裂增益集合和所述第二分裂增益集合中各分裂增益值的大小,确定最大分裂增益值所对应的分裂特征为目标分裂特征。
第一终端找出第一分裂增益集合和第二分裂增益集合中最大的分裂增益值,并确定出与该最大分裂增益值对应的目标分裂特征。当该目标分裂特征属于第一终端时,可以知道该特征具体为某方面的特征。
S720.当所述目标分裂特征属于第二终端时,确定所述目标分裂特征所属的目标第二终端、所述目标分裂特征在所述目标第二终端中的特征标识,以及所述最大分裂增益值对应的分裂值标识。
当该目标分裂特征属于第二终端时,第一终端只能获知该目标分裂特征属于哪个目标第二终端,以及该目标分裂特征在目标第二终端中的特征标识,以及最大分裂增益值对应的分裂值标识;这是因为上述第二终端在向第一终端发送经过特征分裂之后得到的分裂样本集合时,会同时发送在得到每组分裂样本集合所对应的分裂特征标识以及相应的特征分裂值标识。
S730.确定所述目标分裂特征所属的目标第二终端、所述目标分裂特征在所述目标第二终端中的特征标识,以及所述最大分裂增益值对应的分裂值标识为所述节点的分裂特征。
第一终端基于第二终端在发送分裂样本集合的同时发送的分裂特征标识以及相应的特征分裂值标识,可以确定出当前节点的最大分裂增益值对应的分裂特征;并且将当前节点的最大分裂增益值对应的分裂特征发送给第二终端,以使得第二终端获知其中的某个特征被确定为当前节点的分裂特征,以及相应的分裂特征值。
S280.确定训练完成时的所述待训练决策树为所述目标决策树,基于训练完成的多棵所述目标决策树生成所述决策模型。
各个目标决策树的训练过程是相互独立的,在分别对各目标决策树完成训练之后,基于训练完成的各目标决策树便构成了所述决策模型。
需要说明的是,在对每棵待训练决策树进行训练时,对于初始待训练决策树,其中树的结构是已经确定的,具体包括树的深度以及每层的节点数量,但是这只是初始化的待训练决策树结构,在进行训练的过程中,若当前决策树已满足停止分裂的条件(树已到达指定深度,或者当前节点的样本集合的纯度达到某个阈值),此时便可停止训练,停止训练后得到的决策树即最终的决策树,最终得到的决策树的树的深度小于等于初始化时待训练决策树的树的深度。
本申请实施例的上述内容主要是对决策模型的训练过程,在决策模型训练完成之后,可采用决策模型进行预测,具体地,请参阅图8,其示出了一种基于上述决策模型的预测方法,可应用于第一终端,所述方法可包括:
S810.获取待预测样本数据。
待预测样本中包括样本标识和与该样本标识对应的多维特征数据,对于第一终端而言,其获取的待预测样本数据是与第一终端所提供的用于训练的特征数据类型是一致的,例如在训练过程中,第一终端所提供的数据是关于用户的特征A和特征B方面的数据,那么获取的待预测样本数据中包括的也是关于待预测用户的特征A和特征B方面的数据。
S820.依次采用所述决策模型中的每棵目标决策树进行预测,采用单棵目标决策树进行预测时,从当前目标决策树的根节点开始访问,重复执行以下步骤,直至到达叶子节点。
决策模型中包括多棵目标决策树,需要使用每棵目标决策树对待预测样本数据进行分别预测。
对于目标决策树的当前节点,第一终端首先需要判断当前节点是基于哪个特征进行分裂的,确定该特征为当前节点的分裂特征,并确定当前节点的分裂特征值;然后判断该分裂特征属于本地特征(即属于第一终端)还是非本地特征(即属于第二终端);接下来包括如下步骤:
S830.若当前节点的分裂特征不属于本地特征时,确定当前节点的分裂特征所属的目标第二终端。
S840.向所述目标第二终端发送判断结果获取请求,以使得所述目标第二终端从所述目标第二终端本地的待预测样本数据中获取所述当前节点的分裂特征对应的待预测特征数据。
在确定了当前节点的分裂特征属于目标第二终端时,第一终端向目标第二终端发送判断结果获取请求,以使得目标第二终端基于待预测特征数据中的特征值以及特征分裂值进行判断,确定待预测样本数据中的分裂特征项所对应的特征值属于哪个子树,从而确定下一访问节点。同样地,目标第二终端本地的待预测样本数据与目标第二终端所提供的用于训练的特征数据类型是一致的。
S850.接收所述目标第二终端基于所述待预测特征数据返回的第一判断结果。
S860.基于所述目标第二终端返回的所述第一判断结果,确定下一待访问节点。
S870.当到达叶子节点时,基于所述叶子节点的信息确定当前目标决策树的预测结果。
S880.基于多棵目标决策树的预测结果生成目标预测结果。
进一步地,若当前节点的分裂特征属于本地特征时,从本地的待预测样本数据中获取所述当前节点的分裂特征对应的待预测特征数据,基于所述待预测特征数据进行特征值分裂判断,得到第二判断结果;基于所述第二判断结果,确定下一待访问节点。
下面以一具体示例来说明本申请的具体实施过程,以面向纵向联邦纵向联邦学习场景的随机森林算法为例,适用于联合建模参与者(如用户集合重合度较高的不同机构)之间拥有相同的样本空间和不同的特征空间。不同于传统的随机森林算法,该算法可以在各方原始数据不出本地的情况下,完成联合建模。
具体地,根据是否拥有数据标签,将联邦学习参与方分为Active Party(有标签)和Passive Party(无标签)。Active Party负责随机挑选参与训练的样本特征和样本集,以及计算分裂增益;Passive Party负责根据本地的特征及特征值进行分裂,并将分裂后的样本id集合发送给Active Party,进而由Active Party计算分裂后的增益,并选择出最佳分裂特征。
当满足分裂停止的条件后(例如到达指定深度,或者当前结点的样本集合纯度到达某个域值),单棵树分裂过程结束。Active Party拥有完整的决策树,并且知道每个分裂节点的域信息(预测用途),但是不知道分裂数值,每个Passive Party仅知道自己域内的分裂节点信息。
请参阅图9,其示出了模型训练过程示意图,主要包括树循环和单节点分裂交互两个过程,具体可包括:
S9010.加密样本求交,确定联合建模参与方的样本交集,以及联合特征。
有标签方和无标签方基于各自拥有的样本数据和特征数据,以及相关加密算法,得到样本交集以及联合特征;本申请实施例中的加密算法包括但不限于同态加密、差分隐私、RSA算法等。
S9020.有标签方随机挑选参与建模的样本集合和特征集合,初始化树结构信息。
S9030.有标签方将随机选择的样本集合、特征集合的相关信息以及初始化的树结构信息发送给无标签方。
S9040.有标签方发送当前节点信息,包括节点标识ID,所含样本集合以及节点当前深度。
S9050.无标签方对参与训练的本地特征进行分裂,得到分裂后的样本标识集合。
S9060.无标签方发送分裂后的样本标识集合。
S9070.有标签方对参与训练的本地特征的特征数据进行分裂增益计算。
S9080.有标签方根据无标签方发送的分裂后的样本标识集合计算分裂增益,并与本地最大分裂增益进行比较,保留最大分裂增益。
S9090.有标签方将最佳分裂特征的相关信息发送给无标签方。
若最佳分裂特征为有标签方本地的特征,则不需要将该最佳分裂特征发送给无标签方。
S9100.无标签方发送当前分裂节点的完整信息,包括特征标识以及分裂值标识。
当满足停止分裂的条件时(树已到达指定深度,或者当前结点的样本集合的纯度到达某个阈值),有标签方发送停止flag给无标签方,代表单棵树训练完毕。
重复上述步骤直至多棵树训练完毕。
请参阅图10,其示出了有标签方侧的单决策树的构造流程,具体包括:
S1010.从队列中取出待分裂节点。
初始化后的树结构中的所有分裂节点被放在一个队列中,该队列使用栈数据结构实现。
S1020.判断当前待分裂节点是否为叶子节点。
S1030.若是,发送停止flag给无标签方。
S1040.若否,将当前节点的节点信息同步给无标签方。
S1050.计算本地特征分裂增益。
S1060.接收无标签方分裂后的样本标识集合,并计算特征分裂增益,与本地特征分裂增益做比较,确定最大特征分裂增益对应的特征为分裂特征。
S1070.将分裂特征发送给对应的无标签方。
S1080.对目标节点进行分裂,并将左右子树放入待分裂队列中。
其中“从队列中取出待分裂节点”以及“将左右子树放入待分裂队列”,指的是同一个队列。
请参阅图11,其示出了在训练过程中无标签方侧的训练方法,包括:
S1110.接收待分裂节点信息。
S1120.判断是否接收到停止flag。
S1130.若是,结束当前训练;若否,根据本地特征值进行特征分裂,将分裂后的样本标识集合发送给有标签方。
S1140.接收属于本域的分裂特征信息,并保存。
以单棵树的预测过程为例,由于有标签方拥有整棵树的结构信息,因此预测过程由有标签方主导。首先从树的根节点开始遍历,当前节点的特征拥有方负责做出判定,并返回结果(左子树或者右子树的节点信息)给有标签方,有标签方根据返回的信息进行下一轮预测,直到到达叶子节点;具体地,使用联合训练生成的随机森林模型进行预测,需要逐棵树进行预测:有标签方从根节点开始,遍历整棵树,根据分裂结点的域信息,通知对应的无标签方完成判定,无标签方将结果返回给有标签方;如果是分类任务,多棵树预测结果进行投票,票数相同取平均;如果是回归任务,多棵树预测结果取平均。
进一步地,本申请实施例提出的基于纵向联邦学习的随机森林算法可应用于金融领域、保险领域、电商领域等,例如电商企业和金融企业合作进行信贷违约风险评估模型训练时,金融企业端具有用户的信贷特征数据以及用户违约记录标签数据,电商企业具有用户的消费特征数据,现以金融企业端的信贷特征数据为第一样本数据,用户违约记录标签数据作为标签数据,用户的消费特征数据作为第二样本数据,在确定第一样本数据和第二样本数据的样本交集以及多维联合特征时,以具有标签数据的金融企业端作为训练执行端进行信贷违约风险评估模型训练,具体训练过程可参阅本申请实施例上述的模型训练方法。
在具体采用信贷违约风险评估模型对相关用户数据进行预测时,同样可由金融企业端为执行端,根据各端获取的待预测数据来进行用户违约预测,具体地,金融企业端获取有待预测的用户信贷特征数据,电商企业端获取有待预测的用户消费特征数据,金融企业端采用决策模型中的每棵决策树对待预测数据分别进行预测得到最终的预测结果,即待预测用户是否存在信贷违约风险。具体的预测过程可参见本申请实施例上述的预测方法。
在金融企业以及电商企业合作完成用户信贷违约评估的应用场景中,由拥有用户违约记录标签数据的金融企业端负责发起决策模型训练任务,标签数据不会出金融企业端本地,避免了标签数据的泄露;另外训练过程中分裂增益的计算均在金融企业端进行,从而避免了引入第三方结点带来的数据安全隐患,保证了金融企业端和电商企业端的数据安全。
本申请不需要引入第三方结点,令有标签的一方负责随机挑选参与训练的样本集合和特征集合,并且负责发起训练与预测任务;本申请可以解决“数据孤岛”的问题,在原始数据不出本地的情况下,联合多方完成随机森林建模的过程,同时保证联邦学习得到的模型准确度与传统随机森林算法(收集原始数据)得到的模型准确率一致;无需拥有标签的数据方发送任何有可能泄漏原始标签的信息,包括加密后的中间结果或者同态加密后的标签原始信息,能够避免敏感信息泄漏的问题,提高了各参与者结点数据的安全性,保护了各参与者结点的数据隐私。
本实施例还提供了一种基于纵向联邦学习的决策模型训练装置,请参阅图12,应用于存储有第一样本数据和标签数据的第一终端,所述第一终端与至少一个第二终端进行数据通信,所述至少一个第二终端存储有第二样本数据,所述决策模型包括多棵目标决策树,所述决策模型训练装置包括:
样本数据处理模块1210,用于获取基于所述第一样本数据和所述第二样本数据得到的样本交集,以及每个样本对应的多维度特征;
训练数据确定模块1220,用于在对每棵待训练决策树进行训练时,从所述样本交集中随机确定参与训练的训练样本集合,以及从所述多维度特征中随机确定参与训练的训练特征集合;
节点访问模块1230,用于获取当前待训练决策树的树结构信息,基于所述树结构信息从所述当前待训练决策树的根节点依次进行特征分裂;
第一分裂增益集合生成模块1240,用于在每个待分裂的节点处,确定所述节点的节点信息,基于所述节点的节点信息、所述第一样本数据中的特征数据以及所述标签数据生成第一分裂增益集合;
分裂样本集合生成模块1250,用于将所述节点的节点信息发送给所述至少一个第二终端,接收所述至少一个第二终端基于所述节点的节点信息以及所述第二样本数据中的特征数据进行特征分裂之后生成的分裂样本集合;
第二分裂增益集合生成模块1260,用于基于所述分裂样本集合以及所述标签数据,生成第二分裂增益集合;
节点分裂特征确定模块1270,用于基于所述第一分裂增益集合和所述第二分裂增益集合,确定所述节点的分裂特征;
决策模型生成模块1280,用于确定训练完成时的所述待训练决策树为所述目标决策树,基于训练完成的多棵所述目标决策树生成所述决策模型。
所述第一样本数据包括第一样本标识集合以及第一特征集合;所述第二样本数据包括第二样本标识集合以及第二特征集合;相应地,所述样本数据处理模块1210包括:
第一加密模块,用于对所述第一样本标识集合进行加密,得到第一加密信息;
第二加密信息接收模块,用于接收所述至少一个第二终端发送的第二加密信息,所述第二加密信息是所述至少一个第二终端对所述第二样本数据进行加密得到的;
样本交集生成模块,用于基于所述第一加密信息和所述第二加密信息,得到所述样本交集;
特征联合模块,用于接收所述至少一个第二终端发送的所述第二特征集合,对所述第一特征集合与所述第二特征集合进行联合得到多维度特征;
其中,所述样本标识集合中的每项样本标识均对应所述多维度特征。
进一步地,所述训练数据确定模块1220包括:
第一随机选择模块,用于从所述样本交集中随机选择参与训练的样本标识,基于选择的样本标识生成所述训练样本集合;
第二随机选择模块,用于从所述多维度特征中随机选择参与训练的特征项,基于选择的特征项生成所述训练特征集合;
其中,所述训练样本集合中的样本标识的数量小于所述样本交集中样本标识的数量,所述训练特征集合中的特征项的数量小于所述多维度特征的总维数。
进一步地,所述节点的节点信息包括所述节点包含的样本集合,所述节点包含的样本集合是所述训练样本集合的子集;相应地,所述第一分裂增益集合生成模块1240包括:
本地特征项确定模块,用于对于所述节点包含的样本集合中的各项样本标识,从所述第一样本数据确定所述各项样本标识对应的特征项;
本地分裂样本集合生成模块,用于获取各项样本标识对应的同一特征项的特征数据,基于所述同一特征项的特征数据进行特征分裂,得到分裂样本集合;其中,对于同一特征项进行至少一次特征分裂,每次特征分裂生成至少两个分裂样本集合;
第一分裂增益计算模块,用于分别基于每次特征分裂得到的所述至少两个分裂样本集合,以及与所述各项样本标识对应的标签数据,计算第一分裂增益;
第一分裂增益集合构建模块,用于基于所述各项样本标识对应的第一分裂增益,构建所述第一分裂增益集合。
进一步地,本地分裂样本集合生成模块包括:
待分裂特征值确定模块,用于基于所述同一特征项的特征数据确定至少一个待分裂特征值;
特征数据集合划分模块,用于基于每一个待分裂特征值对所述同一特征项进行特征分裂,根据特征分裂的结果将所述同一特征项的特征数据划分为至少两个特征数据集合;
分裂样本集合确定模块,用于分别确定所述至少两个特征数据集合中每个元素对应的分裂样本标识,基于所述分裂样本标识生成与所述待分裂特征值对应的所述分裂样本集合。
进一步地,所述节点的分裂特征包括所述分裂特征所属终端、所述分裂特征的标识以及所述分裂特征的分裂值标识;相应地,所述节点分裂特征确定模块1270包括:
增益比较模块,用于比较所述第一分裂增益集合和所述第二分裂增益集合中各分裂增益值的大小,确定最大分裂增益值所对应的分裂特征为目标分裂特征;
特征信息确定模块,用于当所述目标分裂特征属于第二终端时,确定所述目标分裂特征所属的目标第二终端、所述目标分裂特征在所述目标第二终端中的特征标识,以及所述最大分裂增益值对应的分裂值标识;
第三确定模块,用于确定所述目标分裂特征所属的目标第二终端、所述目标分裂特征在所述目标第二终端中的特征标识,以及所述最大分裂增益值对应的分裂值标识为所述节点的分裂特征。
请参阅图13,其示出了一种基于上述决策模型的预测装置,应用于所述第一终端,所述装置包括:
待预测样本数据获取模块1310,用于获取待预测样本数据;
执行模块1320,用于依次采用所述决策模型中的每棵目标决策树进行预测,采用单棵目标决策树进行预测时,从当前目标决策树的根节点开始访问,重复执行以下步骤,直至到达叶子节点:
第一确定模块1330,用于若当前节点的分裂特征不属于本地特征时,确定当前节点的分裂特征所属的目标第二终端;
判断结果获取请求发送模块1340,用于向所述目标第二终端发送判断结果获取请求,以使得所述目标第二终端从所述目标第二终端本地的待预测样本数据中获取所述当前节点的分裂特征对应的待预测特征数据;
第一判断结果接收模块1350,用于接收所述目标第二终端基于所述待预测特征数据返回的第一判断结果;
第二确定模块1360,用于基于所述目标第二终端返回的所述第一判断结果,确定下一待访问节点;
预测结果确定模块1370,用于当到达叶子节点时,基于所述叶子节点的信息确定当前目标决策树的预测结果;
目标预测结果确定模块1380,用于基于多棵目标决策树的预测结果生成目标预测结果。
所述预测装置还包括:
第二判断结果生成模块,用于若当前节点的分裂特征属于本地特征时,从本地的待预测样本数据中获取所述当前节点的分裂特征对应的待预测特征数据,基于所述待预测特征数据进行特征值分裂判断,得到第二判断结果;
第四确定模块,用于基于所述第二判断结果,确定下一待访问节点。
上述实施例中提供的装置可执行本申请任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的方法。
本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如本实施例上述任一方法。
本实施例还提供了一种终端,其结构图请参见图14,该终端1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1422(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储媒体1430(例如一个或一个以上海量存储终端)。其中,存储器1432和存储媒体1430可以是短暂存储或持久存储。存储在存储媒体1430的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对终端中的一系列指令操作。更进一步地,中央处理器1422可以设置为与存储媒体1430通信,在终端1400上执行存储媒体1430中的一系列指令操作。终端1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。本实施例上述的任一方法均可基于图14所示的终端进行实施。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本申请的范围。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种基于纵向联邦学习的决策模型训练方法,其特征在于,应用于存储有第一样本数据和标签数据的第一终端,所述第一终端与至少一个第二终端进行数据通信,所述至少一个第二终端存储有第二样本数据,所述决策模型包括多棵目标决策树,所述决策模型训练方法包括:
获取基于所述第一样本数据和所述第二样本数据得到的样本交集,以及每个样本对应的多维度特征;
在对每棵待训练决策树进行训练时,从所述样本交集中随机确定参与训练的训练样本集合,以及从所述多维度特征中随机确定参与训练的训练特征集合;
获取当前待训练决策树的树结构信息,基于所述树结构信息从所述当前待训练决策树的根节点依次进行特征分裂;
在每个待分裂的节点处,确定所述节点的节点信息,基于所述节点的节点信息、所述第一样本数据中的特征数据以及所述标签数据生成第一分裂增益集合;
将所述节点的节点信息发送给所述至少一个第二终端,接收所述至少一个第二终端基于所述节点的节点信息以及所述第二样本数据中的特征数据进行特征分裂之后生成的分裂样本集合;
基于所述分裂样本集合以及所述标签数据,生成第二分裂增益集合;
基于所述第一分裂增益集合和所述第二分裂增益集合,确定所述节点的分裂特征;
确定训练完成时的所述待训练决策树为所述目标决策树,基于训练完成的多棵所述目标决策树生成所述决策模型。
2.根据权利要求1所述的基于纵向联邦学习的决策模型训练方法,其特征在于,所述第一样本数据包括第一样本标识集合以及第一特征集合;所述第二样本数据包括第二样本标识集合以及第二特征集合;
所述获取基于所述第一样本数据和所述第二样本数据得到的样本交集,以及每个样本对应的多维度特征包括:
对所述第一样本标识集合进行加密,得到第一加密信息;
接收所述至少一个第二终端发送的第二加密信息,所述第二加密信息是所述至少一个第二终端对所述第二样本数据进行加密得到的;
基于所述第一加密信息和所述第二加密信息,得到所述样本交集;
接收所述至少一个第二终端发送的所述第二特征集合,对所述第一特征集合与所述第二特征集合进行联合得到多维度特征;
其中,所述样本标识集合中的每项样本标识均对应所述多维度特征。
3.根据权利要求2所述的基于纵向联邦学习的决策模型训练方法,其特征在于,所述从所述样本交集中随机确定参与训练的训练样本集合,以及从所述多维度特征中随机确定参与训练的训练特征集合包括:
从所述样本交集中随机选择参与训练的样本标识,基于选择的样本标识生成所述训练样本集合;
从所述多维度特征中随机选择参与训练的特征项,基于选择的特征项生成所述训练特征集合;
其中,所述训练样本集合中的样本标识的数量小于所述样本交集中样本标识的数量,所述训练特征集合中的特征项的数量小于所述多维度特征的总维数。
4.根据权利要求1所述的基于纵向联邦学习的决策模型训练方法,其特征在于,所述节点的节点信息包括所述节点包含的样本集合,所述节点包含的样本集合是所述训练样本集合的子集;
所述在每个待分裂的节点处,确定所述节点的节点信息,基于所述节点的节点信息、所述第一样本数据中的特征数据以及所述标签数据生成第一分裂增益集合包括:
对于所述节点包含的样本集合中的各项样本标识,从所述第一样本数据确定所述各项样本标识对应的特征项;
获取各项样本标识对应的同一特征项的特征数据,基于所述同一特征项的特征数据进行特征分裂,得到分裂样本集合;其中,对于同一特征项进行至少一次特征分裂,每次特征分裂生成至少两个分裂样本集合;
分别基于每次特征分裂得到的所述至少两个分裂样本集合,以及与所述各项样本标识对应的标签数据,计算第一分裂增益;
基于所述各项样本标识对应的第一分裂增益,构建所述第一分裂增益集合。
5.根据权利要求4所述的基于纵向联邦学习的决策模型训练方法,其特征在于,所述获取各项样本标识对应的同一特征项的特征数据,基于所述同一特征项的特征数据进行特征分裂,得到分裂样本集合包括:
基于所述同一特征项的特征数据确定至少一个待分裂特征值;
基于每一个待分裂特征值对所述同一特征项进行特征分裂,根据特征分裂的结果将所述同一特征项的特征数据划分为至少两个特征数据集合;
分别确定所述至少两个特征数据集合中每个元素对应的分裂样本标识,基于所述分裂样本标识生成与所述待分裂特征值对应的所述分裂样本集合。
6.根据权利要求1所述的基于纵向联邦学习的决策模型训练方法,其特征在于,所述节点的分裂特征包括所述分裂特征所属终端、所述分裂特征的标识以及所述分裂特征的分裂值标识;
所述基于所述第一分裂增益集合和所述第二分裂增益集合,确定所述节点的分裂特征包括:
比较所述第一分裂增益集合和所述第二分裂增益集合中各分裂增益值的大小,确定最大分裂增益值所对应的分裂特征为目标分裂特征;
当所述目标分裂特征属于第二终端时,确定所述目标分裂特征所属的目标第二终端、所述目标分裂特征在所述目标第二终端中的特征标识,以及所述最大分裂增益值对应的分裂值标识;
确定所述目标分裂特征所属的目标第二终端、所述目标分裂特征在所述目标第二终端中的特征标识,以及所述最大分裂增益值对应的分裂值标识为所述节点的分裂特征。
7.一种基于权利要求1-6任一项所述的决策模型的预测方法,其特征在于,应用于所述第一终端,所述方法包括:
依次采用所述决策模型中的每棵目标决策树进行预测,采用单棵目标决策树进行预测时,从当前目标决策树的根节点开始访问,重复执行以下步骤,直至到达叶子节点:
若当前节点的分裂特征不属于本地特征时,确定当前节点的分裂特征所属的目标第二终端;
向所述目标第二终端发送判断结果获取请求,以使得所述目标第二终端从所述目标第二终端本地的待预测样本数据中获取所述当前节点的分裂特征对应的待预测特征数据;
接收所述目标第二终端基于所述待预测特征数据返回的第一判断结果;
基于所述目标第二终端返回的所述第一判断结果,确定下一待访问节点;
当到达叶子节点时,基于所述叶子节点的信息确定当前目标决策树的预测结果;
基于多棵目标决策树的预测结果生成目标预测结果。
8.根据权利要求7所述的预测方法,其特征在于,所述方法还包括:
若当前节点的分裂特征属于本地特征时,从本地的待预测样本数据中获取所述当前节点的分裂特征对应的待预测特征数据,基于所述待预测特征数据进行特征值分裂判断,得到第二判断结果;
基于所述第二判断结果,确定下一待访问节点。
9.一种基于纵向联邦学习的决策模型训练装置,其特征在于,应用于存储有第一样本数据和标签数据的第一终端,所述第一终端与至少一个第二终端进行数据通信,所述至少一个第二终端存储有第二样本数据,所述决策模型包括多棵目标决策树,所述决策模型训练装置包括:
样本数据处理模块,用于获取基于所述第一样本数据和所述第二样本数据得到的样本交集,以及每个样本对应的多维度特征;
训练数据确定模块,用于在对每棵待训练决策树进行训练时,从所述样本交集中随机确定参与训练的训练样本集合,以及从所述多维度特征中随机确定参与训练的训练特征集合;
节点访问模块,用于获取当前待训练决策树的树结构信息,基于所述树结构信息从所述当前待训练决策树的根节点依次进行特征分裂;
第一分裂增益集合生成模块,用于在每个待分裂的节点处,确定所述节点的节点信息,基于所述节点的节点信息、所述第一样本数据中的特征数据以及所述标签数据生成第一分裂增益集合;
分裂样本集合生成模块,用于将所述节点的节点信息发送给所述至少一个第二终端,接收所述至少一个第二终端基于所述节点的节点信息以及所述第二样本数据中的特征数据进行特征分裂之后生成的分裂样本集合;
第二分裂增益集合生成模块,用于基于所述分裂样本集合以及所述标签数据,生成第二分裂增益集合;
节点分裂特征确定模块,用于基于所述第一分裂增益集合和所述第二分裂增益集合,确定所述节点的分裂特征;
决策模型生成模块,用于确定训练完成时的所述待训练决策树为所述目标决策树,基于训练完成的多棵所述目标决策树生成所述决策模型。
10.一种基于权利要求9所述的决策模型的预测装置,其特征在于,应用于所述第一终端,所述装置包括:
执行模块,用于依次采用所述决策模型中的每棵目标决策树进行预测,采用单棵目标决策树进行预测时,从当前目标决策树的根节点开始访问,重复执行以下步骤,直至到达叶子节点:
第一确定模块,用于若当前节点的分裂特征不属于本地特征时,确定当前节点的分裂特征所属的目标第二终端;
判断结果获取请求发送模块,用于向所述目标第二终端发送判断结果获取请求,以使得所述目标第二终端从所述目标第二终端本地的待预测样本数据中获取所述当前节点的分裂特征对应的待预测特征数据;
第一判断结果接收模块,用于接收所述目标第二终端基于所述待预测特征数据返回的第一判断结果;
第二确定模块,用于基于所述目标第二终端返回的所述第一判断结果,确定下一待访问节点;
预测结果确定模块,用于当到达叶子节点时,基于所述叶子节点的信息确定当前目标决策树的预测结果;
目标预测结果确定模块,用于基于多棵目标决策树的预测结果生成目标预测结果。
CN202010504598.3A 2020-06-05 2020-06-05 基于纵向联邦学习的决策模型训练方法、预测方法及装置 Active CN111598186B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010504598.3A CN111598186B (zh) 2020-06-05 2020-06-05 基于纵向联邦学习的决策模型训练方法、预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010504598.3A CN111598186B (zh) 2020-06-05 2020-06-05 基于纵向联邦学习的决策模型训练方法、预测方法及装置

Publications (2)

Publication Number Publication Date
CN111598186A CN111598186A (zh) 2020-08-28
CN111598186B true CN111598186B (zh) 2021-07-16

Family

ID=72184620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010504598.3A Active CN111598186B (zh) 2020-06-05 2020-06-05 基于纵向联邦学习的决策模型训练方法、预测方法及装置

Country Status (1)

Country Link
CN (1) CN111598186B (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111784001B (zh) * 2020-09-07 2020-12-25 腾讯科技(深圳)有限公司 一种模型训练方法、设备及计算机可读存储介质
CN112132292B (zh) * 2020-09-16 2024-05-14 建信金融科技有限责任公司 基于区块链的纵向联邦学习数据处理方法、装置及系统
CN112084519B (zh) * 2020-09-18 2022-04-12 支付宝(杭州)信息技术有限公司 基于访问模式保护的gbdt模型训练方法及装置
CN112231768B (zh) * 2020-10-27 2021-06-18 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机设备及存储介质
CN112348583B (zh) * 2020-11-04 2022-12-06 贝壳技术有限公司 用户偏好生成方法与生成系统
WO2022094888A1 (zh) * 2020-11-05 2022-05-12 浙江大学 一种面向决策树的纵向联邦学习方法
CN112364908B (zh) * 2020-11-05 2022-11-11 浙江大学 一种面向决策树的纵向联邦学习方法
CN112700014B (zh) * 2020-11-18 2023-09-29 脸萌有限公司 部署联邦学习应用的方法、装置、系统和电子设备
CN112418439B (zh) * 2020-11-25 2023-09-26 脸萌有限公司 模型使用方法、装置、存储介质及设备
CN112396189B (zh) * 2020-11-27 2023-09-01 中国银联股份有限公司 一种多方构建联邦学习模型的方法及装置
CN112597379B (zh) * 2020-12-04 2023-09-01 光大科技有限公司 数据识别方法、装置和存储介质及电子装置
CN112699402B (zh) * 2020-12-28 2022-06-17 广西师范大学 基于联邦个性化随机森林的可穿戴设备活动预测方法
CN112686390B (zh) * 2020-12-28 2023-11-17 科大讯飞股份有限公司 联合建模方法、系统、装置及具有存储功能的装置
CN113806759A (zh) * 2020-12-28 2021-12-17 京东科技控股股份有限公司 联邦学习模型的训练方法、装置、电子设备和存储介质
CN112699947A (zh) * 2020-12-30 2021-04-23 深圳前海微众银行股份有限公司 基于决策树的预测方法、装置、设备、介质及程序产品
CN113822311B (zh) * 2020-12-31 2023-09-01 京东科技控股股份有限公司 一种联邦学习模型的训练方法、装置及电子设备
CN113807544B (zh) * 2020-12-31 2023-09-26 京东科技控股股份有限公司 一种联邦学习模型的训练方法、装置及电子设备
CN113807380B (zh) * 2020-12-31 2023-09-01 京东科技信息技术有限公司 一种联邦学习模型的训练方法、装置及电子设备
CN112749749B (zh) * 2021-01-14 2024-04-16 深圳前海微众银行股份有限公司 基于分类决策树模型的分类方法、装置及电子设备
CN112966741B (zh) * 2021-03-05 2022-08-02 北京理工大学 一种可防御拜占庭攻击的联邦学习图像分类方法
CN113807534B (zh) * 2021-03-08 2023-09-01 京东科技控股股份有限公司 联邦学习模型的模型参数训练方法、装置和电子设备
CN115242756A (zh) * 2021-04-01 2022-10-25 中国移动通信有限公司研究院 一种联邦学习业务的处理方法、装置、设备以及系统
CN112801231B (zh) * 2021-04-07 2021-07-06 支付宝(杭州)信息技术有限公司 用于业务对象分类的决策模型训练方法和装置
CN113159152B (zh) * 2021-04-13 2023-04-07 上海嗨普智能信息科技股份有限公司 基于树形结构的多标签预测方法、控制器和介质
CN112990484B (zh) * 2021-04-21 2021-07-20 腾讯科技(深圳)有限公司 基于非对称联邦学习的模型联合训练方法、装置及设备
CN113190871B (zh) * 2021-05-28 2023-10-31 脸萌有限公司 数据保护方法、装置、可读介质及电子设备
CN113762328B (zh) * 2021-06-16 2023-09-26 京东科技控股股份有限公司 基于联邦学习的模型训练方法、装置、设备以及存储介质
CN113435516B (zh) * 2021-06-29 2024-02-06 京东科技控股股份有限公司 数据分类方法和装置
CN113486398B (zh) * 2021-07-13 2024-03-29 华控清交信息科技(北京)有限公司 一种信息比对方法、装置及电子设备
CN113435537B (zh) * 2021-07-16 2022-08-26 同盾控股有限公司 基于Soft GBDT的跨特征联邦学习方法、预测方法
CN113393175A (zh) * 2021-08-16 2021-09-14 杭州天谷信息科技有限公司 一种电子合同的风险预测方法以及系统
CN113723477B (zh) * 2021-08-16 2024-04-30 同盾科技有限公司 一种基于孤立森林的跨特征联邦异常数据检测方法
CN113688999B (zh) * 2021-08-23 2022-05-17 神州融安数字科技(北京)有限公司 一种横向联邦xgboost决策树的训练方法
CN113609508B (zh) * 2021-08-24 2023-09-26 上海点融信息科技有限责任公司 一种基于区块链的联邦学习方法、装置、设备及存储介质
CN113506163B (zh) * 2021-09-07 2021-11-23 百融云创科技股份有限公司 一种基于纵向联邦的孤立森林训练和预测方法及系统
CN113705727B (zh) * 2021-09-16 2023-05-12 四川新网银行股份有限公司 基于差分隐私的决策树建模方法、预测方法、设备及介质
CN114139724A (zh) * 2021-11-30 2022-03-04 支付宝(杭州)信息技术有限公司 增益模型的训练方法及装置
CN114330758B (zh) * 2021-12-30 2023-07-18 北京瑞莱智慧科技有限公司 基于联邦学习的数据处理方法、装置及存储介质
CN114417388B (zh) * 2022-01-25 2022-08-26 云南电网有限责任公司信息中心 基于纵向联邦学习的电力负荷预测方法、系统、设备及介质
CN114386533B (zh) * 2022-01-28 2022-09-16 华控清交信息科技(北京)有限公司 一种gbdt模型的横向训练方法、装置、电子设备及系统
CN114118641B (zh) * 2022-01-29 2022-04-19 华控清交信息科技(北京)有限公司 风电场功率预测方法、gbdt模型纵向训练方法及装置
CN114169537B (zh) * 2022-02-11 2022-05-06 神州融安科技(北京)有限公司 一种纵向xgboost决策树的联邦学习方法和系统
CN116151388A (zh) * 2022-12-01 2023-05-23 广州大学 一种基于本地化差分隐私的联邦随机森林方法
CN116822660A (zh) * 2023-03-21 2023-09-29 北京火山引擎科技有限公司 纵向联邦学习方法、装置、电子设备及可读存储介质
CN116502255B (zh) * 2023-06-30 2023-09-19 杭州金智塔科技有限公司 基于秘密分享的特征提取方法以及装置
CN117853212A (zh) * 2024-03-06 2024-04-09 之江实验室 一种基于知识迁移和自监督学习的纵向联邦金融风控方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109002861B (zh) * 2018-08-10 2021-11-09 深圳前海微众银行股份有限公司 联邦建模方法、设备及存储介质
CN109165683B (zh) * 2018-08-10 2023-09-12 深圳前海微众银行股份有限公司 基于联邦训练的样本预测方法、装置及存储介质
CN109299728B (zh) * 2018-08-10 2023-06-27 深圳前海微众银行股份有限公司 基于构建梯度树模型的样本联合预测方法、系统及介质
AU2018233042A1 (en) * 2018-09-21 2020-04-09 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a tree of blocks of video samples
CN110162970A (zh) * 2019-01-08 2019-08-23 腾讯科技(深圳)有限公司 一种程序处理方法、装置以及相关设备
CN110033276A (zh) * 2019-03-08 2019-07-19 阿里巴巴集团控股有限公司 一种针对转账的安全策略生成方法、装置及设备
CN110210868B (zh) * 2019-05-20 2022-12-30 腾讯科技(深圳)有限公司 数值转移数据的处理方法及电子设备
CN110309587B (zh) * 2019-06-28 2024-01-16 京东城市(北京)数字科技有限公司 决策模型构建方法、决策方法与决策模型
CN110378749B (zh) * 2019-07-25 2023-09-26 深圳前海微众银行股份有限公司 客户端相似性的评估方法、装置、终端设备及存储介质
CN110728317A (zh) * 2019-09-30 2020-01-24 腾讯科技(深圳)有限公司 决策树模型的训练方法、系统、存储介质及预测方法
CN110728375B (zh) * 2019-10-16 2021-03-19 支付宝(杭州)信息技术有限公司 多个计算单元联合训练逻辑回归模型的方法和装置
CN111178408B (zh) * 2019-12-19 2023-06-20 中国科学院计算技术研究所 基于联邦随机森林学习的健康监护模型构建方法、系统

Also Published As

Publication number Publication date
CN111598186A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN111598186B (zh) 基于纵向联邦学习的决策模型训练方法、预测方法及装置
CN110084377B (zh) 用于构建决策树的方法和装置
TWI798550B (zh) 多方聯合進行風險識別的方法和裝置
Sun et al. Consumer-centered cloud services selection using AHP
CN109729168A (zh) 一种基于区块链的数据共享交换系统及方法
CN110990871A (zh) 基于人工智能的机器学习模型训练方法、预测方法及装置
CN110287268A (zh) 一种基于区块链的数字资产处理方法和系统
CN113505882B (zh) 基于联邦神经网络模型的数据处理方法、相关设备及介质
CN111753006B (zh) 一种基于联邦学习的预测系统及方法
Zhang et al. FedSky: An efficient and privacy-preserving scheme for federated mobile crowdsensing
CN112288101A (zh) 基于联邦学习的gbdt与lr融合方法、装置、设备和存储介质
CN115049398A (zh) 一种完备的数据资产可信管理和价值流转系统和方法
CN115563859A (zh) 一种基于分层联邦学习的电力负荷预测方法、装置及介质
CN115276969A (zh) 无线信道密钥生成方法、装置、计算机设备和存储介质
CN112862057A (zh) 一种建模方法、装置、电子设备和可读介质
Soleymani et al. Fuzzy rule-based trust management model for the security of cloud computing
Song et al. Smart contract-based computing resources trading in edge computing
Sultanov et al. Development of a centralized system for data storage and processing on operation modes and reliability indicators of power equipment
CN116861991A (zh) 一种基于随机抽样和多层拆分的联邦决策树训练方法
CN114422147B (zh) 基于区块链的多方安全计算方法
Wang et al. Blockchain-Enabled Lightweight Fine-Grained Searchable Knowledge Sharing for Intelligent IoT
CN115292689A (zh) 一种银行智能挂锁的内网传输验证管理方法及系统
CN114723068A (zh) 联邦模型训练方法及装置
CN114547684A (zh) 一种保护隐私数据的多方联合训练树模型的方法及装置
Nguyen et al. BDSP: A Fair Blockchain-enabled Framework for Privacy-Enhanced Enterprise Data Sharing

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