一种针对决策树的分布式预测方法和系统技术方案

技术编号:25951785 阅读:24 留言:0更新日期:2020-10-17 03:44
本说明书实施例公开了一种针对决策树的分布式预测方法和系统,可保护各方数据隐私。各方预测模型具有相同结构。任一参与方根据预测对象在己方预测模型上的预测路径,获得己方的标志向量,该标志向量指示预测对象沿该预测路径抵达的叶节点。当预测至本地分裂节点时,基于与该本地分裂节点关联的特征值继续预测;当预测至非本地分裂节点时,继续预测至该非本地分裂节点下的所有子节点。该参与方将己方的标志向量拆分成N个分片,将该N个分片分配给N个参与方,并根据多方安全计算协议与其他N‑1个参与方交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片,等效标志向量为N个参与方的标志向量按位相乘的结果。

【技术实现步骤摘要】
一种针对决策树的分布式预测方法和系统
本说明书涉及机器学习领域,特别涉及一种针对决策树的分布式预测方法和系统。
技术介绍
为了保护各方数据隐私,在机器学习领域会采用分布式预测方案。即,参与分布式预测的任一方可获得属于自己的预测模型,联合各方的预测模型可获得预测对象的预测结果。目前,希望提供一种针对决策树的分布式预测方案。
技术实现思路
本说明书实施例之一提供一种针对决策树的分布式预测方法,其中,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(TrustedExecutionEnvironment,可信执行环境)设备;在TEE中解密出各方的样本数据并训练出完整的预测模型(相当于前述等效模型);将完整的预测模型拆分成多份分配给各参与方,从而任一参与方可获得属于自己的预测模型。其中,对模型的拆分可以指对模型的结构和/或参数的拆分。还有一种思路是:各参与方分别将自身持有的样本数据进行秘密分享,即任一参与方可将自身持有的样本数据拆分成多个分片,将这些分片分配给各参与方,具体可保留一个分片并将剩余分片分发给其他参与方;各参与方基于样本数据的分片进行多方安全计算,从而任一参与方可获得属于自己的预测模型。下面介绍决策树的相关知识。决策树的节点可分为分裂节点和叶子节点(叶节点),分裂节点具有子节点(如左右子树),每个分裂节点可对应一个特征,可称之为该分裂节点的关联特征。分裂节点的参数(可称为分裂参数)可包括用于判断样本/预测对象属于哪个子节点的阈值,该阈值与该分裂节点的关联特征相关,例如,可以将该分裂节点的关联特征的某个特征值作为该阈值。基于决策树的模型(即树模型)可包括一个或多个决策树,其中,包括多个(两个或以上)决策树的树模型包括XGB(eXtremeGradientBoosting,极限梯度提升)框架下的树模型。对于简单的分类问题,每个叶节点对应一个类别,预测对象的分类结果可以是基于该预测对象的特征数据沿预测模型上的预测路径抵达的叶节点对应的类别。对于回归问题,每个叶节点可对应一个分值(可称为叶节点分值/叶节点权值),单个决策树的所有叶节点的权值构成该决策树的叶节点权值向量,预测对象沿决策树上的预测路径抵达的叶节点的权值等于该决策树的叶节点权值向量和该预测对象的叶节点标志向量的内积。其中,该预测对象的叶节点标志向量指示该预测对象沿决策树上的预测路径抵达的叶节点(以下称为预测叶节点)的权值,可以理解,单个决策树对应的叶本文档来自技高网...

【技术保护点】
1.一种针对决策树的分布式预测方法,其中,N个参与方的预测模型具有相同的结构,N不小于2;所述方法由任一参与方的设备执行,其包括:/n根据预测对象在所述任一参与方的预测模型上的预测路径,获得所述任一参与方的标志向量,该标志向量指示所述预测对象沿该预测路径抵达的叶节点;其中,所述预测路径按照以下方式从根节点延伸,直到抵达所述叶节点:当延伸至所述任一参与方的预测模型的本地分裂节点时,基于所述任一参与方持有的所述预测对象与该本地分裂节点关联的特征值继续延伸至该本地分裂节点下的其中一个子节点;当延伸至所述任一参与方的预测模型的非本地分裂节点时,继续延伸至该非本地分裂节点下的所有子节点;/n将所述任一参与方的标志向量拆分成N个分片,并将所述N个分片分配给所述N个参与方的设备;对于其他N-1个参与方中的任一个,获得分配到的该参与方的标志向量的分片;/n根据多方安全计算协议与其他N-1个参与方的设备交互,以基于分配到的N个参与方的标志向量的分片计算等效标志向量的分片,所述等效标志向量为N个参与方的标志向量按位相乘的结果。/n

【技术特征摘要】
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个参与方的设备交互,以基于该决策树对应的等效标志向量的分片和该决策树的叶节点权值向量的分片,计算该决...

【专利技术属性】
技术研发人员:方文静王力周俊
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1