叶节点分类权值的确定方法、装置、及设备与流程

文档序号:24986422发布日期:2021-05-07 23:04阅读:136来源:国知局
叶节点分类权值的确定方法、装置、及设备与流程

本说明书一个或多个实施例涉及人工智能领域,尤其涉及叶节点分类权值的确定方法、装置、及设备。



背景技术:

基于树模型的分类预测依赖于对象的特征,对象特征越丰富,树模型预测出的分类结果越准确。因此,业界提出了树模型的两方联合分类机制。

在树模型的两方联合分类机制中,每方持有目标对象的特征,并基于该目标对象的特征对该目标对象进行分类,并将分类结果共享给其他参与方。每方基于各方的分类结果,确定出最终的分类结果。但是,分类结果的共享的过程中容易发生用户隐私数据的泄露,因此,如何在实现基于树模型的两方联合分类的同时,保证分类过程中各方用户隐私数据的安全就成为业界亟待解决的问题。



技术实现要素:

根据本说明书的第一方面,提供一种基于树模型的两方联合分类方法,各方持有部分树模型,各方持有的部分树模型包括:经双方联合训练得到的完整树模型的树形结构,以及该完整树模型的部分分裂信息以及各叶节点的权值分片;各方持有的目标对象的特征不完全相同,所述方法应用于任一方,包括:

将本方持有的目标对象的特征输入本方的部分树模型,预测得到与所述目标对象匹配的若干第一疑似叶节点;

根据所述若干第一疑似叶节点和对方预测得到的若干第二疑似叶节点,确定为所述目标对象预测得到的目标叶节点;

基于本方确定出的所述目标叶节点的本方权值分片的密文、以及对方发送的该目标叶节点的对方权值分片的密文,确定目标叶节点对应的分类权值;其中,所述本方权值分片的密文由本方采用本方公钥对该目标叶节点的本方权值分片进行同态加密得到;

根据所述目标叶节点和所述分类权值确定所述目标对象的分类结果。

可选的,所述根据所述若干第一疑似叶节点和对方预测得到的若干第二疑似叶节点,确定为所述目标对象预测得到的目标叶节点,包括:

对各第一疑似叶节点进行哈希运算,得到各第一疑似叶节点的哈希值并发送给对方;

对对方发送的各第二疑似叶节点的哈希值进行二次哈希,得到各第二疑似叶节点的二次哈希值并发送给对方;

基于对方发送的各第一疑似节点的二次哈希值、以及本方得到的所述各第二疑似节点的二次哈希值,确定为所述目标对象预测得到的目标叶节点。

可选的,所述基于对方发送的各第一疑似节点的二次哈希值、以及本方得到的所述各第二疑似节点的二次哈希值,确定为所述目标对象预测得到的目标叶节点,包括:

在对方发送的各第一疑似叶节点的二次哈希值、以及本方得到的各第二疑似叶节点的二次哈希值中,确定两方共有的二次哈希值,并将该共有的二次哈希值对应的疑似叶节点作为目标叶节点。

可选的,所述基于本方确定出的所述目标叶节点的本方权值分片的密文、以及对方发送的该目标叶节点的对方权值分片的密文,确定目标叶节点对应的分类权值,包括:

对对方发送的目标叶节点的对方权值分片的密文进行拆分,得到对方权值分片的第一子分片的密文和第二子分片的密文,并将所述第二子分片的密文发送给对方;其中,本方持有所述对方权值分片的第一子分片;

对对方发送的本方权值分片的第二子分片的密文进行解密,得到本方权值分片的第二子分片;

基于对方权值分片的第一子分片、本方权值分片的第二子分片、以及预设的本方的部分树模型的权值,确定本方子权值;

基于双方子权值,得到所述目标叶节点对应的分类权值。

可选的,所述对对方发送的目标叶节点的对方权值分片的密文进行拆分,包括:

生成随机数,作为所述对方权值分片的第一子分片;

采用对方公钥对所述随机数进行同态加密,得到对方权值分片的第一子分片的密文;

基于所述对方权值分片的密文、以及对方权值分片的第一子分片的密文,确定所述对方权值分片的第二子分片的密文。

可选的,所述将本方持有的目标对象的特征输入本方的部分树模型,预测得到与所述目标对象匹配的若干第一疑似叶节点,包括:

将本方持有的目标对象的特征输入本方的部分树模型,以由所述本方的部分树模型遍历该部分树模型上的节点,若遍历得到的节点具有分裂信息,则沿着该特征和分裂信息所指示遍历方向继续遍历下层节点,若遍历得到的节点不具有分裂信息,则沿着该遍历得到的节点所连接的所有下层节点的方向继续遍历节点,直至遍历得到叶节点为止。

可选的,所述树模型为xgb模型。

根据本说明书的第二方面,提供一种基于树模型的两方联合分类装置,各方持有部分树模型,各方持有的部分树模型包括:经双方联合训练得到的完整树模型的树形结构,以及该完整树模型的部分分裂信息以及各叶节点的权值分片;各方持有的目标对象的特征不完全相同,所述装置应用于任一方,包括:

预测模块,用于将本方持有的目标对象的特征输入本方的部分树模型,预测得到与所述目标对象匹配的若干第一疑似叶节点;

节点确定模块,用于根据所述若干第一疑似叶节点和对方预测得到的若干第二疑似叶节点,确定为所述目标对象预测得到的目标叶节点;

权值确定模块,用于基于本方确定出的所述目标叶节点的本方权值分片的密文、以及对方发送的该目标叶节点的对方权值分片的密文,确定目标叶节点对应的分类权值;其中,所述本方权值分片的密文由本方采用本方公钥对该目标叶节点的本方权值分片进行同态加密得到;

分类结果确定模块,用于根据所述目标叶节点和所述分类权值确定所述目标对象的分类结果。

可选的,所述节点确定模块,在根据所述若干第一疑似叶节点和对方预测得到的若干第二疑似叶节点,确定为所述目标对象预测得到的目标叶节点时,用于对各第一疑似叶节点进行哈希运算,得到各第一疑似叶节点的哈希值并发送给对方;对对方发送的各第二疑似叶节点的哈希值进行二次哈希,得到各第二疑似叶节点的二次哈希值并发送给对方;基于对方发送的各第一疑似节点的二次哈希值、以及本方得到的所述各第二疑似节点的二次哈希值,确定为所述目标对象预测得到的目标叶节点。

可选的,所述节点确定模块,在基于对方发送的各第一疑似节点的二次哈希值、以及本方得到的所述各第二疑似节点的二次哈希值,确定为所述目标对象预测得到的目标叶节点时,用于在对方发送的各第一疑似叶节点的二次哈希值、以及本方得到的各第二疑似叶节点的二次哈希值中,确定两方共有的二次哈希值,并将该共有的二次哈希值对应的疑似叶节点作为目标叶节点。

可选的,所述权值确定模块,在基于本方确定出的所述目标叶节点的本方权值分片的密文、以及对方发送的该目标叶节点的对方权值分片的密文,确定目标叶节点对应的分类权值时,用于对对方发送的目标叶节点的对方权值分片的密文进行拆分,得到对方权值分片的第一子分片的密文和第二子分片的密文,并将所述第二子分片的密文发送给对方;其中,本方持有所述对方权值分片的第一子分片;对对方发送的本方权值分片的第二子分片的密文进行解密,得到本方权值分片的第二子分片;基于对方权值分片的第一子分片、本方权值分片的第二子分片、以及预设的本方的部分树模型的权值,确定本方子权值;基于双方子权值,得到所述目标叶节点对应的分类权值。

可选的,所述权值确定模块,在对对方发送的目标叶节点的对方权值分片的密文进行拆分时,用于生成随机数,作为所述对方权值分片的第一子分片;采用对方公钥对所述随机数进行同态加密,得到对方权值分片的第一子分片的密文;基于所述对方权值分片的密文、以及对方权值分片的第一子分片的密文,确定所述对方权值分片的第二子分片的密文。

可选的,所述预测模块,在将本方持有的目标对象的特征输入本方的部分树模型,预测得到与所述目标对象匹配的若干第一疑似叶节点时,用于将本方持有的目标对象的特征输入本方的部分树模型,以由所述本方的部分树模型遍历该部分树模型上的节点,若遍历得到的节点具有分裂信息,则沿着该特征和分裂信息所指示遍历方向继续遍历下层节点,若遍历得到的节点不具有分裂信息,则沿着该遍历得到的节点所连接的所有下层节点的方向继续遍历节点,直至遍历得到叶节点为止。

可选的,所述树模型为xgb模型。

根据本说明书的第三方面,提供一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现上述基于树模型的两方联合分类方法。

根据本说明书的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现基于树模型的两方联合分类方法。

由上述描述可知,各方将采用自身公钥对目标叶节点的本方权值分片进行同态加密后的密文发送给对方,由于对方并不具有本方的私钥,所以对方无法对本方权值分片进行解密来直接获取本方权值分片,并且双方可以基于两方的权值分片的密文确定出目标叶节点的分类权值,所以在实现目标叶节点分类权值的确定的同时,还保障了各方权值分片的安全,进而保证了目标对象的隐私数据。

附图说明

图1是本说明书一示例性实施例示出的一种基于树模型的两方联合分类方法的组网示意图;

图2是本说明书一示例性实施例示出的一种基于树模型的两方联合分类方法的流程图;

图3是本说明书一示例性实施例示出的一种基于树模型的两方联合分类方法的交互图;

图4是本说明书一示例性实施例示出的一种电子设备的硬件结构图;

图5是本说明书一示例性实施例示出的一种基于树模型的两方联合分类装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

在本说明书实施例中,基于决策树的分类组网可包括:第一参与方和第二参与方。这里为了方便叙述,将这两个参与方简称为两方。其中,本说明书所述的树模型可以为单棵树的各种决策树模型版本,以及多棵树的决策树模型,比如该树模型可以是xgb(extremegradientboosting,极端梯度提升)决策树模型,也可以是其他决策树模型,比如gbdt(gradientboostingdecisiontree,梯度提升树)模型。这里只是对决策树模型进行示例性地说明,不对其进行具体地限定。

两方联合训练出具有所有分裂信息的完整树模型。但训练完成后,各方均具有训练得到的部分树模型。

其中,每一方的部分树模型包括:完整树模型的树形结构、以及完整树模型的部分分裂信息以及各叶节点的权值分片。其中,叶节点的权值分片,也可以被称为叶节点的权值秘密分享分片,是指将有完整树模型的叶节点对应的权值进行秘密分享,使得每方有该叶节点的权值秘密分享分片。

两方持有的部分分裂信息可以组成完整树模型的所有分裂信息,两方持有的各叶节点的权值分片可以构成该完整树模型的各叶节点的权值。

例如,如图1所示,图1是本说明书一示例性实施例示出的一种基于树模型的两方联合分类方法的组网示意图。

在图1中包括甲方和乙方。

假设完整的树模型包括:根节点、中间节点、叶节点1、叶节点2和叶节点3。

假设根节点对应的分裂信息为分裂信息1,中间节点对应的分裂信息为分裂信息2。叶节点1的权值为3,叶节点2的权值为5,叶节点3的权值为4。

甲方和乙方联合训练出该完整的树模型,换句话说,甲方和乙方拥有部分树模型可以构成完整树模型。

其中,甲方拥有的部分树模型包括:完整树模型的树形结构(即根节点、中间节点、叶节点1、叶节点2和叶节点3以及各节点之间的连接关系),以及包括根节点的分裂信息1,以及包括叶节点1的权值分片11(假设为1),叶节点2的权值分片21(假设为2),叶节点3的权值分片31(假设为2)。甲方的中间节点为空节点,不具有分裂信息。

乙方拥有的部分树模型包括:完整树模型的树形结构(即根节点、中间节点、叶节点1、叶节点2和叶节点3以及各节点之间的连接关系),以及包括中间节点的分裂信息2,以及包括叶节点1的权值分片12(假设为2),叶节点2的权值分片22(假设为3),叶节点3的权值分片32(假设为2)。乙方的中间节点为空节点,不具有分裂信息。

由该例可以看出,甲方具有的分裂信息1和乙方具有的分裂信息2可以构成该完整树模型的所有分裂信息。甲方具有的叶节点1的权值分片11(即1)和乙方具有的叶节点1的权值分片12(即2)之和为完整树模型的叶节点1的权值(即3)。甲方具有的叶节点2的权值分片21(即2)和乙方具有的叶节点1的权值分片22(即3)之和为完整树模型的叶节点1的权值(即5)。甲方具有的叶节点3的权值分片31(即2)和乙方具有的叶节点1的权值分片32(即2)之和为完整树模型的叶节点1的权值(即4)。

需要说明的是,在本说明书中,叶节点的权值为完整决策树中的叶节点对应的权值。

叶节点的权值分片,为完整决策树中的叶节点的权值的分片,或者说叶节点权值分片为完整决策树中的叶节点权值的一部分。

叶节点对应的分类权值,为完整决策树中的叶节点的权值、每方持有的部分树模型的权值之和。

此外,在本说明书实施例中,两方各自持有目标对象的特征,每一方持有的目标对象的特征与该方持有的分裂信息匹配,每一方持有的目标对象的特征不完全相同。

例如,仍以图1为例继续说明。

例如,甲方拥有的根节点的分裂信息为:年龄大于35岁沿左子树向下遍历,年两小于或等于35岁沿右子树向下遍历,则甲方拥有的目标对象的特征包括用户年龄。

比如,乙方拥有的中间节点的分裂信息为:月收入大于1万的沿左子树向下遍历,月收入小于或等于1万沿右子树向下遍历,则乙方拥有的目标对象的特征包括:用户月收入。

在本说明书实施例中,在基于上述两方联合分类的组网架构下,当要预测目标对象的分类结果时,需要甲方将甲方持有的目标对象的特征输入至甲方持有的部分树模型,该部分树模型输出预测结果(即若干与目标对象匹配的第一疑似叶节点以及各第一疑似叶节点的权值分片),以及需要乙方将乙方持有的目标对象的特征输入至乙方持有的部分树模型,该部分树模型输出预测结果(即若干与目标对象匹配的第二疑似叶节点以及各第二疑似叶节点的权值分片)。甲、乙两方需要共享各自部分树模型输出的预测结果,并基于两方的预测结果,确定出目标对象的分类结果。

在传统的两方联合分类方法中,甲、乙两方在共享各自的预测结果时,通常采用明文的方式共享各自的预测结果,或者采用对方公钥加密的方式来共享预测结果,使得两方可以直接获取到对方的预测结果。然而,从预测结果可以反推出目标对象的隐私数据,所以当两方为恶意方时,双方可以基于对方的预测结果反推出对方目标对象的隐私数据,造成目标对象的隐私数据的泄露。

有鉴于此,本说明书提出一种基于树模型的两方联合分类方法,两方在得到与各自持有的目标对象匹配的疑似叶节点后,可以根据双方的疑似叶节点确定为该目标对象预测的目标叶节点,并基于采用双方各自公钥同态加密得到的双方目标叶节点的权值分片的密文,确定出该目标叶节点对应的分类权值,并基于目标叶节点和目标叶节点对应的分类权值,确定出目标对象的分类结果。

在本说明书中,一方面,在共享各方的疑似叶节点时,双方可以将疑似叶节点进行哈希值,各方均基于两方的疑似节点的哈希值,确定出共有疑似节点,并将共有疑似节点确定出目标节点目标叶节点。由于各方是基于两方均收到的是对方疑似叶节点的哈希值来确定目标叶节点,而非两方疑似叶节点的真实信息,所以各方均无法获得对方的疑似叶节点,所以可以在实现目标叶节点确定的同时,保证双方对的叶节点信息的安全性,进而保证双方的隐私数据。

另一方面,各方将采用自身公钥对目标叶节点的本方权值分片进行同态加密后的密文发送给对方,由于对方并不具有本方的私钥,所以对方无法对本方权值分片进行解密来直接获取本方权值分片,并且双方可以基于两方的权值分片的密文确定出目标叶节点的分类权值,所以在实现目标叶节点分类权值的确定的同时,还保障了各方权值分片的安全,进而保证了目标对象的隐私数据。

下面详细介绍下本说明书提供的基于树模型的两方联合分类方法。

参见图2,图2是本说明书一示例性实施例示出的一种基于树模型的两方联合分类方法的流程图,各方持有部分树模型,各方持有的部分树模型包括:经双方联合训练得到的完整树模型的树形结构,以及该完整树模型的部分分裂信息以及各叶节点的权值分片;各方持有的目标对象的特征不完全相同,该方法可应用在两方中的任一方,该方法可包括如下所示步骤。

步骤202:本方将本方持有的目标对象的特征输入本方的部分树模型,预测得到与所述目标对象匹配的若干第一疑似叶节点。

在实现时,本方可将本方持有的目标对象的特征输入本方的部分树模型,以由所述本方的部分树模型遍历该部分树模型上的节点,若遍历得到的节点具有分裂信息,则沿着该特征和分裂信息所指示遍历方向继续遍历下层节点,若遍历得到的节点不具有分裂信息,则沿着该遍历得到的节点所连接的所有下层节点的方向继续遍历节点,直至遍历得到叶节点为止。

例如,假设,如图1所示,假设本方为图1中的甲方,对方为图1中的乙方。

假设本方持有的部分树模型为甲方持有的部分树模型。

在本方持有的部分树模型接收到本方持有的目标对象的特征后,可先遍历得到根节点。由于在本例中,该根节点具有分裂信息,所以可沿着该根节点的分裂信息和该特征所指示的遍历方向继续遍历下层节点。比如,若该特征符合根节点的分裂信息,则沿着左子树方向遍历下层节点,若该特征不符合根节点的分裂信息,则沿着右子树方向遍历下层节点。

在本例中,假设该特征不符合根节点的分裂信息,则遍历右子树,可遍历得到中间节点。

由于在本例中,本方没有持有中间节点的分裂信息,则可沿着中间节点连接的所有下层节点的方向继续遍历节点。比如,可沿着左子树遍历得到叶节点1,以及沿着右子树遍历得到叶节点2。

然后,本方持有的部分树模型可输出叶节点1和叶节点2,叶节点1和叶节点2即为第一疑似叶节点。

同理,对方可将对方持有的目标对象的特征输入对方的部分树模型,预测得到与所述目标对象匹配的若干第二疑似叶节点。

需要说明的是,得到第二疑似叶节点的方式与上述得到第一疑似叶节点的方式相同,这里不再赘述。

步骤204:根据所述若干第一疑似叶节点和对方预测得到的若干第二疑似叶节点,确定为所述目标对象预测得到的目标叶节点。

在本说明书实施例中,为了保护隐私数据,使得双方在不获知对方的疑似叶节点信息的前提下,还能联合确定出目标叶节点,双方可采用如下方式来实现步骤204。

在实现时,本方和对方分别配置了哈希运算,本方和对方配置的哈希运算的满足如下要求:

同一数据先进行本方的哈希运算再进行对方的哈希运算得到的二次哈希值、与该数据先进行对方哈希运算再进行本方哈希运算得到的二次哈希值相同。

基于这两方哈希运算的特性,本说明书可通过两方交替哈希各自的疑似叶节点得到两方疑似叶节点的二次哈希值,各方基于两方疑似叶节点的二次哈希值,来确定共有的二次哈希值,并将共有的二次哈希值所指示的疑似叶节点作为目标叶节点。

下面具体介绍下这种实现方式:

本方可对得到的各第一疑似叶节点进行哈希运算,得到各第一疑似叶节点的哈希值,并将得到的各第一疑似叶节点的哈希值发送给对方。此外,对方可对各第二疑似叶节点进行哈希运算,得到各第二疑似叶节点的哈希值,并将得到的各第二疑似叶节点的哈希值发送给本方。

本方在接收到对方发送的各第二疑似叶节点的哈希值时,对各第二疑似叶节点进行二次哈希,得到各第二叶疑似叶节点的二次哈希值,并将各第二疑似叶节点的二次哈希值发送给对方。同理,对方在接收到本方发送的各第一疑似叶节点的哈希值时,对各第一疑似叶节点进行二次哈希,得到各第一叶疑似叶节点的二次哈希值,并将各第一疑似叶节点的二次哈希值发送给本方。

本方在接收到第一疑似叶节点的二次哈希值后,可基于对方发送的各第一疑似叶节点的二次哈希值、以及本方得到的所述各第二疑似节点的二次哈希值,确定为所述目标对象预测得到的目标叶节点。

例如,本方在对方发送的各第一疑似叶节点的二次哈希值、以及本方得到的各第二疑似叶节点的二次哈希值中,确定两方共有的二次哈希值,并将该共有的二次哈希值对应的疑似叶节点作为目标叶节点。

再比如,本方可对由第一疑似叶节点的二次哈希值构成的集合、以及由各第二疑似叶节点的二次哈希值构成的集合求交集,并将交集中的二次哈希值对应的疑似叶节点作为目标叶节点。

这里只是对“基于对方发送的第一疑似节点的二次哈希值、以及本方得到的所述第二疑似节点的二次哈希值,确定为所述目标对象预测得到的目标叶节点”的实现方式进行示例性地说明,不对其进行具体地限定。

同理,对方在接收到第二疑似叶节点的二次哈希值后,可基于各第一疑似叶节点的二次哈希值、以及各第二疑似叶节点的二次哈希值,确定为目标对象预测得到的目标叶节点。

由上述描述可知,一方面,每一方收到的是对方疑似叶节点的哈希值或者二次哈希值,而非对方疑似叶节点,所以可以保护对方疑似叶节点的数据安全,进行保护目标对象隐私数据的安全。

另一方面,每一方通过两方疑似叶节点的二次哈希值,来确定共有的疑似叶节点作为目标叶节点,从而完成了为目标对象预测目标叶节点的操作。

步骤206:基于本方确定出的所述目标叶节点的本方权值分片的密文、以及对方发送的该目标叶节点的对方权值分片的密文,确定目标叶节点对应的分类权值;其中,所述本方权值分片的密文由本方采用本方公钥对该目标叶节点的本方权值分片进行同态加密得到。

在本说明书实施例中,一方面,各方将采用自身公钥对本方权值分片进行同态加密后的密文发送给对方,由于对方并不具有本方的私钥,所以对方无法对权值分片进行解密来直接获取权值分片,所以保障了权值分片的安全,进而保证了目标对象的隐私数据。

另一方面,每一方在基于双方权值分片的密文确定目标叶节点的分类权值时,各方可对对方发送的权值分片的密文再进行秘密分片,并对得到的子分片再进行组合,从而得到目标叶节点对应的分类权值。

下面通过“目标叶节点的两方权值分片的密文确定”,以及“基于两方密文确定目标叶节点对应的分类权值”两方面对步骤206进行详细地说明。

1)目标叶节点的两方权值分片的密文确定

在一种可选的实现方式中,本方可以在得到各第一疑似叶节点时,采用本方公钥对各第一疑似叶节点进行同态加密,并将各第一疑似叶节点对应的密文随同第一疑似叶节点的哈希值发送给对方。同理,对方可以在得到各第二疑似叶节点时,采用对方公钥对各第二疑似叶节点进行同态加密,并将各第二疑似叶节点对应的密文随同第二疑似叶节点的哈希值发送给本方。

在本方确定出目标叶节点后,可以在各第一疑似叶节点的密文中,确定目标叶节点的密文(即采用本方公钥对目标叶节点的本方权值分片进行同态加密得到的密文),以及在第二疑似叶节点中,确定目标叶节点的密文(即采用对方公钥对目标叶节点的对方权值分片进行同态加密得到的密文)。

在另一种可选的实现方式中,本方可以在确定出目标叶节点后,采用本方公钥对该目标叶节点的本方权值分片进行同态加密,并将加密得到的本方权值分片的密文发送给对方。同理,对方可以在确定出目标叶节点后,采用对方公钥对该目标叶节点的对方权值分片进行同态加密,并将加密得到的对方权值分片的密文发送给本方。

2)基于两方密文确定目标叶节点对应的分类权值

下面通过步骤a至步骤d对“基于两方密文确定目标叶节点对应的分类权值”的实现方式进行详细地说明。

步骤a:本方对方发送的目标叶节点的对方权值分片的密文进行拆分,得到对方权值分片的第一子分片的密文和第二子分片的密文,并将所述第二子分片的密文发送给对方;其中,本方持有所述对方权值分片的第一子分片。

步骤b:本方对对方发送的本方权值分片的第二子分片的密文进行解密,得到本方权值分片的第二子分片。

在实现时,本方可生成一个随机数,并将该随机数作为对方权值分片的第一子分片。

此外,本方和对方可以共享各自的公钥。本方可采用对方公钥对该随机数进行同态加密,得到对方权值分片的第一子分片的密文。

然后,本方可基于述对方权值分片的密文、以及对方权值分片的第一子分片的密文,确定所述对方权值分片的第二子分片的密文。

比如,本方可用对方权值分片的密文减去对方权值分片的第一子分片的密文,得到对方权值分片的第二子分片的密文。

然后,本方可将对方权值分片的第二子分片的密文发送给对方,对方可以采用对方私钥对该对方权值分片的第二子分片的密文进行解密,得到对方权值分片的第二子分片。

同理,对方也可生成一个随机数,作为本方权值分片的第一子分片。然后,对方可采用本方公钥对该随机数进行同态加密,得到本方权值分片的第一子分片的密文。然后,对方可基于本方权值分片的密文,以及本方权值分片的第一子分片的密文,确定本方权值分片的第二子分片的密文。然后,对方可将本方权值分片的第二子分片的密文发送给本方。

本方对对方发送的本方权值分片的第二子分片的密文进行解密,得到本方权值分片的第二子分片。

至此,本方拥有对方权值分片的第一子分片,本方权值分片的第二子分片。对方拥有本方权值分片的第一子分片,对方权值分片的第二子分片。

例如,仍以图1中的例子为例,假设叶节点2为目标叶节点。

甲方持有的叶节点2的权值分片为2,采用甲方公钥对叶节点2的权值分片进行同态加密得到的密文为[2]a。

乙方持有的叶节点2的权值分片为3,采用甲方公钥对叶节点2的权值分片进行同态加密得到的密文为[3]b。

甲乙两方共享了[2]a和[3]b。

对于甲方来说,甲方可生成一个随机数1,作为乙方权值分片(即3)的第一子分片,并采用乙方公钥对随机数1进行同态加密得到[1]b(即乙方权值分片的第一子分片的密文)。然后,甲方可采用乙方权值分片的密文(即[3]b)减去乙方权值分片的第一子分片的密文(即[1]b),得到乙方权值分片的第二子分片的密文(即[2]b)并发送给乙方。乙方可采用乙方私钥对[2]b进行解密,得到2(即乙方权值分片的第二子分片)。

对于乙方来说,乙方可生成一个随机数0.5,作为甲方权值分片(即2)的第一子分片,并采用甲方公钥对随机数0.5进行同态加密得到[0.5]a(即甲方权值分片的第一子分片的密文)。然后,乙方可采用甲方权值分片的密文(即[2]a)减去甲方权值分片的第一子分片的密文(即[0.5]a),得到甲方权值分片的第二子分片的密文(即[1.5]a)并发送给甲方。甲方可采用甲方私钥对[1.5]a进行解密,得到1.5(即甲方权值分片的第二子分片)。

步骤c:本方基于对方权值分片的第一子分片、本方权值分片的第二子分片、以及预设的本方的部分树模型的权值,确定本方子权值。

步骤d:本方基于双方子权值,得到所述目标叶节点对应的分类权值。

其中,目标叶节点对应的分类权值为目标叶节点的权值、与本方的部分树模型的权值、对方的部分树模型的权值之和。

在本说明书可通过如下方式来确定目标叶节点对应的分类权值。

由上述描述可知,本方拥有对方权值分片的第一子分片,本方权值分片的第二子分片,并且本方还预配置了本方的部分树模型的权值。所以,本方可对对方权值分片的第一子分片,本方权值分片的第二子分片、以及本方的部分树模型的权值求和,得到本方子权值。

同理,对方拥有本方权值分片的第一子分片,对方权值分片的第二子分片,并且本方还预配置了对方的部分树模型的权值。所以,对方可对本方权值分片的第一子分片,对方权值分片的第二子分片、以及对方的部分树模型的权值求和,得到对方子权值。

本方可将本方子权值发送给对方,对方可将对方子权值发送给本方。

本方可基于双方子权值,确定该目标叶节点对应的分类权值。比如,本方可对双方子权值进行求和运算,得到目标叶节点的权值。或者,本方还可对双方子权值进行加权求和运算,得到目标叶节点的权值,这里只是对目标叶节点的权值的确定进行示例性地说明,不对其进行具体地限定。

同理,对方也可基于双方子权值,确定该目标叶节点的权值。具体确定方式可参见上文描述,这里不再赘述。

仍以步骤a和步骤b下的例子为例进行说明。

假设,甲方的部分树模型的权值为5,乙方的部分树模型的权值为6。

由上述例子可知,甲方拥有乙方权值分片的第一子分片(即1)、甲方权值分片的第二子分片(即1.5),以及甲方的部分树模型的权值(即5)。甲方可对这三个值求和,得到甲方子权值(即7.5)。

乙方拥有甲方权值分片的第一子分片(即0.5)、乙方权值分片的第二子分片(即2),以及乙方的部分树模型的权值(即6)。乙方可对这三个值求和,得到乙方子权值(即8.5)。

甲、乙两方可交互自己的子权值。

对于甲方来说,甲方可对甲方子权值和乙方子权值求和,得到叶节点2对应的分类权值(即16)。

步骤208:根据所述目标叶节点和所述分类权值确定所述目标对象的分类结果。

目标对象的分类结果包括:目标对象所属的类别,以及属于该类别的分值。

在本说明书实施例中,本方可将目标叶节点所指示的类别作为目标对象所属的类别。

此外,本方还可基于该目标叶节点的分类权值,确定目标对象所属类别的分值。

例如,本方可基于如下公式来计算目标对象所属类别的分值。

其中,score为目标对象所属类别的分值;

pred为目标叶节点的分类权值。

由上述描述可知,第一方面,在共享各方的疑似叶节点时,双方可以将疑似叶节点进行哈希值,各方均基于两方的疑似节点的哈希值,确定出目标叶节点。由于各方均收到的是对方疑似叶节点的哈希值,而非对方疑似叶节点的真实信息,所以可以保证双方对的叶节点信息的安全性,进而保证双方的隐私数据。

此外,由于将两方的疑似叶节点进行双方交替哈希,使得每一方通过两方疑似叶节点的二次哈希值,来确定共有二次哈希值所指示的疑似叶节点,作为目标叶节点,从而完成了在不获知对方疑似叶节点真实信息的前提下,确定出了共有的目标叶节点。

第二方面,各方将采用自身公钥对本方权值分片进行同态加密后的密文发送给对方,由于对方并不具有本方的私钥,所以对方无法对权值分片进行解密来直接获取权值分片,所以保障了权值分片的安全,进而保证了目标对象的隐私数据。

此外,每一方在基于双方权值分片的密文确定目标叶节点的分类权值时,各方对对方发送的权值分片的密文再进行秘密分片,并对得到的子分片再进行组合,从而得到目标叶节点的分类权值,从而实现了在不获知对方真实权值分片的情况下,还能确定出目标叶节点的分类权值。

下面通过具体地例子,并结合图1和图3,对本说明书提供的基于决策树的两方联合分类方法进行详细地说明。

甲方和乙方上配置的部分树模型如图1所示。

具体地,甲方拥有的部分树模型包括:完整树模型的树形结构(即根节点、中间节点、叶节点1、叶节点2和叶节点3以及各节点之间的连接关系),以及包括根节点的分裂信息1,以及包括叶节点1的权值分片11(假设为1),叶节点2的权值分片21(假设为2),叶节点3的权值分片31(假设为2)。甲方的中间节点为空节点,不具有分裂信息。

乙方拥有的部分树模型包括:完整树模型的树形结构(即根节点、中间节点、叶节点1、叶节点2和叶节点3以及各节点之间的连接关系),以及包括中间节点的分裂信息2,以及包括叶节点1的权值分片12(假设为2),叶节点2的权值分片22(假设为3),叶节点3的权值分片32(假设为2)。乙方的中间节点为空节点,不具有分裂信息。

此外,甲方还配置目标对象的特征,以及甲方的部分树模型的权值为6。

乙方还配置了目标对象的特征,以及乙方的部分树模型的权值为6。

此外,甲、乙两方交互了各自的公钥。即甲方具有乙方的公钥,乙方具有甲方的公钥。

参见图3,图3是本说明书一示例性实施例示出的一种基于树模型的两方联合分类方法的交互图。该方法可包括如下所示步骤。

步骤301:甲方将甲方持有的目标对象的特征输入至甲方部分树模型,预测得到与目标对象匹配的叶节点1,叶节点2。

在甲方持有的部分树模型接收到甲方持有的目标对象的特征后,可先遍历得到根节点。由于在本例中,该根节点具有分裂信息,所以可沿着该根节点的分裂信息和该特征所指示的遍历方向继续遍历下层节点。比如,若该特征符合根节点的分裂信息,则沿着左子树方向遍历下层节点,若该特征不符合根节点的分裂信息,则沿着右子树方向遍历下层节点。

在本例中,假设该特征符合根节点的分裂信息,则遍历左子树,可遍历得到中间节点。

由于在本例中,甲方没有持有中间节点的分裂信息,则可沿着中间节点连接的所有下层节点的方向继续遍历节点。比如,可沿着左子树遍历得到叶节点1,以及沿着右子树遍历得到叶节点2。

然后,甲方持有的部分树模型可输出叶节点1和叶节点2。

步骤302:乙方将乙方持有的目标对象的特征输入至乙方部分树模型,预测得到与目标对象匹配的叶节点2、叶节点3。

在乙方持有的部分树模型接收到乙方持有的目标对象的特征后,可先遍历得到根节点。由于在本例中,该乙方的根节点不具有分裂信息,所以可沿着该根节点连接的所有下层节点方向进行遍历。即可沿着根节点的右子树遍历,得到叶节点3,以及可沿着根节点的左子树遍历得到中间节点。

由于乙方中间节点具有分裂信息,所以可沿着该中间节点的分裂信息和该特征所指示的遍历方向继续遍历下层节点。比如,若该特征符合根节点的分裂信息,则沿着左子树方向遍历下层节点,若该特征不符合根节点的分裂信息,则沿着右子树方向遍历下层节点。

假设在本例中,该特征不符合中间节点的分裂信息,则沿该中间节点的右子树向下遍历,得到叶节点2。

乙方的部分树模型可输出叶节点3、叶节点2。

需要说明的是,这里不对步骤301和步骤302的先后执行顺序进行限定。

步骤303:甲方分别对叶节点1、叶节点2进行哈希得到叶节点1的哈希值、叶节点2的哈希值,以及采用甲方公钥分别对叶节点1的甲方权值分片、叶节点2的甲方权值分片进行同态加密,得到叶节点1的甲方权值分片的密文[1]a、以及叶节点2的甲方权值分片的密文[2]a。

步骤304:乙方分别对叶节点3、叶节点2进行哈希得到叶节点3的哈希值、叶节点2的哈希值,以及采用乙方公钥分别对叶节点3的乙方权值分片、叶节点2的乙方权值分片进行同态加密,得到叶节点3的乙方权值分片的密文[2]b、以及叶节点2的乙方权值分片的密文[3]b。

需要说明的是,这里不对步骤303和步骤304的先后执行顺序进行限定。

步骤305:甲方向乙方发送叶节点1的哈希值、叶节点2的哈希值、叶节点1的甲方权值分片的密文[1]a、叶节点2的甲方权值分片的密文[2]a。

步骤306:乙方向甲方发送叶节点3的哈希值、叶节点2的哈希值、叶节点3的乙方权值分片的密文[2]b、叶节点2的乙方权值分片的密文[3]b。

需要说明的是,这里不对步骤305和步骤306的先后执行顺序进行限定。

步骤307:甲方分别对叶节点3的哈希值、叶节点2的哈希值进行二次哈希得到叶节点3的二次哈希值和叶节点2的二次哈希值。

步骤308:乙方分别对叶节点1的哈希值、叶节点2的哈希值进行二次哈希得到叶节点1的二次哈希值和叶节点2的二次哈希值。

需要说明的是,这里不对步骤307和步骤308的先后执行顺序进行限定。

步骤309:甲方向乙方发送叶节点3的二次哈希值和叶节点2的二次哈希值。

步骤310:乙方向甲方发送叶节点1的二次哈希值和叶节点2的二次哈希值。

需要说明的是,这里不对步骤309和步骤310的先后执行顺序进行限定。

步骤311:甲方确定由叶节点3的二次哈希值、叶节点2的二次哈希值所构成的第一集合、与由叶节点1的二次哈希值和叶节点2的二次哈希值构成的第二集合的交集(即叶节点2的二次哈希值),并将叶节点2作为目标叶节点。

步骤312:乙方确定由叶节点3的二次哈希值、叶节点2的二次哈希值所构成的第一集合、与由叶节点1的二次哈希值和叶节点2的二次哈希值构成的第二集合的交集(即叶节点2的二次哈希值),并将叶节点2作为目标叶节点。

需要说明的是,这里不对步骤311和步骤312的先后执行顺序进行限定。

步骤313:甲方生成随机数(假设为1),作为叶节点2的乙方权值分片的第一子分片,并采用乙方公钥对1进行同态加密得到[1]b,然后采用叶节点2的乙方权值分片的密文[3]b减去[1]b,得到乙方权值分片的第二子分片的密文[2]b。

步骤314:乙方生成随机数(假设为0.5),作为叶节点2的甲方权值分片的第一子分片,并采用甲方公钥对0.5进行同态加密得到[0.5]a,然后采用叶节点2的甲方权值分片的密文[2]a减去[0.5]a,得到甲方权值分片的第二子分片的密文[1.5]a。

需要说明的是,这里不对步骤313和步骤314的先后执行顺序进行限定。

步骤315:甲方向乙方发送乙方权值分片的第二子分片的密文[2]b。

步骤316:乙方向甲方发送甲方权值分片的第二子分片的密文[1.5]a。

需要说明的是,这里不对步骤315和步骤316的先后执行顺序进行限定。

步骤317:甲方采用甲方私钥对甲方权值分片的第二子分片的密文[1.5]a进行解密,得到甲方权值分片的第二子分片1.5,并计算甲方权值分片的第二子分片1.5、乙方权值分片的第一子分片1、以及甲方部分树模型权值5之和,得到甲方子权值7.5。

步骤318:乙方采用乙方私钥对乙方权值分片的第二子分片的密文[2]b进行解密,得到乙方权值分片的第二子分片2,并计算乙方权值分片的第二子分片2、甲方权值分片的第一子分片0.5、以及乙方部分树模型权值6之和,得到乙方子权值8.5。

需要说明的是,这里不对步骤317和步骤318的先后执行顺序进行限定。

步骤319:甲方向乙方发送甲方子权值7.5。

步骤320:乙方向甲方发送乙方子权值8.5。

需要说明的是,这里不对步骤319和步骤320的先后执行顺序进行限定。

步骤321:甲方计算甲方子权值7.5和乙方子权值8.5之和,作为叶节点2对应的分类权值16,并基于分类权值16计算得分,将叶节点2指示的类别作为目标对象的所属类别,将计算出的得分作为目标对象属于该类别的得分。

步骤322:乙方计算甲方子权值7.5和乙方子权值8.5之和,作为叶节点2对应的分类权值16,并基于分类权值16计算得分,将叶节点2指示的类别作为目标对象的所属类别,将计算出的得分作为目标对象属于该类别的得分。

需要说明的是,这里不对步骤321和步骤322的先后执行顺序进行限定。

至此完成图3的介绍。

与上述基于树模型的两方联合分类方法实施例相对应,本说明书还提供了基于树模型的两方联合分类装置的实施例。

本说明书的基于树模型的两方联合分类装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书的基于树模型的两方联合分类装置所在电子设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。

参见图5,图5是本说明书一示例性实施例示出的一种基于树模型的两方联合分类装置的框图。

各方持有部分树模型,各方持有的部分树模型包括:经双方联合训练得到的完整树模型的树形结构,以及该完整树模型的部分分裂信息以及各叶节点的权值分片;各方持有的目标对象的特征不完全相同,所述装置应用于任一方,包括:

预测模块501,用于将本方持有的目标对象的特征输入本方的部分树模型,预测得到与所述目标对象匹配的若干第一疑似叶节点;

节点确定模块502,用于根据所述若干第一疑似叶节点和对方预测得到的若干第二疑似叶节点,确定为所述目标对象预测得到的目标叶节点;

权值确定模块503,用于基于本方确定出的所述目标叶节点的本方权值分片的密文、以及对方发送的该目标叶节点的对方权值分片的密文,确定目标叶节点对应的分类权值;其中,所述本方权值分片的密文由本方采用本方公钥对该目标叶节点的本方权值分片进行同态加密得到;

分类结果确定模块504,用于根据所述目标叶节点和所述分类权值确定所述目标对象的分类结果。

可选的,所述节点确定模块502,在根据所述若干第一疑似叶节点和对方预测得到的若干第二疑似叶节点,确定为所述目标对象预测得到的目标叶节点时,用于对各第一疑似叶节点进行哈希运算,得到各第一疑似叶节点的哈希值并发送给对方;对对方发送的各第二疑似叶节点的哈希值进行二次哈希,得到各第二疑似叶节点的二次哈希值并发送给对方;基于对方发送的各第一疑似节点的二次哈希值、以及本方得到的所述各第二疑似节点的二次哈希值,确定为所述目标对象预测得到的目标叶节点。

可选的,所述节点确定模块502,在基于对方发送的各第一疑似节点的二次哈希值、以及本方得到的所述各第二疑似节点的二次哈希值,确定为所述目标对象预测得到的目标叶节点时,用于在对方发送的各第一疑似叶节点的二次哈希值、以及本方得到的各第二疑似叶节点的二次哈希值中,确定两方共有的二次哈希值,并将该共有的二次哈希值对应的疑似叶节点作为目标叶节点。

可选的,所述权值确定模块503,在基于本方确定出的所述目标叶节点的本方权值分片的密文、以及对方发送的该目标叶节点的对方权值分片的密文,确定目标叶节点对应的分类权值时,用于对对方发送的目标叶节点的对方权值分片的密文进行拆分,得到对方权值分片的第一子分片的密文和第二子分片的密文,并将所述第二子分片的密文发送给对方;其中,本方持有所述对方权值分片的第一子分片;对对方发送的本方权值分片的第二子分片的密文进行解密,得到本方权值分片的第二子分片;基于对方权值分片的第一子分片、本方权值分片的第二子分片、以及预设的本方的部分树模型的权值,确定本方子权值;基于双方子权值,得到所述目标叶节点对应的分类权值。

可选的,所述权值确定模块503,在对对方发送的目标叶节点的对方权值分片的密文进行拆分时,用于生成随机数,作为所述对方权值分片的第一子分片;采用对方公钥对所述随机数进行同态加密,得到对方权值分片的第一子分片的密文;基于所述对方权值分片的密文、以及对方权值分片的第一子分片的密文,确定所述对方权值分片的第二子分片的密文。

可选的,所述预测模块501,在将本方持有的目标对象的特征输入本方的部分树模型,预测得到与所述目标对象匹配的若干第一疑似叶节点时,用于将本方持有的目标对象的特征输入本方的部分树模型,以由所述本方的部分树模型遍历该部分树模型上的节点,若遍历得到的节点具有分裂信息,则沿着该特征和分裂信息所指示遍历方向继续遍历下层节点,若遍历得到的节点不具有分裂信息,则沿着该遍历得到的节点所连接的所有下层节点的方向继续遍历节点,直至遍历得到叶节点为止。

可选的,所述树模型为xgb模型。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1