CN111784078B - 一种针对决策树的分布式预测方法和系统 - Google Patents
一种针对决策树的分布式预测方法和系统 Download PDFInfo
- Publication number
- CN111784078B CN111784078B CN202010723469.3A CN202010723469A CN111784078B CN 111784078 B CN111784078 B CN 111784078B CN 202010723469 A CN202010723469 A CN 202010723469A CN 111784078 B CN111784078 B CN 111784078B
- Authority
- CN
- China
- Prior art keywords
- prediction
- participants
- party
- fragments
- node
- 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
- 238000003066 decision tree Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000013598 vector Substances 0.000 claims abstract description 161
- 239000012634 fragment Substances 0.000 claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 238000012886 linear function Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Game Theory and Decision Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例公开了一种针对决策树的分布式预测方法和系统,可保护各方数据隐私。各方预测模型具有相同结构。任一参与方根据预测对象在己方预测模型上的预测路径,获得己方的标志向量,该标志向量指示预测对象沿该预测路径抵达的叶节点。当预测至本地分裂节点时,基于与该本地分裂节点关联的特征值继续预测;当预测至非本地分裂节点时,继续预测至该非本地分裂节点下的所有子节点。该参与方将己方的标志向量拆分成N个分片,将该N个分片分配给N个参与方,并根据多方安全计算协议与其他N‑1个参与方交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片,等效标志向量为N个参与方的标志向量按位相乘的结果。
Description
技术领域
本说明书涉及机器学习领域,特别涉及一种针对决策树的分布式预测方法和系统。
背景技术
为了保护各方数据隐私,在机器学习领域会采用分布式预测方案。即,参与分布式预测的任一方可获得属于自己的预测模型,联合各方的预测模型可获得预测对象的预测结果。
目前,希望提供一种针对决策树的分布式预测方案。
发明内容
本说明书实施例之一提供一种针对决策树的分布式预测方法,其中,N个参与方的预测模型具有相同的结构,N不小于2;所述方法由任一参与方的设备执行,其包括:根据预测对象在所述任一参与方的预测模型上的预测路径,获得所述任一参与方的标志向量,该标志向量指示所述预测对象沿该预测路径抵达的叶节点;其中,所述预测路径按照以下方式从根节点延伸,直到抵达所述叶节点:当延伸至所述任一参与方的预测模型的本地分裂节点时,基于所述任一参与方持有的所述预测对象与该本地分裂节点关联的特征值继续延伸至该本地分裂节点下的其中一个子节点;当延伸至所述任一参与方的预测模型的非本地分裂节点时,继续延伸至该非本地分裂节点下的所有子节点;将所述任一参与方的标志向量拆分成N个分片,并将所述N个分片分配给所述N个参与方的设备;对于其他N-1个参与方中的任一个,获得分配到的该参与方的标志向量的分片;根据多方安全计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片,所述等效标志向量为N个参与方的标志向量按位相乘的结果。
本说明书实施例之一提供一种针对决策树的分布式预测系统,其中,N个参与方的预测模型具有相同的结构,N不小于2;所述系统在任一参与方的设备上实现,其包括:标志向量获得模块,用于根据预测对象在所述任一参与方的预测模型上的预测路径,获得所述任一参与方的标志向量,该标志向量指示所述预测对象沿该预测路径抵达的叶节点;其中,所述预测路径按照以下方式从根节点延伸,直到抵达所述叶节点:当延伸至所述任一参与方的预测模型的本地分裂节点时,基于所述任一参与方持有的所述预测对象与该本地分裂节点关联的特征值继续延伸至该本地分裂节点下的其中一个子节点;当延伸至所述任一参与方的预测模型的非本地分裂节点时,继续延伸至该非本地分裂节点下的所有子节点;秘密分享模块,用于:将所述任一参与方的标志向量拆分成N个分片,并将所述N个分片分配给所述N个参与方的设备;对于其他N-1个参与方中的任一个,获得分配到的该参与方的标志向量的分片;多方安全计算模块,用于根据多方安全计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片,所述等效标志向量为N个参与方的标志向量按位相乘的结果。
本说明书实施例之一提供一种针对决策树的分布式预测装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的针对决策树的分布式预测方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的针对决策树的各参与方的预测模型以及等效模型的示意图;
图2是根据本说明书一些实施例所示的协同计算系统的应用场景示意图;
图3是根据本说明书一些实施例所示的针对决策树模型的分布式预测方法示例性流程图;
图4是根据本说明书一些实施例所示的针对决策树的分布式预测系统的模块图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
分布式预测方案中,各参与方的预测模型对应一个等效模型,该等效模型可通过利用各参与方的样本数据进行集中式训练得到。出于保护各方数据隐私的考虑,可以通过两种训练思路获得各参与方的预测模型。一种思路是:将各方的样本数据加密上传至TEE(Trusted Execution Environment,可信执行环境)设备;在TEE中解密出各方的样本数据并训练出完整的预测模型(相当于前述等效模型);将完整的预测模型拆分成多份分配给各参与方,从而任一参与方可获得属于自己的预测模型。其中,对模型的拆分可以指对模型的结构和/或参数的拆分。还有一种思路是:各参与方分别将自身持有的样本数据进行秘密分享,即任一参与方可将自身持有的样本数据拆分成多个分片,将这些分片分配给各参与方,具体可保留一个分片并将剩余分片分发给其他参与方;各参与方基于样本数据的分片进行多方安全计算,从而任一参与方可获得属于自己的预测模型。
下面介绍决策树的相关知识。
决策树的节点可分为分裂节点和叶子节点(叶节点),分裂节点具有子节点(如左右子树),每个分裂节点可对应一个特征,可称之为该分裂节点的关联特征。分裂节点的参数(可称为分裂参数)可包括用于判断样本/预测对象属于哪个子节点的阈值,该阈值与该分裂节点的关联特征相关,例如,可以将该分裂节点的关联特征的某个特征值作为该阈值。
基于决策树的模型(即树模型)可包括一个或多个决策树,其中,包括多个(两个或以上)决策树的树模型包括XGB(eXtreme Gradient Boosting,极限梯度提升)框架下的树模型。
对于简单的分类问题,每个叶节点对应一个类别,预测对象的分类结果可以是基于该预测对象的特征数据沿预测模型上的预测路径抵达的叶节点对应的类别。
对于回归问题,每个叶节点可对应一个分值(可称为叶节点分值/叶节点权值),单个决策树的所有叶节点的权值构成该决策树的叶节点权值向量,预测对象沿决策树上的预测路径抵达的叶节点的权值等于该决策树的叶节点权值向量和该预测对象的叶节点标志向量的内积。其中,该预测对象的叶节点标志向量指示该预测对象沿决策树上的预测路径抵达的叶节点(以下称为预测叶节点)的权值,可以理解,单个决策树对应的叶节点标志向量的位数(维度)与该决策树的叶节点数量一致,通常可将预测叶节点对应的叶节点标志向量位置1并将其余叶节点标志向量位置0。此外,一个树模型可对应一个基础分值。那么,预测对象(如样本)的预测分值可按计算,其中,pred表示预测对象的预测分值,f0表示预测模型的基础分值, T(≥1)表示预测模型包含的决策树的数量,Wt表示单个决策树的叶节点权值向量,St表示单个决策树对应的(预测对象的)叶节点标志向量。
在一些实施例中,预测对象的预测分值即可作为该预测对象的预测值。在又一些实施例中,可以利用非线性函数来处理该预测对象的预测分值,该非线性函数的输出为该预测对象的预测值,该预测值指示预测对象的类别。当预测对象为样本时,样本的预测值和标签值之差可作为样本误差。即,对于复杂的分类问题,可以在回归决策树模型的基础上,基于模型输出的预测对象的预测分值预测该预测对象的类别。
针对决策树,各参与方的预测模型可与等效模型具有相同的结构,如节点数量、节点间的连接关系、节点位置等,区别在于:每个参与方的预测模型只具有部分分裂节点的参数,即,每个参与方的预测模型可具有参数的本地分裂节点和不具有参数的非本地分裂节点;每个参与方的预测模型中的叶节点的权值相当于等效模型中相应叶节点的权值的分片,每个参与方的预测模型的基础分值相当于等效模型的基础分值的分片。其中,从向量的角度看,每个参与方的预测模型的叶节点权值向量相当于等效模型的叶节点权值向量的分片。
参考图1,图中用圆形表示分裂节点,用矩形表示叶节点。参与方A持有特征X1,参与方B持有特征X2,相应地,参与方A的预测模型具有与特征X1对应的本地分裂节点以及参数p1,参与方B的预测模型具有与特征X2对应的本地分裂节点以及参数p2。如图1所示,参与方A的本地分裂节点可记为(X1,p1),参与方B的本地分裂节点可记为(X2,p2),叶节点可记为leaf且同一位置的叶节点具有相同的数字编号。以二叉树为例,非叶节点的参数可以包括与该节点对应的特征关联的阈值,例如,对应于年龄这一特征的节点的参数可以包括用于区分年龄段的阈值。
如图1所示:对于参与方A,leaf1的权值为w11,leaf2的权值为w21,leaf3的权值为w31,预测模型的基础分值为< f0>1;对于参与方B,leaf1的权值为w12,leaf2的权值为w22,leaf3的权值为,预测模型的基础分值为< f0>2;对于等效模型,leaf1的权值为w1,leaf2的权值为w2,leaf3的权值为w3,基础分值为f0。在一些实施例中,可满足w11+ w12= w1、w21+w22= w2、w31+ w32= w3以及< f0>1+< f0>2= f0。从叶节点权值向量的角度看,满足(w11, w21,w31)+ (w12, w22, )= (w1, w2, w3)。
假设预测对象的叶节点标志向量为(s1,s2,s3),那么预测对象的预测分值,其中即叶节点权值向量(w1, w2, w3)和标志向量(s1,s2,s3)的内积。假设leaf2是预测叶节点,则叶节点标志向量为(0,1,0),预测对象的预测分值等于。
加入系统100的任意两个或以上参与方可构成分布式预测的所有参与方。分布式预测过程中,不同参与方执行的步骤可以是对等的,因此系统100中的设备可以安装同一份用于实现分布式预测的协议,加入系统100的任意两个或以上参与方可通过运行相同的协议来实现分布式预测。具体地,可以参考图3及其相关描述。
参与方的设备可以包括各类具有信息收发功能的计算设备,如智能电话、膝上型计算机、台式计算机、服务器等。
在一些实施例中,服务器可以是独立的服务器或者服务器组,该服务器组可以是集中式的或者分布式的。在一些实施例中,服务器可以是区域的或者远程的。在一些实施例中,服务器可在云平台上执行。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。
网络120连接系统的各组成部分,使得各部分之间可以进行通讯。在系统中各部分之间的网络可以包括有线网络和/或无线网络。例如,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。
图3是根据本说明书一些实施例所示的针对决策树模型的分布式预测方法示例性流程图。为了便于表示,不妨将参与分布式预测的N个参与方编号为1~N。应当理解,参与分布式预测的N个参与方可以是加入系统100的任意两个或以上参与方,其中。如图3所示,任一参与方i可以与其它参与方(记为参与方j)交互以获得完整的预测结果,其中,i、j均为不大于N的整数且。下面详细说明流程300的各个步骤:
步骤310,获得己方的标志向量。
任一参与方的标志向量指示预测对象沿该参与方的预测模型上的预测路径抵达的叶节点。各参与方可遵循同一预测规则,进而,针对同一预测对象,每个参与方可根据自身持有的该预测对象的特征以及该预测规则确定相应的预测路径,并根据确定的预测路径获得己方的标志向量。
在一些实施例中,预测规则可以包括:对于任一参与方i,当预测至参与方i的预测模型的本地分裂节点时,基于参与方i持有的与该本地分裂节点关联的预测对象的特征值继续预测;当预测至参与方i的预测模型的非本地分裂节点时,继续预测至该非本地分裂节点下的所有子节点。任一参与方可迭代运行预测规则,直至当前获得的预测路径的所有分支已抵达叶节点。可以看出,对于任一参与方的预测模型,预测对象在该预测模型上的预测路径会在非本地分裂节点出现分叉,即预测对象沿任一参与方的预测模型上的预测路径可抵达多个目的叶节点。而对于等效模型,预测对象在该预测模型上的预测路径不会出现分叉,即预测对象沿等效模型上的预测路径只会抵达一个目的叶节点。
可以理解,对于参与方i的预测模型的任一本地分裂节点,参与方i可以根据预测对象与该本地分裂节点关联的特征值以及该本地分裂节点的参数,延续当前预测路径至该本地分裂节点的某一子节点。
参考图1,图1中用箭头示出了同一预测对象分别在参与方A的预测模型、参与方B的预测模型以及等效模型上的预测路径,相应地,参与方A的标志向量为(1,1,0),参与方B的标志向量为(0,1,1),等效标志向量为(0,1,0)。
可以理解,根据预测对象沿等效模型上的预测路径,也可确定预测对象的叶节点标志向量(以下称为等效标志向量)。等效标志向量指示预测对象沿等效模型上的预测路径抵达的(某一)叶节点。等效标志向量可基于与同一预测对象关联的各参与方的标志向量得到。当标志向量采用前述0/1向量时,等效标志向量等于各参与方的标志向量按位相乘的结果。结合前述叶节点标志向量的相关描述可知,针对同一预测对象,任一参与方的标志向量相当于任一参与方的预测模型对应的叶节点标志向量,等效标志向量相当于等效模型对应的叶节点标志向量。当然,为了防止各方数据隐私的泄露,任一参与方只获得等效标志向量的分片,即不会在任何设备上获得完整的等效标志向量。例如,按照图1中的预测路径,参与方A的标志向量为(1,1,0),参与方B的标志向量为(0,1,1),等效标志向量为(0,1,0),满足(1,1,0)*(0,1,1)= (0,1,0)。值得注意的是,由于预测对象沿任一参与方的预测模型上的预测路径可抵达多个叶节点,而预测对象沿等效模型上的预测路径只会抵达某一个叶节点,相应地,任一参与方的标志向量中可出现多个1,而等效标志向量中只会出现1个1。
关于等效标志向量的分片的计算方法,可以参考步骤340的相关描述。
步骤320,将己方的标志向量拆分成N个分片。
步骤330,将该N个分片分配给N个参与方的设备。
步骤340,获得分配到的其他N-1个参与方的标志向量的分片。
为了保护数据隐私,任一参与方的设备可将标志向量拆分成N个分片,并将该N个分片分配给N个参与方的设备。这里,不妨将N个参与方的标志向量按编号对应记为S1~Sn,并通过增加数字下标来指示分片的分配对象。即,参与方i可将标志向量拆分成N个分片Si1、...、SiN,保留分配给自己的分片Sii,并将分配给参与方j的分片Sij发送至参与方j的设备。当N个参与方互相交换标志向量的分片后,任一参与方的设备可获得分配到的N个参与方标志向量的分片。例如,参与方i的设备可获得分配到的N个参与方的标志向量的分片S1i、...、Sii、...、SNi。
步骤350,计算等效标志向量的分片。
获得分配到的N个参与方的标志向量的分片后,任一参与方的设备可根据安全多方计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片。
仅作为示例,假设数据的拆分遵循群加法(符号即“+”),即拆分得到的各数据分片之和等于被拆分的数据。那么,任一参与方的标志向量及其分片之间满足关系式。参考前述实施例,等效标志向量可以等于N个参与方的标志向量的按位相乘的结果。以两方场景(N=2)为例,等效标志向量P满足:
其中,表示向量的按位相乘,展开式中的求和项可以分为两类:一类由于两个相乘的因子都保存于同一参与方的设备故可在单个参与方的设备本地直接计算,包括可在参与方A(编号为1)的设备本地直接计算的和可在参与方B(编号为2)的设备本地直接计算的;另一类由于两个相乘的因子保存于不同参与方的设备故可按照两方安全乘法协议来计算,包括和。通过运行两方安全乘法协议:参与方A可获得的一个分片和的一个分片;参与方B可获得的另一个分片和的一个分片。从而,参与方A可对、、进行求和得到等效标志向量的一个分片,参与方B可对、、进行求和得到等效标志向量的另一个分片。需要说明的是,这里的乘法与加法均满足相应的群运算性质,对于向量之间的按位乘运算,参与方可以按位多次执行两方安全乘法协议以获得两个向量按位相乘的结果的分片。
对于简单的分类问题,每个叶子节点对应一个分类类别,至此,各参与方分别获得等效标识向量的分片可视为已经完成了一次简单的分类。对于归回问题或者复杂的分类问题,则需要进行后续步骤。
步骤360,计算预测对象的预测分值的分片。
对于等效模型,基于等效标志向量、等效模型的叶节点权值向量以及等效模型的基础分值可以得到预测对象的预测分值。对于任一参与方的预测模型,该参与方的设备可基于等效标志向量的分片、该参与方的预测模型的叶节点权值向量以及该参与方的预测模型的基础分值,计算该参与方的预测对象的预测分值的分片(即预测对象的预测分值的分片)。
当每个参与方的预测模型以及等效模型均为单个决策树(一棵树)时,,其中,pred表示该决策树对应的预测对象的预测分值,f0表示该决策树的基础分值,W*P为该决策树的叶节点权值向量W和等效标志向量P的内积。根据前述内容,对于任一参与方i,参与方i的预测模型的叶节点权值向量(记为Wi)为等效模型的叶节点权值向量W的一个分片,参与方i的预测模型的基础分值(记为<f0>i)为等效模型的的基础分值f0的一个分片,以及参与方i的设备会获得等效标志向量P的分片(记为Pi)。
在XGB(eXtreme Gradient Boosting,极限梯度提升)框架下,每个参与方的预测模型以及等效模型均包括T棵树。不妨将这T棵树编号为1~T,可以理解,N个参与方的预测模型以及等效模型中相同编号的决策树的结构相同。对于T棵树中的每一棵树(记为tri),任一参与方可获得tri对应的标志向量,即任一参与方的标志向量包括T个决策树对应的标志向量。那么,针对每一棵tri,任一参与方的设备可根据多方安全计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的tri对应的标志向量的分片,计算tri对应的等效标志向量的分片,tri对应的等效标志向量可等于N个参与方的tri对应的标志向量按位乘的结果。接着,任一参与方的设备可根据多方安全计算协议与其他N-1个参与方的设备交互,以基于tri对应的等效标志向量的分片和该决策树的叶节点权值向量的分片,计算tri对应的等效标志向量和叶节点权值向量的内积的分片。从而,任一参与方的设备可对T棵树分别对应的等效标志向量和叶节点权值向量的内积的分片以及该参与方的预测模型的基础分值进行求和,得到预测对象的预测分值的分片。
步骤370,获得其他N-1个参与方的预测对象的预测分值的分片。
步骤380,求和N个参与方的预测对象的预测分值的分片,得到预测对象的预测分值。
任一参与方的设备可获得其他N-1个参与方的预测对象的预测分值的分片,并对N个参与方的预测对象的预测分值的分片进行求和以得到预测对象的预测分值。即,任一参与方的设备可计算,其中pred表示预测对象的预测分值,<pred>i表示参与方i的设备计算的预测对象的预测分值的分片。
在一些实施例中,根据预测分值的分片难以反推出预测对象的特征数据,因此,将各参与方的预测分值分片输出不会存在数据安全隐患。
在一些实施例中,任一参与方的设备在获得预测对象的预测分值pred以后,可以计算pred的非线性函数值,得到预测对象的预测值,进而可根据该预测值确定预测对象的类别。例如,任一参与方的设备可计算:
在又一些实施例中,每个参与方的设备可计算分片<pred>i的等效函数值f'(<pred>i),进而任一参与方的设备获得N个参与方的分片<pred>i的等效函数值并求和得到预测对象的预测值的等效值,所述等效函数是指与用于计算预测对象的预测值的非线性函数等效的线性函数。在一些实施例中,可以对非线性函数进行泰勒展开以得到等效的线性函数。
对于复杂的分类问题,可以在获得预测对象的预测值后,基于阈值划分,得到预测对象所属的类别。即,将回归问题转换为分类问题。
应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图4是根据本说明书一些实施例所示的针对决策树的分布式预测系统的模块图。如图4所示,系统400可以包括标志向量获得模块410、秘密分享模块420和多方安全计算模块430。
标志向量获得模块410可以用于根据预测对象在所述任一参与方的预测模型上的预测路径,获得所述任一参与方的标志向量,该标志向量指示所述预测对象沿该预测路径抵达的叶节点。其中,当预测至所述任一参与方的预测模型的本地分裂节点时,基于所述任一参与方持有的所述预测对象与该本地分裂节点关联的特征值继续预测,当预测至所述任一参与方的预测模型的非本地分裂节点时,继续预测至该非本地分裂节点下的所有子节点。
秘密分享模块420可以用于将所述任一参与方的标志向量拆分成N个分片,并将所述N个分片分配给所述N个参与方的设备,以及用于对于其他N-1个参与方中的任一个,获得分配到的该参与方的标志向量的分片。
多方安全计算模块430可以用于根据多方安全计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片,所述等效标志向量为N个参与方的标志向量按位相乘的结果。
关于系统400及其模块的更多细节,可以参考流程300及其相关描述。
应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,秘密分享模块420和多方安全计算模块430可以是一个系统中的不同模块,也可以是一个模块实现这两个模块的功能。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)在保护各方数据隐私的前提下实现预测;(2)联合多方持有的同一对象的多个特征进行预测,可以获得更好的预测效果。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (9)
1.一种针对决策树的分布式预测方法,其中,N个参与方的预测模型具有相同的结构,N不小于2;所述方法由任一参与方的设备执行,其包括:
根据预测对象在所述任一参与方的预测模型上的预测路径,获得所述任一参与方的标志向量,该标志向量指示所述预测对象沿该预测路径抵达的叶节点;其中,所述预测路径按照以下方式从根节点延伸,直到抵达所述叶节点:当延伸至所述任一参与方的预测模型的本地分裂节点时,基于所述任一参与方持有的所述预测对象与该本地分裂节点关联的特征值继续延伸至该本地分裂节点下的其中一个子节点;当延伸至所述任一参与方的预测模型的非本地分裂节点时,继续延伸至该非本地分裂节点下的所有子节点;
将所述任一参与方的标志向量拆分成N个分片,并将所述N个分片分配给所述N个参与方的设备;对于其他N-1个参与方中的任一个,获得分配到的该参与方的标志向量的分片;
根据多方安全计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片,所述等效标志向量为N个参与方的标志向量按位相乘的结果。
2.如权利要求1所述的方法,其中,还包括:
根据多方安全计算协议与其他N-1个参与方的设备交互,以基于所述等效标志向量的分片、所述任一参与方的预测模型的叶节点权值向量以及所述任一参与方的预测模型的基础分值,计算所述任一参与方的预测对象的预测分值的分片。
3.如权利要求2所述的方法,其中,每个参与方的预测模型包括T个决策树,且所述N个参与方的T个决策树的结构分别相同,;所述任一参与方的标志向量包括所述任一参与方的T个决策树分别对应的标志向量,每个决策树对应的标志向量指示所述预测对象沿该决策树上的预测路径抵达的叶节点;
所述根据多方安全计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片,包括:
针对所述T个决策树中的每一个,根据多方安全计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的该决策树对应的标志向量的分片,计算该决策树对应的等效标志向量的分片,该决策树对应的等效标志向量为N个参与方的该决策树对应的标志向量按位相乘的结果;
所述根据多方安全计算协议与其他N-1个参与方的设备交互,以基于所述等效标志向量的分片、所述任一参与方的预测模型的叶节点权值向量以及所述任一参与方的预测模型的基础分值,计算所述任一参与方的预测对象的预测分值的分片,包括:
针对所述T个决策树中的每一个,根据多方安全计算协议与其他N-1个参与方的设备交互,以基于该决策树对应的等效标志向量的分片和该决策树的叶节点权值向量的分片,计算该决策树对应的等效标志向量和叶节点权值向量的内积的分片;
对所述T个决策树分别对应的等效标志向量和叶节点权值向量的内积的分片以及所述预测模型的基础分值进行求和,得到所述任一参与方的预测对象的预测分值的分片。
4.如权利要求2或3所述的方法,其中,还包括:
获得所述其他N-1个参与方的预测对象的预测分值的分片;
对所述N个参与方的预测对象的预测分值的分片进行求和,得到所述预测对象的预测分值。
5.如权利要求4所述的方法,其中,还包括:
计算所述预测对象的预测分值的非线性函数值作为所述预测对象的预测值,所述非线性函数用于计算预测对象的预测值。
6.如权利要求2或3所述的方法,其中,还包括:
计算所述预测对象的预测分值的分片的线性函数值,所述线性函数与用于计算预测对象的预测值的非线性函数等效;
获得所述其他N-1个参与方的预测对象的预测分值的分片的线性函数值;
对所述N个参与方的预测对象的预测分值的分片的线性函数值进行求和,得到所述预测对象的预测值的等效值。
7.如权利要求2或3所述的方法,其中,还包括:
将所述预测对象的预测分值确定为所述预测对象的预测值。
8.一种针对决策树的分布式预测系统,其中,N个参与方的预测模型具有相同的结构,N不小于2;所述系统在任一参与方的设备上实现,其包括:
标志向量获得模块,用于根据预测对象在所述任一参与方的预测模型上的预测路径,获得所述任一参与方的标志向量,该标志向量指示所述预测对象沿该预测路径抵达的叶节点;其中,所述预测路径按照以下方式从根节点延伸,直到抵达所述叶节点:当延伸至所述任一参与方的预测模型的本地分裂节点时,基于所述任一参与方持有的所述预测对象与该本地分裂节点关联的特征值继续延伸至该本地分裂节点下的其中一个子节点;当延伸至所述任一参与方的预测模型的非本地分裂节点时,继续延伸至该非本地分裂节点下的所有子节点;
秘密分享模块,用于:将所述任一参与方的标志向量拆分成N个分片,并将所述N个分片分配给所述N个参与方的设备;对于其他N-1个参与方中的任一个,获得分配到的该参与方的标志向量的分片;
多方安全计算模块,用于根据多方安全计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片,所述等效标志向量为N个参与方的标志向量按位相乘的结果。
9.一种针对决策树的分布式预测装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010723469.3A CN111784078B (zh) | 2020-07-24 | 2020-07-24 | 一种针对决策树的分布式预测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010723469.3A CN111784078B (zh) | 2020-07-24 | 2020-07-24 | 一种针对决策树的分布式预测方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111784078A CN111784078A (zh) | 2020-10-16 |
CN111784078B true CN111784078B (zh) | 2022-04-26 |
Family
ID=72764173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010723469.3A Active CN111784078B (zh) | 2020-07-24 | 2020-07-24 | 一种针对决策树的分布式预测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111784078B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114282688B (zh) * | 2022-03-02 | 2022-06-03 | 支付宝(杭州)信息技术有限公司 | 一种两方决策树训练方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101544356B1 (ko) * | 2012-10-31 | 2015-08-13 | 삼성에스디에스 주식회사 | 메타데이터 및 트랜잭션 발생량을 고려한 동적 샤딩 기능을 지원하는 분산 데이터베이스 관리 방법 및 그 구성 노드 |
WO2018184222A1 (en) * | 2017-04-07 | 2018-10-11 | Intel Corporation | Methods and systems using improved training and learning for deep neural networks |
CN110297831A (zh) * | 2019-07-01 | 2019-10-01 | 电子科技大学 | 一种基于门限秘密共享的区块链分片存储方法 |
CN110971405B (zh) * | 2019-12-06 | 2022-06-14 | 支付宝(杭州)信息技术有限公司 | 多方协同的sm2签名、解密方法及其系统 |
CN110969264B (zh) * | 2019-12-11 | 2022-08-02 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、分布式预测方法及其系统 |
-
2020
- 2020-07-24 CN CN202010723469.3A patent/CN111784078B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111784078A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110969264B (zh) | 模型训练方法、分布式预测方法及其系统 | |
Zhang et al. | A domain partition-based trust model for unreliable clouds | |
CA3080050A1 (en) | Training tree-based machine-learning modeling algorithms for predicting outputs and generating explanatory data | |
CN111738359B (zh) | 一种两方决策树训练方法和系统 | |
CN112632620B (zh) | 一种增强隐私保护的联邦学习方法和系统 | |
CN112001500B (zh) | 基于纵向联邦学习系统的模型训练方法、设备及存储介质 | |
US11410081B2 (en) | Machine learning with differently masked data in secure multi-party computing | |
CN113158239B (zh) | 保护数据隐私的选择问题处理方法 | |
CN111475854A (zh) | 保护两方数据隐私的协同计算方法及系统 | |
CN111738360B (zh) | 一种两方决策树训练方法和系统 | |
CN112329072A (zh) | 一种基于安全多方计算的模型联合训练方法 | |
WO2023174018A1 (zh) | 一种纵向联邦学习方法、装置、系统、设备及存储介质 | |
CN111125760B (zh) | 保护数据隐私的模型训练、预测方法及其系统 | |
CN112561085B (zh) | 一种基于多方安全计算的多分类模型训练方法和系统 | |
Yurtkuran et al. | A Modified Artificial Bee Colony Algorithm for p‐Center Problems | |
ur Rehman et al. | Federated learning systems: Towards next-generation AI | |
CN111784078B (zh) | 一种针对决策树的分布式预测方法和系统 | |
Wang | Blockfedml: Blockchained federated machine learning systems | |
CN111079153A (zh) | 安全建模方法、装置、电子设备及存储介质 | |
KR20140133032A (ko) | 유사도 특성을 이용한 메타휴리스틱 알고리즘에 기반한 시스템 및 그 제어방법 | |
CN110222743A (zh) | 电网事故的预案生成方法 | |
Khorramizadeh et al. | A bee colony optimization approach for mixed blocking constraints flow shop scheduling problems | |
CN114282688B (zh) | 一种两方决策树训练方法和系统 | |
US20220101160A1 (en) | Model reuse-based model prediction | |
CN112990260B (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 |