【技术实现步骤摘要】
一种两方决策树训练方法和系统
本说明书涉及信息
,特别涉及一种两方决策树训练方法和系统。
技术介绍
为了保护各方数据隐私,在机器学习领域会采用分布式训练方案。即,在不泄露任一参与方持有的样本数据的前提下,任一参与方可训练属于自己的模型。目前,希望提供一种针对决策树的分布式训练方案。
技术实现思路
本说明书实施例之一提供一种两方决策树训练方法,其中,所述方法由第一方的设备执行,所述第一方为持有样本集中各样本的至少一个特征的特征值及标签值的一方和持有所述样本集中各样本的至少一个特征的特征值的一方中任一方,第二方为两方中的另一方;所述方法包括:按以下分裂步骤对任一节点进行分裂:获得所述节点的标志向量的第一分片、第一梯度向量的第一分片以及第二梯度向量的第一分片;标志向量指示属于相应节点的样本,第一梯度向量包括属于相应节点的样本对应的第一梯度,第二梯度向量包括属于相应节点的样本对应的第二梯度。用第一方的公钥对所述节点的第一梯度向量的第一分片进行同态加密,得到所述节点的第一梯度向 ...
【技术保护点】
1.一种两方决策树训练方法,其中,所述方法由第一方的设备执行,所述第一方为持有样本集中各样本的至少一个特征的特征值及标签值的一方和持有所述样本集中各样本的至少一个特征的特征值的一方中任一方,第二方为两方中的另一方;所述方法包括:/n按以下分裂步骤对任一节点进行分裂:/n获得所述节点的标志向量的第一分片、第一梯度向量的第一分片以及第二梯度向量的第一分片;标志向量指示属于相应节点的样本,第一梯度向量包括属于相应节点的样本对应的第一梯度,第二梯度向量包括属于相应节点的样本对应的第二梯度;/n用第一方的公钥对所述节点的第一梯度向量的第一分片进行同态加密,得到所述节点的第一梯度向量的 ...
【技术特征摘要】
1.一种两方决策树训练方法,其中,所述方法由第一方的设备执行,所述第一方为持有样本集中各样本的至少一个特征的特征值及标签值的一方和持有所述样本集中各样本的至少一个特征的特征值的一方中任一方,第二方为两方中的另一方;所述方法包括:
按以下分裂步骤对任一节点进行分裂:
获得所述节点的标志向量的第一分片、第一梯度向量的第一分片以及第二梯度向量的第一分片;标志向量指示属于相应节点的样本,第一梯度向量包括属于相应节点的样本对应的第一梯度,第二梯度向量包括属于相应节点的样本对应的第二梯度;
用第一方的公钥对所述节点的第一梯度向量的第一分片进行同态加密,得到所述节点的第一梯度向量的第一分片的第一同态密文;用第一方的公钥对所述节点的第二梯度向量的第一分片进行同态加密,得到所述节点的第二梯度向量的第一分片的第一同态密文;将所述节点的第一梯度向量的第一分片的第一同态密文以及第二梯度向量的第一分片的第一同态密文发送给第二方的设备;第一同态密文的加密密钥为第一方的公钥;
用第二方的公钥对所述节点的第一梯度向量的第一分片进行同态加密,得到所述节点的第一梯度向量的第一分片的第二同态密文;用第二方的公钥对所述节点的第二梯度向量的第一分片进行同态加密,得到所述节点的第二梯度向量的第一分片的第二同态密文;从第二方的设备接收所述节点的第一梯度向量的第二分片的第二同态密文以及第二梯度向量的第二分片的第二同态密文;第二同态密文的加密秘钥为第二方的公钥;
对于第一方的任一特征:
对于按该特征的特征值划分所述样本集得到的多个第一分组中的每一个:计算所述节点的第一梯度向量的第一分片的第二同态密文以及第二分片的第二同态密文中与属于该第一分组的样本对应的元素之和,得到该第一分组对应的第一梯度和的第二同态密文;将该第一分组对应的第一梯度和的第二同态密文转换成该第一分组对应的第一梯度和的第一分片以及该第一分组对应的第一梯度和的第二分片的第二同态密文,将该第一分组对应的第一梯度和的第二分片的第二同态密文发送给第二方的设备,以使第二方的设备能够获得该第一分组对应的第一梯度和的第二分片;计算所述节点的第二梯度向量的第一分片的第二同态密文以及第二分片的第二同态密文中与属于该第一分组的样本对应的元素之和,得到该第一分组对应的第二梯度和的第二同态密文;将该第一分组对应的第二梯度和的第二同态密文转换成该第一分组对应的第二梯度和的第一分片以及该第一分组对应的第二梯度和的第二分片的第二同态密文,将该第一分组对应的第二梯度和的第二分片的第二同态密文发送给第二方的设备,以使第二方的设备能够获得该第一分组对应的第二梯度和的第二分片;
对于第二方的任一特征:
对于按该特征划分的特征值划分所述样本集得到的多个第二分组中的每一个:从第二方的设备获得该第二分组对应的第一梯度和的第一分片的第一同态密文,以及该第二分组对应的第二梯度和的第一分片的第一同态密文;利用第一方的私钥解密该第二分组对应的第一梯度和的第一分片的第一同态密文,得到该第二分组对应的第一梯度和的第一分片;利用第一方的私钥解密该第二分组对应的第二梯度和的第一分片的第一同态密文,得到该第二分组对应的第二梯度和的第一分片;其中,该第二分组对应的第一梯度和等于所述节点的第一梯度向量的第一分片和第二分片中与属于该第二分组的样本对应的元素之和,该第二分组对应的第二梯度和等于所述节点的第二梯度向量的第一分片和第二分片中与属于该第二分组的样本对应的元素之和;
按照多方安全计算协议与第二方的设备交互,以基于各特征下的各分组分别对应的第一梯度和的第一分片以及第二梯度和的第一分片,计算各特征下的各分组分别对应的分裂增益的第一分片;
按照多方安全比较协议与第二方的设备交互,以基于各特征下的各分组分别对应的分裂增益的第一分片,确定最大分裂增益,并根据所述最大分裂增益对应的特征及分组记录所述节点的分裂信息;
当所述最大分裂增益对应第一方的特征时,生成所述节点的左子树向量和右子树向量,所述左子树向量指示根据所述最大分裂增益对应的特征及分组划分所述样本集得到的左子集中的样本,所述右子树向量指示根据所述最大分裂增益对应的特征及分组划分所述样本集得到的右子集中的样本,左子集与左子树对应,右子集与右子树对应;将所述左子树向量拆分成第一分片和第二分片,并将所述左子树向量的第二分片发送给第二方的设备;将所述右子树向量拆分成第一分片和第二分片,并将所述右子树向量的第二分片发送给第二方的设备;当所述最大分裂增益对应第二方的特征时,从第二方的设备接收所述节点的左子树向量的第一分片和右子树向量的第一分片;
按照多方安全计算协议与第二方的设备交互,以基于所述节点的标志向量的第一分片以及所述左子树向量的第一分片,计算所述节点的左子树的标志向量的第一分片;按照多方安全计算协议与第二方的设备交互,以基于所述节点的标志向量的第一分片以及所述右子树向量的第一分片,计算所述节点的右子树的标志向量的第一分片;
按照多方安全计算协议与第二方的设备交互,以基于所述节点的第一梯度向量的第一分片以及所述节点的左子树的标志向量的第一分片,计算所述节点的左子树的第一梯度向量的第一分片;按照多方安全计算协议与第二方的设备交互,以基于所述节点的第二梯度向量的第一分片以及所述节点的左子树的标志向量的第一分片,计算所述节点的左子树的第二梯度向量的第一分片;
按照多方安全计算协议与第二方的设备交互,以基于所述节点的第一梯度向量的第一分片以及所述节点的右子树的标志向量的第一分片,计算所述节点的右子树的第一梯度向量的第一分片;按照多方安全计算协议与第二方的设备交互,以基于所述节点的第二梯度向量的第一分片以及所述节点的右子树的标志向量的第一分片,计算所述节点的右子树的第二梯度向量的第一分片。
2.如权利要求1所述的方法,其中,所述按照多方安全计算协议与第二方的设备交互,以基于各特征下的各分组分别对应的第一梯度和的第一分片以及第二梯度和的第一分片,计算各特征下的各分组分别对应的分裂增益的第一分片,包括:
对于任一特征:
按照多方安全计算协议与第二方的设备交互,以基于该特征下的各分组分别对应的第一梯度和的第一分片,计算该特征下的各分组分别对应的左子树第一梯度和的第一分片和右子树第一梯度和的第一分片;其中,左子树第一梯度和等于第一梯度向量的第一分片和第二分片中与属于左子集的样本对应的元素之和,右子树第一梯度和等于第一梯度向量的第一分片和第二分片中与属于右子集的样本对应的元素之和;
按照多方安全计算协议与第二方的设备交互,以基于该特征下的各分组分别对应的第二梯度和的第一分片,计算该特征下的各分组分别对应的左子树第二梯度和的第一分片和右子树第二梯度和的第一分片;其中,左子树第二梯度和等于第二梯度向量的第一分片和第二分片中与属于左子集的样本对应的元素之和,右子树第二梯度和等于第二梯度向量的第一分片和第二分片中与属于右子集的样本对应的元素之和;
对于任一特征的任一分组:
根据计算该特征下的该分组对应的分裂增益的第一分片,其中,Gain表示该特征下的该分组对应的分裂增益,GL表示该特征下的该分组对应的左子树第一梯度和的第一分片与第二分片之和,GR表示该特征下的该分组对应的右子树第一梯度和的第一分片与第二分片之和,HL表示该特征下的该分组对应的左子树第二梯度和的第一分片与第二分片之和,HR表示该特征下的该分组对应的右子树第二梯度和的第一分片与第二分片之和,λ表示预设系数。
3.如权利要求1所述的方法,其中,所述基于各特征下的各分组分别对应的分裂增益的第一分片,确定最大分裂增益,包括:
基于以下步骤遍历特征对j1、j2以及j1对应的分组k1、j2对应的分组k2:
计算j1、k1对应的分裂增益的第一分片和j2、k2对应的分裂增益的第一分片的第一差值;
按照多方安全比较协议与第二方的设备交互,以确定所述第一差值和位于第二方的设备的j2、k2对应的分裂增益的第二分片和j1、k1对应的分裂增益的第二分片的第二差值的大小关系;
基于确定的多组大小关系确定最大分裂增益。
4.如权利要求1所述的方法,其中,当所述最大分裂增益对应第一方的特征时,当样本集中的某样本属于左子集时,该样本对应的左子树向量位为1,该样本对应的右子树向量位为0;反之,该样本对应的左子树向量位为0,该样本对应的右子树向量位为1;
所述按照多方安全计算协议与第二方的设备交互,基于所述节点的标志向量的第一分片以及所述左子树向量的第一分片,计算所述左子树的标志向量的第一分片,包括:
按照多方安全计算协议与第二方的设备交互,计算所述节点的标志向量的第一分片与第二分片之和以及所述左子树向量的第一分片与第二分片之和按位相乘结果的第一分片作为所述左子树的标志向量的第一分片;
所述按照多方安全计算协议与第二方的设备交互,基于所述节点的标志向量的第一分片以及所述右子树向量的第一分片,计算所述右子树的标志向量的第一分片,包括:
按照多方安全计算协议与第二方的设备交互,计算所述节点的标志向量的第一分片与第二分片之和以及所述右子树向量的第一分片与第二分片之和按位相乘结果的第一分片作为所述右子树的标志向量的第一分片。
5.如权利要求4所述的方法,其中,所述按照多方安全计算协议与第二方的设备交互,以基于所述节点的第一梯度向量的第一分片以及所述左子树的标志向量的第一分片,计算所述左子树的第一梯度向量的第一分片,包括:
按照多方安全计算协议与第二方的设备交互,计算所述节点的第一梯度向量的第一分片与第二分片之和以及所述左子树的标志向量的第一分片与第二分片之和的按位相乘结果的第一分片作为所述左子树的第一梯度向量的第一分片;
所述按照多方安全计算...
【专利技术属性】
技术研发人员:方文静,王力,周俊,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。