数据预测模型的创建与预测方法、设备及存储介质与流程

文档序号:30839067发布日期:2022-07-22 23:53阅读:152来源:国知局
数据预测模型的创建与预测方法、设备及存储介质与流程

1.本技术涉及联邦学习技术领域,尤其涉及一种数据预测模型的创建与预测方法、设备及存储介质。


背景技术:

2.联邦机器学习又称为联邦学习,能有效帮助多个机构在满足用户隐私保护、数据安全的前提下,进行数据使用和机器学习建模。根据数据和任务特点的不同可以分为纵向联邦学习、横向联邦学习以及联邦迁移学习。
3.纵向联邦学习是在两个数据集的用户重叠较多而用户特征重叠较少的情况下,把数据集按照纵向即特征维度切分,取出双方用户相同而用户特征不完全相同的那部分数据进行模型训练。以信贷风控领域为例,基于不同机构,如银行、电商等机构的用户数据样本,可建立对用户偿还贷款能力的预测模型,其中银行机构为guest方,即业务发起方或模型使用方,电商机构为host方,即业务参与方或用户数据特征补充方。
4.guest方基于现有模型创建方法构建的预测模型,存在泄漏host方数据特征的风险,主要是guest方可结合叶子节点的权重推断样本属于哪个叶子节点,进而从叶子节点推断出所有样本分布,得到每个节点样本集合的信息。当样本特征分布不均衡时,例如大多数样本“不存在违约行为”的不均衡分布,极容易推测出样本特征,不符合保护host方数据隐私的要求。因此,亟需对预测模型的创建方法进行优化。


技术实现要素:

5.本技术实施例提供一种数据预测模型的创建与预测方法、设备及存储介质,在保护参与方数据隐私的情况下,实现模型的可解释性。
6.本技术实施例的第一方面提供一种数据预测模型的创建方法,应用于参与方设备,所述方法包括:接收来自发起方设备的加密模型迭代参数以及第一加密聚合值;所述加密模型迭代参数用于指示第i颗模型的样本标签预测值与真实值的差值的加密导数,所述第i颗模型是经过i次模型迭代的数据预测模型,所述i为正整数;所述第一加密聚合值用于指示采用样本的发起方特征划分当前节点的样本集合的划分情况;
7.根据所述加密模型迭代参数、所述样本集合以及发起方公钥生成第二加密聚合值,所述第二加密聚合值用于指示采用样本的参与方特征划分当前节点的样本集合的划分情况;
8.根据解密后的所述第一加密聚合值确定所述发起方特征划分所述样本集合的第一信息增益集合;根据解密后的所述第二加密聚合值确定所述参与方特征划分所述样本集合的第二信息增益集合;所述第一信息增益集合和所述第二信息增益集合均包括至少一个信息增益;
9.若所述第一信息增益集合和所述第二信息增益集合中的最大信息增益小于或等于预设阈值,确定所述当前节点的子节点为第i+1次模型迭代的数据预测模型的叶子节点,
在确定所述当前节点的权重信息后,将所述权重信息存储在所述参与方设备;所述权重信息用于指示在i+1次模型训练后所述当前节点样本的标签预测值。
10.在本技术第一方面的一个可选实施例中,所述根据所述加密模型迭代参数、所述样本集合以及发起方公钥生成第二加密聚合值,包括:
11.根据所述加密模型迭代参数、所述样本集合以及所述发起方公钥,生成第三加密聚合值;所述第三加密聚合值用于指示采用样本的参与方特征划分当前节点的样本集合的划分情况;
12.根据所述参与方设备生成的随机数以及所述发起方公钥生成加密随机数;
13.通过对所述第三加密聚合值添加所述加密随机数,得到所述第二加密聚合值。
14.在本技术第一方面的一个可选实施例中,所述根据解密后的所述第二加密聚合值确定所述参与方特征划分所述样本集合的第二信息增益集合之前,所述方法还包括:
15.向所述发起方设备发送所述第二加密聚合值,所述第二加密聚合值包括加密随机数;
16.接收所述发起方设备返回的包含随机数的第二聚合值;
17.在剔除所述随机数后,得到第三聚合值,所述第三聚合值为解密后的所述第三加密聚合值,所述第三聚合值包括采用所述参与方特征划分所述样本集合后子样本集合中样本标签预测值与真实值的差值的导数。
18.在本技术第一方面的一个可选实施例中,所述根据解密后的所述第一加密聚合值确定所述发起方特征划分所述样本集合的第一信息增益集合之前,所述方法还包括:
19.根据所述参与方私钥对所述第一加密聚合值进行解密,得到第一聚合值;
20.所述第一聚合值为解密后的所述第一加密聚合值,所述第一聚合值包括采用所述发起方特征划分所述样本集合后子样本集合中样本标签预测值与真实值的差值的导数。
21.在本技术第一方面的一个可选实施例中,所述方法还包括:
22.若所述第一信息增益集合和所述第二信息增益集合中的最大信息增益大于所述预设阈值,将所述最大信息增益对应的划分特征作为所述当前节点的目标划分特征,所述目标划分特征为所述发起方特征或所述参与方特征。
23.在本技术第一方面的一个可选实施例中,所述方法还包括:
24.若所述当前节点的目标划分特征为所述发起方特征,向所述发起方设备发送第一节点划分信息,所述第一节点划分信息包括所述发起方特征的编号以及特征阈值。
25.在本技术第一方面的一个可选实施例中,所述方法还包括:
26.若所述当前节点的目标划分特征为所述参与方特征,根据所述参与方特征的编号以及特征阈值,更新所述当前节点的子节点的样本集合,并生成所述当前节点的子节点的加密样本集合;
27.向所述发起方设备发送第二节点划分信息,所述第二节点划分信息包括所述参与方特征的编号以及所述当前节点的子节点的加密样本集合。
28.本技术实施例的第二方面提供一种数据预测模型的创建方法,应用于发起方设备,所述方法包括:
29.根据模型迭代参数、发起方设备已知的当前节点的样本集合以及参与方公钥,生成第一加密聚合值;所述模型迭代参数用于指示第i颗模型的样本标签预测值与真实值的
差值的加密导数,所述第i颗模型是经过i次模型迭代的数据预测模型,所述i为正整数;所述第一加密聚合值用于指示采用样本的发起方特征划分所述加密样本集合的划分情况;
30.根据发起方公钥加密所述模型迭代参数,得到加密模型迭代参数;
31.向所述参与方设备发送所述加密模型迭代参数以及所述第一加密聚合值。
32.在本技术第二方面的一个可选实施例中,所述方法还包括:
33.接收来自所述参与方设备的第二加密聚合值,所述第二加密聚合值用于指示采用样本的参与方特征划分所述当前节点的样本集合的划分情况;
34.根据发起方私钥对所述第二加密聚合值进行解密,得到包含随机数的第二聚合值,所述随机数是所述参与方设备生成的;
35.向所述参与方设备发送包含所述随机数的第二聚合值。
36.在本技术第二方面的一个可选实施例中,所述方法还包括:
37.若所述当前节点的目标划分特征为所述发起方特征,接收来自所述参与方设备的第一节点划分信息,所述第一节点划分信息包括所述发起方特征的编号以及特征阈值;
38.根据所述第一节点划分信息以及所述当前节点的加密样本集合,更新所述当前节点的子节点的加密样本集合;
39.向所述参与方设备发送所述当前节点的子节点的加密样本集合。
40.在本技术第二方面的一个可选实施例中,所述方法还包括:
41.若所述当前节点的目标划分特征为所述参与方特征,接收来自所述参与方设备的第二节点划分信息,所述第二节点划分信息包括所述参与方特征的编号以及所述当前节点的子节点的加密样本集合。
42.本技术实施例的第三方面提供一种数据预测方法,应用于发起方设备,所述发起方设备包括数据预测模型,所述数据预测模型是经过t次模型迭代得到的,所述t为正整数;所述方法包括:
43.接收数据预测请求,所述数据预测请求包括目标对象的标识;
44.根据所述标识获取所述目标对象在所述发起方设备的特征数据,基于所述特征数据以及所述数据预测模型,得到第一预测结果,所述第一预测结果用于指示所述目标对象在所述发起方设备获得的初始标签预测值;
45.向参与方设备发送所述数据预测请求以及加密的第一预测结果;
46.接收所述参与方设备返回的第三预测结果;所述第三预测结果是所述参与方设备结合所述数据预测模型的叶子节点的权重信息、所述加密的第一预测结果以及第二预测结果确定的,所述第二预测结果是所述参与方设备基于所述目标对象在参与方设备的特征数据以及所述数据预测模型生成的;
47.通过解密所述第三预测结果,得到所述目标对象的最终的标签预测值。
48.在本技术第三方面的一个可选实施例中,所述方法还包括:
49.根据所述第一预测结果以及发起方私钥,生成所述加密的第一预测结果。
50.本技术实施例的第四方面提供一种数据预测方法,应用于参与方设备,所述参与方设备包括数据预测模型的叶子节点的权重信息,所述数据预测模型是经过t次模型迭代得到的,所述t为正整数;所述方法包括:
51.接收来自发起方设备的数据预测请求以及加密的第一预测结果,所述数据预测请
求包括目标对象的标识,所述第一预测结果用于指示所述目标对象在所述发起方设备获得的初始标签预测值;
52.根据所述标识获取所述目标对象在所述参与方设备的特征数据,基于所述参与方设备的特征数据以及所述数据预测模型,得到第二预测结果;
53.根据所述加密的第一预测结果、所述第二预测结果以及所述数据预测模型的叶子节点的权重信息,生成第三预测结果;
54.向所述发起方设备发送所述第三预测结果。
55.在本技术第四方面的一个可选实施例中,所述根据所述加密的第一预测结果、所述第二预测结果以及所述数据预测模型的叶子节点的权重信息,生成第三预测结果,包括:
56.获取所述第二预测结果与所述加密的第一预测结果的叉乘运算结果;
57.再通过所述数据预测模型的叶子节点的权重信息与所述叉乘运算结果的点乘运算,获得所述第三预测结果。
58.本技术实施例的第五方面提供一种数据预测模型的创建装置,包括:
59.接收模块,用于接收来自发起方设备的加密模型迭代参数以及第一加密聚合值;所述加密模型迭代参数用于指示第i颗模型的样本标签预测值与真实值的差值的加密导数,所述第i颗模型是经过i次模型迭代的数据预测模型,所述i为正整数;所述第一加密聚合值用于指示采用样本的发起方特征划分当前节点的样本集合的划分情况;
60.处理模块,用于根据所述加密模型迭代参数、所述样本集合以及发起方公钥生成第二加密聚合值,所述第二加密聚合值用于指示采用样本的参与方特征划分当前节点的样本集合的划分情况;
61.根据解密后的所述第一加密聚合值确定所述发起方特征划分所述样本集合的第一信息增益集合;根据解密后的所述第二加密聚合值确定所述参与方特征划分所述样本集合的第二信息增益集合;所述第一信息增益集合和所述第二信息增益集合均包括至少一个信息增益;
62.若所述第一信息增益集合和所述第二信息增益集合中的最大信息增益小于或等于预设阈值,确定所述当前节点的子节点为第i+1次模型迭代的数据预测模型的叶子节点,在确定所述当前节点的权重信息后,存储模块,用于将所述权重信息存储在所述参与方设备;所述权重信息用于指示在i+1次模型训练后所述当前节点样本的标签预测值。
63.本技术实施例的第六方面提供一种数据预测模型的创建装置,包括:
64.处理模块,用于根据模型迭代参数、发起方设备已知的当前节点的样本集合以及参与方公钥,生成第一加密聚合值;所述模型迭代参数用于指示第i颗模型的样本标签预测值与真实值的差值的加密导数,所述第i颗模型是经过i次模型迭代的数据预测模型,所述i为正整数;所述第一加密聚合值用于指示采用样本的发起方特征划分所述加密样本集合的划分情况;
65.根据发起方公钥加密所述模型迭代参数,得到加密模型迭代参数;
66.发送模块,用于向所述参与方设备发送所述加密模型迭代参数以及所述第一加密聚合值。
67.本技术实施例的第七方面提供一种数据预测装置,包括:
68.接收模块,用于接收数据预测请求,所述数据预测请求包括目标对象的标识;
69.处理模块,用于根据所述标识获取所述目标对象在发起方设备的特征数据,基于所述特征数据以及数据预测模型,得到第一预测结果,所述第一预测结果用于指示所述目标对象在所述发起方设备获得的初始标签预测值;
70.发送模块,用于向参与方设备发送所述数据预测请求以及加密的第一预测结果;
71.所述接收模块,还用于接收所述参与方设备返回的第三预测结果;所述第三预测结果是所述参与方设备结合所述数据预测模型的叶子节点的权重信息、所述加密的第一预测结果以及第二预测结果确定的,所述第二预测结果是所述参与方设备基于所述目标对象在参与方设备的特征数据以及所述数据预测模型生成的;
72.所述处理模块,还用于通过解密所述第三预测结果,得到所述目标对象的最终的标签预测值。
73.本技术实施例的第八方面提供一种数据预测装置,包括:
74.接收模块,用于接收来自发起方设备的数据预测请求以及加密的第一预测结果,所述数据预测请求包括目标对象的标识,所述第一预测结果用于指示所述目标对象在所述发起方设备获得的初始标签预测值;
75.处理模块,用于根据所述标识获取所述目标对象在参与方设备的特征数据,基于所述参与方设备的特征数据以及所述数据预测模型,得到第二预测结果;
76.根据所述加密的第一预测结果、所述第二预测结果以及所述数据预测模型的叶子节点的权重信息,生成第三预测结果;
77.发送模块,用于向所述发起方设备发送所述第三预测结果。
78.本技术实施例的第九方面提供一种电子设备,包括:存储器,处理器以及计算机程序;所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面中任一项所述的方法,或者如第二方面中任一项所述的方法,或者如第三方面中任一项所述的方法,或者如第四方面中任一项所述的方法。
79.本技术实施例的第十方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面中任一项所述的方法,或者如第二方面中任一项所述的方法,或者如第三方面中任一项所述的方法,或者如第四方面中任一项所述的方法。
80.本技术实施例的第十一方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述的方法,或者如第二方面中任一项所述的方法,或者如第三方面中任一项所述的方法,或者如第四方面中任一项所述的方法。
81.本技术实施例提供一种数据预测模型的创建方法、装置、设备及存储介质。在数据预测模型的第i+1次模型迭代中,发起方设备和参与方设备均基于第i颗模型的样本标签预测值与真实值的差值的一阶导数和二阶导数,计算各方特征划分对应的加密聚合值。参与方设备根据获得的各方解密后的聚合值,计算各方对应的最大信息增益,从而确定第i+1次模型迭代中各节点样本集合是否划分,以及采用哪一方特征划分。若确定某节点样本集合不再划分,该节点为模型的叶子节点,在计算该叶子节点的权重信息后,将权重信息存储在参与方本地。上述方案将模型叶子节点权重、参与方特征划分对应的聚合值保存在参与方本地,对发起方保密,从而保证发起方在已知模型节点特征的基础上无法推测出样本对应的参与方特征属性,实现可靠的可解释模型。
82.本技术实施例还提供一种数据预测方法、装置、设备及存储介质,该方法基于上述创建的数据预测模型,发起方设备基于本地数据预测模型以及目标对象在发起方的特征数据,生成第一预测结果,并将其加密后发送给参与方设备。参与方设备根据叶子节点的特征分布生成标签向量,结合叶子节点权重以及加密的第一预测结果,生成新的预测结果,即加密的第三预测结果。发起方设备解密第三预测结果获得目标对象最终的标签预测值。上述方案保证不泄露叶子节点对应的参与方特征分布,同时保护发起方的样本标签不被参与方获知。
附图说明
83.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
84.图1为本技术实施例提供的数据预测模型的创建方法和预测方法的场景示意图;
85.图2为数据预测模型的叶子节点权重推理示意图;
86.图3为本技术实施例提供的数据预测模型的创建方法的流程示意图一;
87.图4为本技术实施例提供的数据预测模型的创建方法的流程示意图二;
88.图5为本技术实施例提供的数据预测模型的创建方法的流程示意图三;
89.图6为本技术实施例提供的数据预测方法的流程示意图一;
90.图7为本技术实施例提供的数据预测方法的流程示意图二;
91.图8为本技术实施例提供的数据预测模型的创建装置的结构示意图一;
92.图9为本技术实施例提供的数据预测模型的创建装置的结构示意图二;
93.图10为本技术实施例提供的数据预测装置的结构示意图一;
94.图11为本技术实施例提供的数据预测装置的结构示意图二;
95.图12为本技术实施例提供的电子设备的硬件结构图。
96.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
97.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
98.本技术实施例的说明书、权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述之外的顺序实施。
99.应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆
盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
100.在本技术实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
101.在介绍本技术提供的数据预测模型的创建方法和预测方法之前,首先对创建方法和预测方法的应用场景进行简要介绍。
102.图1为本技术实施例提供的数据预测模型的创建方法和预测方法的场景示意图。如图1所示,该场景包括发起方设备11以及至少一个参与方设备,例如图1中的参与方设备12和13。其中,参与方设备12、13分别与发起方设备11通信连接。发起方设备11和参与方设备12、13可共同参与联邦学习过程,建立数据预测模型,数据预测模型可用于预测样本是否具有某一属性特征。
103.一种可能的场景中,发起方设备11、参与方设备12、13中包含大量相同的数据样本,以及少量相同的数据特征,建立数据预测模型的过程属于纵向联邦学习的范畴。
104.另一种可能的场景中,发起方设备11、参与方设备12、13中包含少量相同的数据样本以及大量相同的数据特征,建立数据预测模型的过程属于横向联邦学习的范畴。
105.又一种可能的场景中,发起方设备11、参与方设备12、13中包含少量相同的数据样本以及少量相同的数据特征,建立数据预测模型的过程属于联邦迁移学习的范畴。
106.本技术实施例主要针对上述纵向联邦学习场景展开。下面结合实际应用,给出一些具体的实现场景。
107.示例性的,假设某地区的两个机构,例如银行机构和电商机构,两者的用户群体很有可能包含该地区的大部分居民,因此两者用户的交集较大。银行机构记录用户的收支情况以及信用评级等,电商机构记录用户的浏览与购买历史,因此两者用户的特征交集较小。可通过两机构的数据样本,共同构建数据预测模型。例如数据预测模型用于预测用户是否具有购买某金融产品的能力;又例如数据预测模型用于预测用户是否具有偿还贷款的能力。
108.示例性的,假设某地区的三个服务商,例如书籍推荐服务商和电影推荐服务商,两者的用户群体很有可能包含该地区的大部分居民,因此两者用户的交集较大。书籍推荐服务商记录用户的浏览与阅读书籍的记录,电影推荐服务商记录用户的浏览与观看电影的记录,因此两者用户的特征交集较少。可通过两家服务商的数据样本,共同构建数据预测模型。例如数据预测模型用于预测用户是否有兴趣购买某书籍;又例如数据预测模型用于预测用户是否感兴趣某部电影。
109.上述几种实现场景仅作为一种示例,其他任意可通过多方参与进行纵向联邦学习建模及数据预测的场景均在本技术实施例的保护范围内,对此本技术实施例不作任何限制。
110.基于上述应用场景,发起方基于现有模型创建方法构建的预测模型,存在泄漏参与方数据特征的风险,主要是发起方推理样本的预测结果后,可结合叶子节点的权重推断样本属于哪个叶子节点,进而从叶子节点推断出所有样本分布,得到每个节点样本集合的
信息。当样本特征分布不均衡时,例如大多数样本“不存在违约行为”的不均衡分布,极容易推测出样本特征,不符合保护参与方数据隐私的要求。
111.图2为数据预测模型的叶子节点权重推理示意图。如图2所示,发起方推理样本si的预测结果,可知样本的预测结果与叶子节点4的权重值一致,则判断样本si属于叶子节点4。进而可知si属于节点1和节点2。若节点2处的特征含义为“是否存在过违约行为”,根据大多数样本“不存在违约行为”的不均衡分布,可以推测出si的特征含义。类似的,可以泄露大量参与方数据特征内容。
112.针对上述问题,本技术实施例提出一种数据预测模型的创建方案,将参与方特征含义提供给发起方,同时保证发起方无法推测出样本对应的参与方特征属性。已有的模型创建方案将叶子节点权重保存在发起方,发起方在推理过程中可以根据样本预测结果对应的叶子节点权重,推理出样本的特征,泄露了参与方的样本特征,无法实现数据隐私保护。本技术提供的模型创建方案将叶子节点权重、一阶梯度聚合值、二阶梯度聚合值保存在参与方,对发起方保密,保证发起方已知树模型节点特征的基础上无法推测出样本对应的参与方特征属性,从而实现了可靠的可解释模型。
113.另外,在计算参与方信息增益时,参与方借助发起方提供的加密一阶梯度和二阶梯度,计算特征分裂对应的加密聚合值后,添加加密随机数后发送给发起方。发起方解密后只能得到聚合值与随机数之和的明文返回参与方,发起方无法推出聚合值从而计算信息增益和权重。参与方剔除随机数后本地计算特征分裂的信息增益,如果是叶子节点,再计算叶子节点对应的权重,将叶子节点对应的权重保存在参与方。
114.本技术实施例还提供一种数据预测方法,基于上述创建方案得到的数据预测模型,参与方根据叶子节点的特征分布生成指示向量按位乘叶子节点权重,再点乘guest生成的加密的标签向量返回给发起方。上述方案可保证在不泄露叶子节点对应的参与方特征分布的同时,保护发起方的样本标签不被参与方获知。
115.下面通过具体实施例对本技术实施例提供的技术方案进行详细说明、需要说明的是,本技术实施例提供的技术方案可以包括以下内容中的部分或全部,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
116.图3为本技术实施例提供的数据预测模型的创建方法的流程示意图一。为了便于理解,本实施例以发起方设备和一个参与方设备之间的交互进行方案说明,其中发起方设备具有样本特征数据和样本标签,参与方设备具有样本特征数据。应理解,在包含多个参与方设备的模型创建场景中,每个参与方设备与发起方设备之间的交互过程均可参考本实施例。
117.如图3所示,本实施例提供的方法包括如下步骤:
118.步骤101、发起方设备根据模型迭代参数、发起方设备已知的当前节点的样本集合以及参与方公钥,生成第一加密聚合值。
119.其中,模型迭代参数用于指示第i颗模型的样本标签预测值与真实值的差值的导数,第i颗模型是经过i次模型迭代的数据预测模型,i为正整数。第一加密聚合值用于指示采用样本的发起方特征划分加密样本集合的划分情况。
120.可选的,模型迭代参数包括发起方设备根据前i次模型迭代后的模型损失函数对样本标签预测值与真实值的差值的一阶导数和二阶导数,即模型迭代参数包括前i次模型
迭代后的样本标签残差的一阶导数和二阶导数。模型的第i+1次迭代是以模型前i次迭代的模型迭代参数为目标进行学习。
121.本实施例的一个可选实施例中,当前节点为本次模型迭代的初始数据预测模型的根节点,则发起方设备已知的当前节点的样本集合即经隐私求交技术对齐的样本集合。相应的,发起方设备根据模型迭代参数、初始数据预测模型的根节点的样本集合以及参与方公钥,生成第一加密聚合值。
122.本实施例的一个可选实施例中,当前节点为本次模型迭代的数据预测模型的根节点的各级子节点,则发起方设备已知的当前节点的样本集合可以是参与方设备提供给发起方设备的加密样本集合,例如参与方设备根据样本的参与方特征划分当前节点的父节点后生成的当前节点的加密样本集合。相应的,发起方设备根据模型迭代参数、参与方设备提供的当前节点的加密样本集合以及参与方公钥,生成第一加密聚合值。
123.可选的,在一些实施例中,发起方设备根据模型迭代参数、参与方设备提供的当前节点的样本集合的加密编码向量以及参与方公钥,生成第一加密聚合值。
124.可选的,第一加密聚合值包括和两部分,可分别通过如下公式表示:
[0125][0126][0127]
其中,和分别指示发起方特征当前分箱的样本集合(即采用发起方特征某分箱划分得到当前节点的子节点的样本集合)的样本标签预测值与真实值的差值的一阶导数和二阶导数。[]h表示经参与方公钥加密。gi和hi分别指示第i颗模型的样本标签预测值与真实值的差值的一阶导数和二阶导数。π=π(i;ig)为当前节点的样本集合i相对于ig的编码向量,i通常是ig的子集,π
bin
=π(i
bin
;ig)为属于当前分箱的样本集合i
bin
相对于ig的编码向量。则代表ig中第i个样本在样本集合i中并且属于当前分箱。
[0128]
步骤102、发起方设备根据发起方公钥加密模型迭代参数,得到加密模型迭代参数。
[0129]
由步骤101可知,模型迭代参数包括第i颗模型的样本标签预测值与真实值的差值的一阶导数gi和二阶导数hi,经发起方公钥加密,可以得到加密模型迭代参数[gi]g和[hi]g。
[0130]
步骤103、发起方设备向参与方设备发送加密模型迭代参数以及第一加密聚合值。
[0131]
步骤104、参与方设备根据加密模型迭代参数、样本集合以及发起方公钥生成第二加密聚合值。其中,第二加密聚合值用于指示采用样本的参与方特征划分当前节点的样本集合的划分情况。
[0132]
具体的,参与方设备首先根据加密模型迭代参数、样本集合以及发起方公钥,生成第三加密聚合值,第三加密聚合值用于指示采用样本的参与方特征划分当前节点的样本集合的划分情况;随后根据参与方设备生成的随机数以及发起方公钥生成加密随机数;最后通过对第三加密聚合值添加加密随机数,得到第二加密聚合值。
[0133]
需要指出的是,参与方设备生成的随机数也可以描述为盐值(slat),盐值是随机生成的一组字符串,可以包括随机的大小写字母、数字、字符,位数可以根据实际需求设置,
对此本实施例不作任何限制。
[0134]
示例性的,由步骤102可知,参与方设备根据加密模型迭代参数[gi]g和[hi]g、参与方设备已知的当前节点的样本集合以及发起方公钥,生成第三加密聚合值。
[0135]
可选的,第三加密聚合值包括和两部分,可分别通过如下公式表示:
[0136][0137][0138]
其中,和分别指示参与方特征当前分箱的样本集合(即采用参与方特征某分箱划分得到当前节点的子节点的样本集合)的样本标签预测值与真实值的差值的一阶导数和二阶导数。[]g表示经发起方公钥加密。π=π(i;ig)为样本集合i相对于ig的编码向量,i通常是ig的子集,π
bin
=π(i
bin
;ig)为属于当前箱的样本集合i
bin
相对于ig的编码向量。且代表ig中第i个样本在样本集合i中并且属于当前分箱。
[0139]
参与方设备随机生成两个盐值,并采用发起方公钥加密这两个盐值,得到[salt1]g、[salt2]g,将上述第三加密聚合值和加密盐值组合,得到第二加密聚合值随后参与方设备将添加了盐值的加密聚合值发送给参与方设备解密。
[0140]
步骤105、参与方设备根据解密后的第一加密聚合值确定发起方特征划分样本集合的第一信息增益集合。第一信息增益集合包括至少一个信息增益。
[0141]
本实施例中,参与方设备直接根据参与方私钥对第一加密聚合值进行解密,得到第一聚合值,第一聚合值即解密后的第一加密聚合值。第一聚合值包括采用发起方特征划分当前节点的样本集合后子样本集合中样本标签预测值与真实值的差值的一阶导数和二阶导数。
[0142]
参与方设备根据获得的发起方特征划分当前节点的样本集合后子样本集合中样本标签预测值与真实值的差值的一阶导数和二阶导数,计算发起方特征每种划分对应的信息增益,该计算过程可采用现有计算方式,此处不具体展开。
[0143]
其中,信息增益用于指示样本集合划分的不确定性。信息增益越小,样本集合划分的不确定性越小,样本集合划分的准确性越高;信息增益越大,样本集合划分的不确定越大,样本集合划分的准确性越低。
[0144]
步骤106、参与方设备根据解密后的第二加密聚合值确定参与方特征划分样本集合的第二信息增益集合。第二信息增益集合包括至少一个信息增益。
[0145]
本实施例中,参与方设备通过与发起方设备交互,获取解密后的第二加密聚合值。解密后的第二加密聚合值即第二聚合值,第二聚合值包括采用参与方特征划分当前节点的样本集合后子样本集合中样本标签预测值与真实值的差值的一阶导数和二阶导数。关于参与方设备与发起方设备的交互过程,参见后文实施例。
[0146]
参与方设备根据获得的参与方特征划分当前节点的样本集合后子样本集合中样本标签预测值与真实值的差值的一阶导数和二阶导数,计算参与方特征每种划分对应的信息增益,该计算过程可采用现有计算方式,此处不具体展开。
[0147]
步骤107、若第一信息增益集合和第二信息增益集合中的最大信息增益小于或等于预设阈值,参与方设备确定当前节点的子节点为第i+1次模型迭代的数据预测模型的叶子节点。
[0148]
第一信息增益集合包括采用发起方特征划分当前节点样本集合的至少一个信息增益,第二信息增益集合包括采用参与方特征划分当前节点样本集合的至少一个信息增益。
[0149]
参与方设备取第一信息增益集合和第二信息增益集合中的最大信息增益,若该最大信息增益小于或等于预设阈值,表明采用该最大信息增益对应的目标划分特征划分当前节点样本集合的不确定性很小,或者说划分当前节点样本集合的准确率很高,即当前节点的子节点样本集合的纯度很高,无需对当前节点的子节点的样本集合进行划分。
[0150]
参与方设备将当前节点的子节点作为第i+1次模型迭代的数据预测模型的叶子节点。
[0151]
步骤108、在参与方设备确定当前节点的权重信息后,将权重信息存储在参与方设备。
[0152]
其中,权重信息用于指示在i+1次模型训练后当前节点样本的标签预测值。需要指出的是,在i+1次模型训练后当前节点样本的标签预测值包含当前节点样本在i+1颗模型的每颗模型的标签预测值的总和。
[0153]
可选的,通过如下公式确定模型中任意叶子节点的最优权重
[0154][0155]
其中,为叶子节点的样本集合ij中所有样本的标签预测值的一阶导数之和,为叶子节点的样本集合ij中所有样本的标签预测值的二阶导数之和,λ为常量。
[0156]
与现有模型训练过程不同的是,本实施例的参与方设备在确定数据预测模型的叶子节点的权重信息后,将叶子节点的权重信息存储在参与方设备本地,不向发起方设备发送叶子节点的权重信息。
[0157]
需要说明的是,对于第i+1次模型迭代的数据预测模型的每一个叶子节点,均可以执行上述方案,直至所有的叶子节点的样本集合不再划分或数据预测模型的深度达到设置的最大深度为止,结束本次模型迭代。
[0158]
本实施例示出的数据预测模型的创建方法,在数据预测模型的第i+1次模型迭代中,发起方设备和参与方设备均基于第i颗模型的样本标签预测值与真实值的差值的一阶导数和二阶导数,计算各方特征划分对应的加密聚合值。参与方设备根据获得的各方解密后的聚合值,计算各方对应的最大信息增益,从而确定第i+1次模型迭代中各节点样本集合是否划分,以及采用哪一方特征划分。若确定某节点样本集合不再划分,该节点为模型的叶子节点,在计算该叶子节点的权重信息后,将权重信息存储在参与方本地。上述方案将模型叶子节点权重、参与方特征划分对应的聚合值(即第二聚合值)保存在参与方本地,对发起方保密,从而保证发起方在已知模型节点特征的基础上无法推测出样本对应的参与方特征属性,实现可靠的可解释模型。
[0159]
图4为本技术实施例提供的数据预测模型的创建方法的流程示意图二。如图4所
示,本实施例示出了参与方设备通过与发起方设备交互,获取参与方的第二聚合值,该过程包括如下步骤:
[0160]
步骤201、参与方设备向发起方设备发送第二加密聚合值。
[0161]
示例性的,基于上文实施例可知,第二加密聚合值可以表示为:
[0162][0163]
步骤202、发起方设备根据发起方私钥对第二加密聚合值进行解密,得到包含随机数的第二聚合值。其中,随机数是参与方设备生成的,随机数保存在参与方设备本地,对发起方设备保密。
[0164]
步骤203、发起方设备向参与方设备发送包含随机数的第二聚合值。
[0165]
示例性的,发起方设备根据发起方私钥对解密,得到包含随机数的第二聚合值,即发起方设备向参与方设备发送备发送
[0166]
步骤204、在剔除随机数后,得到第三聚合值。
[0167]
示例性的,参与方设备接收包含盐值的第二聚合值,获取本地保存的对应盐值salt1和salt2,最终得到第三聚合值第三聚合值包括采用参与方特征划分当前节点样本集合后子样本集合中样本标签预测值与真实值的差值的一阶导数和二阶导数
[0168]
本实施例提供的交互过程中,发起方设备接收到的参与方特征划分对应的聚合值中包括随机数或盐值,因此发起方无法通过该聚合值计算参与方特征划分对应的信息增益和权重,从而无法基于模型结构推测出样本对应的参与方特征属性,实现保护参与方数据的目的。
[0169]
图5为本技术实施例提供的数据预测模型的创建方法的流程示意图三。本实施例的执行主体为参与方设备,涉及参与方设备确定当前节点如何划分后的处理过程,如图5所示,该过程包括如下步骤:
[0170]
步骤301、确定第一信息增益集合和第二信息增益集合中的最大信息增益与预设阈值的大小关系。
[0171]
若最大信息增益大于预设阈值,执行步骤302;
[0172]
若最大信息增益小于或等于预设阈值,执行步骤303。
[0173]
步骤302、将最大信息增益对应的划分特征作为当前节点的目标划分特征。目标划分特征为发起方特征或参与方特征。
[0174]
步骤303、将当前节点作为叶子节点,将叶子节点的权重信息存储在本地。将当前节点作为叶子节点即不划分当前节点的样本集合,将当前节点从待划分节点集合中剔除。
[0175]
步骤302之后,若目标划分特征为参与方特征,执行如下步骤:
[0176]
步骤304、参与方设备根据参与方特征的编号以及特征阈值,更新当前节点的子节点的样本集合,并生成当前节点的子节点的加密样本集合。
[0177]
步骤305、参与方设备向发起方设备发送第二节点划分信息,第二节点划分信息包括参与方特征的编号以及当前节点的子节点的加密样本集合。
[0178]
步骤302之后,若目标划分特征为发起方特征,执行如下步骤:
[0179]
步骤306、参与方设备向发起方设备发送第一节点划分信息,第一节点划分信息包括发起方特征的编号以及特征阈值。
[0180]
相应的,发起方设备在接收到第一节点划分信息后,可根据第一节点划分信息以及当前节点的加密样本集合,更新当前节点的子节点的加密样本集合,并向参与方设备发送当前节点的子节点的加密样本集合。
[0181]
本实施例示出的节点划分处理过程是由参与方设备根据各方特征对应的信息增益,确定是否划分当前节点的样本集合以及如何划分,在确定采用参与方特征划分时,参与方设备将参与方特征的编号以及当前节点的子节点的加密样本集合共享给发起方设备。对发起方设备而言,其无法获知每个节点的真实样本集合,但参与方设备向其公开了参与方特征含义,使得模型具有可解释性。
[0182]
上述几个实施例中,样本集合可以是用户集合,样本的特征可以是用户的某些特征。针对不同的应用场景,用户的特征不同,构建的数据预测模型的预测功能不同。
[0183]
基于上述几个实施例创建的数据预测模型,下面对该数据预测模型的应用方案进行说明。需要说明的是,在应用方案中,发起方设备和参与方设备均存储有创建的数据预测模型的结构,可以获知数据预测模型中各自特征划分节点的具体模型结构。该数据预测模型是经过t次模型迭代得到,t为正整数。参与方设备中存储有数据预测模型的叶子节点的权重信息。
[0184]
图6为本技术实施例提供的数据预测方法的流程示意图一。为了便于理解,本实施例以发起方设备和一个参与方设备之间的交互进行方案说明。如图6所示,本实施例提供的方法包括如下步骤:
[0185]
步骤401、发起方设备接收数据预测请求,数据预测请求包括目标对象的标识。示例性的,目标对象包括用户,目标对象的标识包括用户的标识,例如可将用户的身份证号码作为用户的标识。
[0186]
步骤402、发起方设备根据标识获取目标对象在发起方设备的特征数据,基于特征数据以及数据预测模型,得到第一预测结果。其中,第一预测结果用于指示目标对象在发起方设备获得的初始标签预测值。
[0187]
发起方设备根据数据预测请求中目标对象的标识,获取该目标对象的发起方特征;再根据目标对象的发起方特征以及数据预测模型中划分特征为发起方特征的节点信息,得到第一预测结果。其中,划分特征为发起方特征的节点信息包括发起方特征的编号以及特征阈值。
[0188]
具体的,发起方设备初始化叶子节点的标签向量为z0=(1,1,

,1),z0中有t个1,其中t为数据预测模型的叶子节点的个数,t为正整数。发起方设备结合数据预测模型中划分特征为发起方特征的节点信息,更新叶子节点的标签向量,将更新后的叶子节点的标签向量作为第一预测结果,第一预测结果可记为z=(z1,z2,

,z
t
)。
[0189]
示例性的,假设数据预测模型的叶子节点个数为5,则叶子节点的标签向量为5维向量,向量中每个值用于指示目标对象属于该叶子节点的标签预测值,将该5维向量作为第一预测结果。
[0190]
步骤403、发起方设备向参与方设备发送数据预测请求以及加密的第一预测结果。
具体的,发起方设备根据发起方公钥加密第一预测结果,加密的第一预测结果可以表示为[z]g,发起方设备将[z]g发给参与方设备。
[0191]
步骤404、参与方设备根据标识获取目标对象在参与方设备的特征数据,基于参与方设备的特征数据以及数据预测模型,得到第二预测结果。
[0192]
参与方设备根据数据预测请求中目标对象的标识,获取该目标对象的参与方特征;再根据目标对象的参与方特征以及数据预测模型中叶子节点信息,得到第二预测结果。其中,叶子节点信息包括每个叶子节点对应的参与方特征(本地特征)。具体的,参与方设备从参与方本地的数据预测模型结构中获知每个叶子节点对应的参与方特征。
[0193]
具体的,参与方设备初始化叶子节点的标签向量为η0=(1,1,

,1),η0中有t个1,其中t为数据预测模型的叶子节点的个数,t为正整数。参与方设备通过将目标对象的参与方特征与每个叶子节点对应的本地特征比较,更新叶子节点的标签向量,将更新后的叶子节点的标签向量作为第二预测结果,第二预测结果可记为η。
[0194]
步骤405、参与方设备根据加密的第一预测结果、第二预测结果以及数据预测模型的叶子节点的权重信息,生成第三预测结果。
[0195]
可选的,参与方设备通过如下方式生成第三预测结果:获取第二预测结果与加密的第一预测结果的叉乘运算结果,再通过数据预测模型的叶子节点的权重信息与叉乘运算结果的点乘运算,获得第三预测结果,参见如下公式:
[0196]w⊙

×
[z]g)
[0197]
其中,w为数据预测模型的叶子节点的权重信息。
[0198]
步骤406、参与方设备向发起方设备发送第三预测结果。
[0199]
步骤407、发起方设备通过解密第三预测结果,得到目标对象的最终的标签预测值。
[0200]
可选的,发起方设备根据发起方公钥解密第三预测结果,得到w


×
z),即目标对象最终的标签预测值。
[0201]
本实施例示出的数据预测方法,发起方设备接收数据预测请求,该请求包括目标对象的标识,发起方设备基于本地数据预测模型以及目标对象在发起方的特征数据,生成第一预测结果,并将其加密后发送给参与方设备。参与方设备根据叶子节点的特征分布生成标签向量,结合叶子节点权重以及加密的第一预测结果,生成新的预测结果,即加密的第三预测结果。发起方设备解密第三预测结果获得目标对象最终的标签预测值。上述方案保证不泄露叶子节点对应的参与方特征分布,同时保护发起方的样本真实标签不被参与方获知。
[0202]
可选的,在一些实施例中,数据预测方法涉及发起方设备和多个参与方设备。图7为本技术实施例提供的数据预测方法的流程示意图二。如图7所示,可通过如下交互步骤确定数据预测请求中目标对象的预测结果:
[0203]
步骤501、根据数据预测请求以及数据预测模型,在guest方生成第一预测结果,根据发起方公钥加密第一预测结果,得到[z]g,发送[z]g至host1。其中,host1是从多个参与方设备中随机选取一个参与方设备。
[0204]
步骤502、host1初始化叶子节点的标签向量η0,在host1本地更新叶子节点的标签向量为η1,发送η1×
[z]g给host2,其中host2为多个参与方设备中剔除host1后随机选取的
一个参与方设备。
[0205]
步骤503、host2基于η1×
[z]g,在本地更新叶子节点的标签向量为η2×
η1×
[z]g,发送η2×
η1×
[z]g给剩余参与方设备的其中一个,直至最后一个参与方设备host m。
[0206]
步骤504、host m基于η
m-1
×
...
×
η1×
[z]g,在本地更新叶子节点的标签向量为ηm×
η
m-1
×…×
η1×
[z]g,再结合host m叶子节点权重w,得到w

(ηm×
η
m-1
×…×
η1×
[z]g),将其发送给参与方设备。
[0207]
步骤505、guest方解密得到预测结果w

(ηm×
η
m-1
×…×
η1×
z)。
[0208]
上文描述了本技术实施例提供的数据预测模型的创建方法以及数据预测方法,下面将描述本技术实施例提供的数据预测模型的创建装置以及数据预测装置。
[0209]
本技术实施例可以根据上述方法实施例对数据预测模型的创建装置或数据预测装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
[0210]
图8为本技术实施例提供的数据预测模型的创建装置的结构示意图一。如图8所示,本实施例提供的数据预测模型的创建装置600,包括:接收模块601、处理模块602、存储模块603以及发送模块603。
[0211]
接收模块601,用于接收来自发起方设备的加密模型迭代参数以及第一加密聚合值;所述加密模型迭代参数用于指示第i颗模型的样本标签预测值与真实值的差值的加密导数,所述第i颗模型是经过i次模型迭代的数据预测模型,所述i为正整数;所述第一加密聚合值用于指示采用样本的发起方特征划分当前节点的样本集合的划分情况;
[0212]
处理模块602,用于根据所述加密模型迭代参数、所述样本集合以及发起方公钥生成第二加密聚合值,所述第二加密聚合值用于指示采用样本的参与方特征划分当前节点的样本集合的划分情况;
[0213]
根据解密后的所述第一加密聚合值确定所述发起方特征划分所述样本集合的第一信息增益集合;根据解密后的所述第二加密聚合值确定所述参与方特征划分所述样本集合的第二信息增益集合;所述第一信息增益集合和所述第二信息增益集合均包括至少一个信息增益;
[0214]
若所述第一信息增益集合和所述第二信息增益集合中的最大信息增益小于或等于预设阈值,确定所述当前节点的子节点为第i+1次模型迭代的数据预测模型的叶子节点,在确定所述叶子节点的权重信息后,存储模块603,用于将所述权重信息存储在所述参与方设备;所述权重信息用于指示所述叶子节点中样本的标签预测值。
[0215]
本实施例的一个可选实施例中,所述处理模块602,用于:
[0216]
根据所述加密模型迭代参数、所述样本集合以及所述发起方公钥,生成第三加密聚合值;所述第三加密聚合值用于指示采用样本的参与方特征划分当前节点的样本集合的划分情况;
[0217]
根据所述参与方设备生成的随机数以及所述发起方公钥生成加密随机数;
[0218]
通过对所述第三加密聚合值添加所述加密随机数,得到所述第二加密聚合值。
[0219]
本实施例的一个可选实施例中,在所述处理模块602根据解密后的所述第二加密聚合值确定所述参与方特征划分所述样本集合的第二信息增益集合之前,所述发送模块603,用于向所述发起方设备发送所述第二加密聚合值,所述第二加密聚合值包括加密随机数;
[0220]
所述接收模块601,用于接收所述发起方设备返回的包含随机数的第二聚合值;
[0221]
所述处理模块602,用于在剔除所述随机数后,得到第三聚合值,所述第三聚合值为解密后的所述第三加密聚合值,所述第三聚合值包括采用所述参与方特征划分所述样本集合后子样本集合中样本标签预测值与真实值的差值的导数。
[0222]
本实施例的一个可选实施例中,在所述处理模块602根据解密后的所述第一加密聚合值确定所述发起方特征划分所述样本集合的第一信息增益集合之前,所述处理模块602,还用于:
[0223]
根据所述参与方私钥对所述第一加密聚合值进行解密,得到第一聚合值;
[0224]
所述第一聚合值为解密后的所述第一加密聚合值,所述第一聚合值包括采用所述发起方特征划分所述样本集合后子样本集合中样本标签预测值与真实值的差值的导数。
[0225]
本实施例的一个可选实施例中,所述处理模块602,用于:
[0226]
若所述第一信息增益集合和所述第二信息增益集合中的最大信息增益大于所述预设阈值,将所述最大信息增益对应的划分特征作为所述当前节点的目标划分特征,所述目标划分特征为所述发起方特征或所述参与方特征。
[0227]
本实施例的一个可选实施例中,所述发送模块603,用于:
[0228]
若所述当前节点的目标划分特征为所述发起方特征,向所述发起方设备发送第一节点划分信息,所述第一节点划分信息包括所述发起方特征的编号以及特征阈值。
[0229]
本实施例的一个可选实施例中,所述处理模块602,用于:
[0230]
若所述当前节点的目标划分特征为所述参与方特征,根据所述参与方特征的编号以及特征阈值,更新所述当前节点的子节点的样本集合,并生成所述当前节点的子节点的加密样本集合;
[0231]
所述发送模块603,用于向所述发起方设备发送第二节点划分信息,所述第二节点划分信息包括所述参与方特征的编号、特征阈值以及所述当前节点的子节点的加密样本集合。
[0232]
本实施例提供的数据预测模型的创建装置,可以执行图3至图5所示任一方法实施例中参与方设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0233]
图9为本技术实施例提供的数据预测模型的创建装置的结构示意图二。如图9所示,本实施例提供的数据预测模型的创建装置700,包括:处理模块701、发送模块702以及接收模块703。
[0234]
处理模块701,用于根据模型迭代参数、发起方设备已知的当前节点的样本集合以及参与方公钥,生成第一加密聚合值;所述模型迭代参数用于指示第i颗模型的样本标签预测值与真实值的差值的加密导数,所述第i颗模型是经过i次模型迭代的数据预测模型,所述i为正整数;所述第一加密聚合值用于指示采用样本的发起方特征划分所述加密样本集合的划分情况;
[0235]
根据发起方公钥加密所述模型迭代参数,得到加密模型迭代参数;
[0236]
所述发送模块702,用于向所述参与方设备发送所述加密模型迭代参数以及所述第一加密聚合值。
[0237]
本实施例的一个可选实施例中,所述接收模块703,用于接收来自所述参与方设备的第二加密聚合值,所述第二加密聚合值用于指示采用样本的参与方特征划分所述当前节点的样本集合的划分情况;
[0238]
所述处理模块701,用于根据发起方私钥对所述第二加密聚合值进行解密,得到包含随机数的第二聚合值,所述随机数是所述参与方设备生成的;
[0239]
所述发送模块702,用于向所述参与方设备发送包含所述随机数的第二聚合值。
[0240]
本实施例的一个可选实施例中,若所述当前节点的目标划分特征为所述发起方特征,所述接收模块703,用于接收来自所述参与方设备的第一节点划分信息,所述第一节点划分信息包括所述发起方特征的编号以及特征阈值;
[0241]
所述处理模块701,用于根据所述第一节点划分信息以及所述当前节点的加密样本集合,更新所述当前节点的子节点的加密样本集合;
[0242]
所述发送模块702,用于向所述参与方设备发送所述当前节点的子节点的加密样本集合。
[0243]
本实施例的一个可选实施例中,若所述当前节点的目标划分特征为所述参与方特征,所述接收模块703,用于接收来自所述参与方设备的第二节点划分信息,所述第二节点划分信息包括所述参与方特征的编号、特征阈值以及所述当前节点的子节点的加密样本集合。
[0244]
本实施例提供的数据预测模型的创建装置,可以执行图3至图5所示任一方法实施例中发起方设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0245]
图10为本技术实施例提供的数据预测装置的结构示意图一。如图10所示,本实施例提供的数据预测装置800,包括:接收模块801、处理模块802以及发送模块803。
[0246]
所述接收模块801,用于接收数据预测请求,所述数据预测请求包括目标对象的标识;
[0247]
所述处理模块802,用于根据所述标识获取所述目标对象在所述发起方设备的特征数据,基于所述特征数据以及所述数据预测模型,得到第一预测结果,所述第一预测结果用于指示所述目标对象在所述发起方设备获得的初始标签预测值;
[0248]
所述发送模块803,用于向参与方设备发送所述数据预测请求以及加密的第一预测结果;
[0249]
所述接收模块801,还用于接收所述参与方设备返回的第三预测结果;所述第三预测结果是所述参与方设备结合所述数据预测模型的叶子节点的权重信息、所述加密的第一预测结果以及第二预测结果确定的,所述第二预测结果是所述参与方设备基于所述目标对象在参与方设备的特征数据以及所述数据预测模型生成的;
[0250]
所述处理模块802,还用于通过解密所述第三预测结果,得到所述目标对象的最终的标签预测值。
[0251]
本实施例的一个可选实施例中,所述处理模块802,用于根据所述第一预测结果以及发起方私钥,生成所述加密的第一预测结果。
[0252]
本实施例提供的数据预测装置,可以执行图6或图7所示方法实施例中发起方设备
的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0253]
图11为本技术实施例提供的数据预测装置的结构示意图二。如图11所示,本实施例提供的数据预测装置900,包括:接收模块901、处理模块902以及发送模块903。
[0254]
所述接收模块901,用于接收来自发起方设备的数据预测请求以及加密的第一预测结果,所述数据预测请求包括目标对象的标识,所述第一预测结果用于指示所述目标对象在所述发起方设备获得的初始标签预测值;
[0255]
所述处理模块902,用于根据所述标识获取所述目标对象在所述参与方设备的特征数据,基于所述参与方设备的特征数据以及所述数据预测模型,得到第二预测结果;
[0256]
根据所述加密的第一预测结果、所述第二预测结果以及所述数据预测模型的叶子节点的权重信息,生成第三预测结果;
[0257]
所述发送模块903,用于向所述发起方设备发送所述第三预测结果。
[0258]
本实施例的一个可选实施例中,所述处理模块902,用于:
[0259]
获取所述第二预测结果与所述加密的第一预测结果的叉乘运算结果;
[0260]
再通过所述数据预测模型的叶子节点的权重信息与所述叉乘运算结果的点乘运算,获得所述第三预测结果。
[0261]
本实施例提供的数据预测装置,可以执行图6或图7所示方法实施例中参与方设备的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0262]
图12为本技术实施例提供的电子设备的硬件结构图。如图12所示,本实施例提供的电子设备1000,包括:存储器1001,处理器1002以及计算机程序;其中,计算机程序存储在存储器1001中,并被配置为由处理器1002执行以实现前述任一方法实施例中发起方设备的技术方案,或者,执行以实现前述任一方法实施例中参与方设备的技术方案。
[0263]
可选的,存储器1001既可以是独立的,也可以跟处理器1002集成在一起。当存储器1001是独立于处理器1002之外的器件时,电子设备1000还包括:总线1003,用于连接存储器1001和处理器1002。
[0264]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器1002执行以实现如前述任一方法实施例中发起方设备的技术方案,或者如前述任一方法实施例中参与方设备的技术方案。
[0265]
本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述任一方法实施例中发起方设备的技术方案,或者如前述任一方法实施例中参与方设备的技术方案。
[0266]
本技术实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述任一方法实施例中发起方设备的技术方案,或者如前述任一方法实施例中参与方设备的技术方案。
[0267]
可选的,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例中发起方设备的技术方案,或者如前述任一方法实施例中参与方设备的技术方案。
[0268]
应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,
简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0269]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0270]
总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0271]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0272]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
[0273]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1