CN111737756B - 经由两个数据拥有方进行的xgb模型预测方法、装置及*** - Google Patents
经由两个数据拥有方进行的xgb模型预测方法、装置及*** Download PDFInfo
- Publication number
- CN111737756B CN111737756B CN202010759820.4A CN202010759820A CN111737756B CN 111737756 B CN111737756 B CN 111737756B CN 202010759820 A CN202010759820 A CN 202010759820A CN 111737756 B CN111737756 B CN 111737756B
- Authority
- CN
- China
- Prior art keywords
- local
- vector
- data owner
- leaf node
- prediction
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供基于两个数据拥有方的XGB模型预测方法及装置。各个数据拥有方的本地预测数据按照垂直切分方式组成XGB模型的预测数据,各个数据拥有方的本地叶结点权重向量基于秘密分享处理得到。各个数据拥有方使用本地子模型结构进行叶结点预测得到各棵树的本地叶结点标志向量,确定各棵树的本地叶结点标志向量与本地叶结点权重向量之间的本地积向量并进行同态加密处理后共享给对端数据拥有方。各个数据拥有方根据本地叶结点标志向量和本地积向量以及对端数据拥有方共享的叶结点标志向量和积向量,确定各自预测值密文并共享给对端数据拥有方。各个数据拥有方使用本地密钥对从对端数据拥有方获取的预测值密文解密,得到各自的模型预测值。
Description
技术领域
本说明书实施例通常涉及人工智能领域,尤其涉及经由两个数据拥有方进行的XGB模型预测方法、装置及***。
背景技术
各种机器学习技术越来越广泛地应用于各种业务应用领域。在进行机器学习时,需要使用大量的业务数据,由此在实际业务场景中,会发生多个业务方来使用各自的业务数据协同进行业务处理,例如,参与业务处理的多个业务方希望使用各自的业务数据共同完成业务模型预测任务。然而,各个业务方所具有的数据是隐私数据,出于数据隐私保护和数据隔离等原因,各个业务方无法使用各自的业务数据直接进行业务模型预测。由此,如何在保护数据安全的基础上进行业务模型预测成为亟待解决的问题。
发明内容
鉴于上述,本说明书实施例提供了一种经由两个数据拥有方进行的XGB模型预测方法、装置及***。利用该方法、装置及***,可以在确保数据隐私安全的基础上实现XGB模型预测。
根据本说明书实施例的一个方面,提供一种用于经由两个数据拥有方进行XGB模型预测的方法,各个数据拥有方分别具有本地预测数据、本地叶结点权重向量、本地子模型结构以及本地密钥,各个数据拥有方的本地预测数据按照垂直切分方式组成XGB模型的预测数据,各个数据拥有方的本地叶结点权重向量通过对XGB模型的叶结点权重向量进行秘密分享处理得到,各个数据拥有方的本地子模型结构组成所述XGB模型,所述方法包括:在各个数据拥有方处,使用本地预测数据来根据本地子模型结构进行叶结点预测得到各棵树的本地叶结点标志向量,并且确定各棵树的本地叶结点标志向量与本地叶结点权重向量之间的本地积向量;各个数据拥有方将各棵树的本地叶结点标志向量以及本地积向量经过同态加密处理后共享给对端数据拥有方;在各个数据拥有方处,根据各棵树的本地叶结点标志向量和本地积向量以及对端数据拥有方共享的各棵树的经过同态加密处理后的叶结点标志向量和积向量,确定各个数据拥有方处的预测值密文;各个数据拥有方将本地确定出的预测值密文发送给对端数据拥有方;以及在各个数据拥有方处,使用本地密钥对从对端数据拥有方获取的预测值密文解密,得到各个数据拥有方处的模型预测值。
可选地,在上述方面的一个示例中,在各个数据拥有方处进行的叶结点预测按照下述方式进行:对于每个己方***结点,沿着根据该己方***结点的***信息确定出的预测路径继续预测,以及对于每个非己方***结点,沿着该非己方***结点的所有下级结点继续预测。
可选地,在上述方面的一个示例中,所述本地叶结点标志向量与本地叶结点权重向量之间的本地积向量根据按位求积得到。
可选地,在上述方面的一个示例中,在各个数据拥有方处,根据各棵树的本地叶结点标志向量和本地积向量以及对端数据拥有方共享的各棵树的经过同态加密后的叶结点标志向量和积向量,确定各个数据拥有方处的预测值密文包括:在各个数据拥有方处,针对各棵树,计算本地叶结点标志向量与对端数据拥有方共享的对应加密积向量之间的内积以及本地积向量与对端数据拥有方共享的对应加密叶结点标志向量之间的内积,并将所计算出的两个内积之和确定为该树的预测值密文;以及在各个数据拥有方处,将各棵树的预测值密文之和确定为该数据拥有方处的预测值密文。
可选地,在上述方面的一个示例中,各个数据拥有方处得到的所有树的本地叶结点标志向量以及本地积向量在经过同态加密处理后一次性共享给对端数据拥有方。
可选地,在上述方面的一个示例中,在XGB模型预测包括分类预测时,所述方法还包括:在各个数据拥有方处,将所得到的模型预测值提供给激活函数得到分类预测结果。
根据本说明书的实施例的另一方面,提供一种用于经由两个数据拥有方进行XGB模型预测的方法,各个数据拥有方分别具有本地预测数据、本地叶结点权重向量、本地子模型结构以及本地密钥,各个数据拥有方的本地预测数据按照垂直切分方式组成XGB模型的预测数据,各个数据拥有方的本地叶结点权重向量通过对XGB模型的叶结点权重向量进行秘密分享处理得到,各个数据拥有方的本地子模型结构组成所述XGB模型,所述方法应用于数据拥有方,所述方法包括:使用本地预测数据来根据本地子模型结构进行叶结点预测得到各棵树的本地叶结点标志向量;确定各棵树的本地叶结点标志向量与本地叶结点权重向量之间的本地积向量;对各棵树的本地叶结点标志向量以及本地积向量进行同态加密;将经过同态加密处理后的各棵树的本地叶结点标志向量和本地积向量共享给对端数据拥有方;根据各棵树的本地叶结点标志向量和本地积向量以及对端数据拥有方共享的各棵树的经过同态加密处理后的叶结点标志向量以及积向量,确定预测值密文;将本地确定出的预测值密文发送给对端数据拥有方以及从对端数据拥有方获取对端数据拥有方本地确定出的预测值密文;以及使用本地密钥对从对端数据拥有方获取的预测值密文解密,得到所述XGB模型的模型预测值。
可选地,在上述方面的一个示例中,根据各棵树的本地叶结点标志向量和本地积向量以及对端数据拥有方共享的各棵树的经过同态加密处理后的叶结点标志向量以及积向量,确定预测值密文包括:针对各棵树,计算本地叶结点标志向量与对端数据拥有方共享的对应加密积向量之间的内积以及本地积向量与对端数据拥有方共享的对应加密叶结点标志向量之间的内积;将所计算出的两个内积之和确定为该树的预测值密文;以及将本地所得到的各棵树的预测值密文之和,确定为预测值密文。
可选地,在上述方面的一个示例中,在XGB模型预测包括分类预测时,所述方法还包括:将所得到的预测值提供给激活函数得到分类预测结果。
根据本说明书的实施例的另一方面,提供一种用于经由两个数据拥有方进行XGB模型预测的装置,各个数据拥有方分别具有本地预测数据、本地叶结点权重向量、本地子模型结构以及本地密钥,各个数据拥有方的本地预测数据按照垂直切分方式组成XGB模型的预测数据,各个数据拥有方的本地叶结点权重向量通过对XGB模型的叶结点权重向量进行秘密分享处理得到,各个数据拥有方的本地子模型结构组成所述XGB模型,所述装置应用于数据拥有方,所述装置包括:叶结点预测单元,使用本地预测数据来根据本地子模型结构进行叶结点预测得到各棵树的本地叶结点标志向量;积向量确定单元,确定各棵树的本地叶结点标志向量与本地叶结点权重向量之间的本地积向量;同态加密单元,对各棵树的本地叶结点标志向量以及本地积向量进行同态加密;向量数据共享单元,将经过同态加密处理后的各棵树的本地叶结点标志向量以及本地积向量共享给对端数据拥有方;预测值密文确定单元,根据各棵树的本地叶结点标志向量和本地积向量以及对端数据拥有方共享的各棵树的经过同态加密处理后的叶结点标志向量以及积向量,确定预测值密文;预测值密文共享单元,将本地确定出的预测值密文发送给对端数据拥有方以及从对端数据拥有方获取对端数据拥有方本地确定出的预测值密文;以及模型预测值确定单元,使用本地密钥对从对端数据拥有方获取的预测值密文解密,得到所述XGB模型的模型预测值。
可选地,在上述方面的一个示例中,所述叶结点预测单元按照下述方式进行叶结点预测:对于每个己方***结点,沿着根据该己方***结点的***信息确定出的预测路径继续预测,以及对于每个非己方***结点,沿着该非己方***结点的所有下级结点继续预测。
可选地,在上述方面的一个示例中,所述积向量确定单元对所述本地叶结点标志向量和本地叶结点权重向量按位求积得到所述本地叶结点标志向量与本地叶结点权重向量之间的本地积向量。
可选地,在上述方面的一个示例中,所述预测值密文确定单元包括:内积计算模块,针对各棵树,计算本地叶结点标志向量与对端数据拥有方共享的对应加密积向量之间的内积以及本地积向量与对端数据拥有方共享的对应加密叶结点标志向量之间的内积;以及预测值密文确定模块,针对每棵树,将所计算出的两个内积之和确定为该树的预测值密文,并且将本地所得到的各棵树的预测值密文之和确定为所述数据拥有方处的预测值密文。
可选地,在上述方面的一个示例中,在XGB模型预测包括分类预测时,所述装置还包括:分类预测单元,将所得到的预测值提供给激活函数得到分类预测结果。
根据本说明书的实施例的另一方面,提供一种用于经由两个数据拥有方进行XGB模型预测的***,包括:第一数据拥有方,包括如上所述的装置;以及第二数据拥有方,包括如上所述的装置,其中,第一和第二数据拥有方分别具有本地预测数据、本地叶结点权重向量、本地子模型结构以及本地密钥,各个数据拥有方的本地预测数据按照垂直切分方式组成XGB模型的预测数据,各个数据拥有方的本地叶结点权重向量通过对XGB模型的叶结点权重向量进行秘密分享处理得到,各个数据拥有方的本地子模型结构组成所述XGB模型。
根据本说明书的实施例的另一方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的方法。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的实施例的垂直切分数据集的示例示意图。
图2示出了XGB模型的示例示意图。
图3示出了根据本说明书的实施例的用于经由第一和第二数据拥有方进行XGB模型预测的模型预测***的架构示意图。
图4示出了根据本说明书的实施例的用于经由第一和第二数据拥有方进行XGB模型预测的方法的流程图。
图5示出了根据本说明书的实施例的叶结点标志向量确定过程的一个示例的示意图。
图6示出了根据本说明书的实施例的预测值密文确定过程的一个示例的流程图。
图7示出了根据本说明书的实施例的用于经由第一和第二数据拥有方进行XGB模型预测的装置的一个示例的方框图。
图8示出了根据本说明书的实施例的预测值密文确定单元的一个示例的方框图。
图9示出了根据本说明书的实施例的用于实现数据拥有方侧的XGB模型预测过程的电子设备的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本说明书中,术语“第一数据拥有方”与“第一数据拥有方设备”可互换使用。术语“第二数据拥有方”与“第二数据拥有方设备”可互换使用。
在本说明书中,术语“同态加密”是一种密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与使用同一方法处理未加密的原始数据得到的输出结果一样。
术语“秘密共享”是一种将秘密(secret)分解存储的密码技术,其将秘密以适当的方式拆分成多个份额(share),每个份额由多个参与方(例如,数据拥有方)中的一个参与方拥有和管理,单个参与方无法恢复完整秘密,只有若干个参与方共同协作才能恢复完整秘密。秘密共享方法目标在于阻止秘密过于集中,以达到分散风险和容忍入侵的目的。
术语“梯度提升”是一种组成集成弱分类器输出进行预测的机器学习技术。与其他提升方法一样,梯度提升采用分步学习方式得到最终模型。
在本说明书中,模型预测过程所使用的预测数据由两个数据拥有方共同拥有。每个数据拥有方拥有部分预测数据,并且每个数据拥有方所拥有的部分预测数据按照垂直切分方式组成模型预测过程所使用的预测数据。术语“垂直切分方式”是指按照模块/功能(或者某种指定规则)来将预测数据切分为多个部分预测数据,各个部分预测数据包含预测数据中的每条预测数据样本的部分特征值,两个数据拥有方所具有的部分特征值构成该条预测数据样本的完整特征值。在一个例子中,假设预测数据样本包括特征值、 ,则按照垂直切分方式,数据拥有方Alice拥有该预测数据样本的 ,以及数据拥有方Bob拥有该预测数据样本的 。在另一个例子中,假设预测数据样本包括特征值 、 、,则按照垂直切分方式,数据拥有方Alice拥有该预测数据样本的特征值 和,以及数据拥有方Bob拥有该预测数据样本的 和 。除了这两个例子之外,还有其他可能的情况,这里不一一列举。
在本说明书中,两个数据拥有方各自拥有模型预测过程所使用的预测数据样本的不同部分特征值。例如,假设预测数据样本集包括100个预测数据样本,每一个预测数据样本包含多个特征值(也可以称为“特征数据”),由此,100个预测数据样本中的特征值组成用于模型训练的特征数据。在垂直切分数据集的情况下,第一数据拥有方拥有的数据可以是该100个预测数据样本中的每个预测数据样本的部分特征值,以及第二数据拥有方拥有的数据可以是该100个预测数据样本中的每个预测数据样本的剩余特征值。例如,假设预测数据样本具有特征值f1到f6,则第一数据拥有方可以具有特征值f1到f3,以及第二数据拥有方可以具有特征值f4到f6。
在本说明书中的任何地方描述的矩阵乘法计算,需要根据情况来确定是否对参与矩阵乘法的两个或多个矩阵中的一个或多个对应的矩阵进行转置处理,以满足矩阵乘法规则,由此完成矩阵乘法计算。
下面将结合附图来详细描述根据本说明书实施例的基于样本加权的线性回归模型训练方法、装置以及***。
图1示出了根据本说明书实施例的垂直切分数据集的示例的示意图。图1中示出了2个数据拥有方Alice和Bob。每个数据拥有方Alice和Bob拥有预测数据本集中的所有预测数据样本中的每条预测数据样本的部分特征值,对于每条预测数据样本,数据拥有方Alice和Bob拥有的部分特征值组合在一起,可以构成该预测数据样本的完整特征值。比如,假设某个预测数据样本包括特征数据 和 ,则数据拥有方Alice拥有该预测数据样本的特征数据 ,以及数据拥有方Bob拥有该预测数据样本的特征数据 。
梯度提升决策树(Gradient Boosting Decision Tree,GBDT)是基于提升(boosting)增强策略的加法模型,训练时采用前向分布算法进行贪婪学习,每次迭代都学习一棵CART树来拟合之前 t-1 棵树的预测结果与训练样本真实值的残差。XGB(extremegradient boosting)是GBDT的一种工业实现,通过不断增加新树,拟合伪残差来降低损失函数。XGB模型基于特征生成多棵回归树,每棵回归树学习相应的残差,残差之和即为数据样本的预测值。
图2示出了XGB模型的示例示意图。在图2中示出的XGB模型包括两棵树(决策树),树1和树2。在其他实施例中,XGB模型可以包括更多的树。
对于每棵决策树,假设存在T个叶结点,则该棵决策树模型可以记为:,其中, 是由特征输入x向叶结点编号的映射,其本质是树的分支结构。 是叶结点权重向量,叶结点权重向量为。假设实例 x 落在决策树的叶结点j,则其预测输出值为叶结点j的权重值 。
如图2所示,树1具有2个***结点以及3个叶结点,以及树2具有1个***结点以及2个叶结点。在树1中,第一个***结点的***特征为{age<15},以及第二个***结点的***特征为。在树2中,***结点的***特征为{use computer daily}。树1的叶结点权重向量为 ,即, 。树2的叶结点权重向量为,即, 。假设实例 x 落在树1的叶结点1,则预测值为+2。如果同时落在树1的叶结点1和树2的叶结点1,则预测值为+2+0.9=+2.9,如图2所示。
图3示出了根据本说明书实施例的用于经由第一和第二数据拥有方进行XGB模型预测的模型预测***1的架构示意图。
如图3所示,模型预测***1包括第一数据拥有方A 10以及第二数据拥有方B 20。第一数据拥有方A 10以及第二数据拥有方B 20可以通过例如但不局限于互联网或局域网等的网络30相互通信。
第一数据拥有方A 10具有本地预测数据 、本地XGB模型结构(本地子模型结构)以及本地密钥 ,以及第二数据拥有方B 20具有本地预测数据 、本地XGB模型结构(本地子模型结构)以及本地密钥 。第一数据拥有方A 10和第二数据拥有方B 20的本地预测数据 和 按照如图1中所示的垂直切分方式组成XGB模型所使用的预测数据X。第一和第二数据拥有方的本地XGB模型结构具有XGB模型的部分树结构,各个数据拥有方所具有的部分树结构由相同的结点组成,但XGB模型的树结构的***节点的***特征和***值只会保存在单个数据拥有方侧的对应结点处,而对端数据拥有方的对应结点为空结点,各个本地XGB模型结构的本地叶结点权重向量 、 通过对XGB模型的叶结点权重向量进行秘密分享处理得到,由此第一和第二数据拥有方的本地子模型结构组成用于模型预测的XGB模型。这里,各个数据拥有方所具有的模型参数和预测数据是该数据拥有方的秘密,不能被其他数据拥有方获悉或者完整地获悉。
第一数据拥有方A 10和第二数据拥有方B 20分别具有模型预测装置11和21,第一数据拥有方A 10中的模型预测装置11和第二数据拥有方B 20中的模型预测装置21一起使用各自的预测数据来协同进行XGB模型预测。关于具体模型预测过程将在下面参照图4到图8进行详细描述。
在本说明书中,第一数据拥有方A 10以及第二数据拥有方B 20可以是任何合适的具有计算能力的计算设备。所述计算设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
图4示出了根据本说明书的实施例的用于经由第一和第二数据拥有方进行XGB模型预测的方法400的流程图。
如图4所示,在410,在第一数据拥有方10处,使用本地预测数据 来根据本地子模型结构进行叶结点预测,得到XGB模型中的各棵树的本地叶结点标志向量 。在第二数据拥有方20处,使用本地预测数据 来根据本地子模型结构进行叶结点预测,得到XGB模型中的各棵树的本地叶结点标志向量 。
图5示出了根据本说明书的实施例的叶结点标志向量确定过程的一个示例的示意图。在图5的示例中,以单棵树为例进行说明。
如图5所示,XGB模型的树结构包括结点N1到N5,其中,N1是根结点,N2是中间结点,以及N3到N5是叶结点,并且N1和N2是***结点。数据拥有方A所具有的本地XGB模型的树结构包括结点N1到N5,但中间结点N2不是己方结点(由虚线示出),从而数据拥有方A具有***结点N1的***信息,但不具有***结点N2的***信息,数据拥有方A所具有的中间结点N2为空结点。数据拥有方B所具有的本地XGB模型的树结构包括结点N1到N5,但根结点N1不是己方结点(由虚线示出),从而数据拥有方B具有***结点N2的***信息,但不具有***结点N1的***信息,数据拥有方B所具有的根结点N1为空结点。
在使用预测数据进行模型预测时,实际预测路径如图5的上图所示,即,从根结点N1到中间结点N2,再由中间结点到叶结点N5。在使用两个数据拥有方侧具有的部分树结构进行预测时,对于每个己方***结点,由于己方***结点具有***信息,从而可以沿着根据该己方***结点的***信息确定出的预测路径继续预测,而对于每个非己方***结点,由于不具有***信息,从而不能确定出预测路径,由此沿着该非己方***结点的所有下级结点继续预测。
具体地,在使用数据拥有方A侧的树结构进行预测时,所对应的预测路径如图5的左下图所示,即,从根结点N1到非己方***结点N2,再由非己方***结点N2到叶结点N4和N5,所得到的叶结点标志向量为 。在使用数据拥有方B侧的树结构进行预测时,所对应的预测路径如图5的右下图所示,即,从根结点(非己方***结点)N1到中间结点(己方***结点)N2和叶结点N3,再由己方***结点N2到叶结点N5,所得到的叶结点标志向量为 。
回到图4,在420处,在各个数据拥有方处,确定各棵树的本地叶结点标志向量与本
地叶结点权重向量之间的本地积向量。具体地,在第一数据拥有方A处,计算各棵树的本地
叶结点标志向量 与本地叶结点权重向量 之间的本地积向量 。在一个示例中,所述本地叶结点标志向量与本地叶结点权重向量之
间的本地积向量根据按位求积得到,即, ,这里,是按位积运算。例
如,如图5中的示例所示,数据拥有方A的叶结点权重向量为 ,数据拥有
方B的叶结点权重向量为 ,则,以及,其中, , ,以及 。
在430,在各个数据拥有方,分别使用本地密钥和 ,对各棵树的本地叶结点标志向量 、 以及本地积向量 、 进行同态加密,由此得到 、、和 。此外,数据拥有方A和B还可以分别具有树模型基础分值和 。相应地,对树模型基础分值 和 也分别使用各自的本地密钥进行同态加密,得到 和 。
在450,在各个数据拥有方处,根据各棵树的本地叶结点标志向量和本地积向量以及对端数据拥有方共享的各棵树的经过同态加密处理后的叶结点标志向量和积向量,确定各个数据拥有方处的预测值密文。
图6示出了根据本说明书的实施例的预测值密文确定过程600的一个示例的流程图。图6中示出的是数据拥有方A处的预测值密文确定过程。
如图6所示,在610,在数据拥有方A处,针对各棵树(例如,第i棵树),计算本地叶结点标志向量与对端数据拥有方共享的对应加密积向量之间的内积以及本地积向量与对端数据拥有方共享的对应加密叶结点标志向量之间的内积。例如,在数据拥有方A处,计算以及 。同样,在数据拥有方B处,计算 以及。
回到图4,在数据拥有方A和B分别得到预测值密文 和 后,在460,各个数据拥有方将本地确定出的预测值密文发送给对端数据拥有方。即,数据拥有方A将预测值密文 发送给数据拥有方B,以及数据拥有方B将预测值密文 发送给数据拥有方A。
此外,可选地,在一个示例中,各个数据拥有方处得到的所有树的本地叶结点标志向量以及本地积向量在经过同态加密处理后一次性共享给对端数据拥有方。在另一示例中,各个数据拥有方在得到每棵树的本地叶结点标志向量以及本地积向量后,就对所得到的本地叶结点标志向量以及本地积向量进行同态加密并共享给对端数据拥有方。
利用图1-图6中公开的模型预测方法,可以在各个数据拥有方具有垂直切分数据集的情况下,通过使用基于秘密共享的多方安全计算协议并结合同态加密,可以在确保各个数据拥有方的数据隐私安全的基础上实现XGB模型预测。
此外,利用上述方法,通过将各个数据拥有方处得到的所有树的本地叶结点标志向量以及本地积向量在经过同态加密处理后一次性共享给对端数据拥有方,可以最小化两个数据拥有方之间的交互次数,由此缩短XGB模型预测时间,尤其在网络延迟很大的情况下。
图7示出了根据本说明书实施例的用于经由第一和第二数据拥有方进行XGB模型预测的装置(下文中称为模型预测装置)700的示意图。在该实施例中,各个数据拥有方分别具有本地预测数据、本地叶结点权重向量、本地子模型结构以及本地密钥,各个数据拥有方的本地预测数据按照垂直切分方式组成XGB模型的预测数据,各个数据拥有方的本地叶结点权重向量通过对XGB模型的叶结点权重向量进行秘密分享处理得到,各个数据拥有方的本地子模型结构组成所述XGB模型。模型预测装置700应用于数据拥有方。
如图7所示,模型预测装置700包括叶结点预测单元710、积向量确定单元720、同态加密单元730、向量数据共享单元740、预测值密文确定单元750、预测值密文共享单元760和模型预测值确定单元770。
叶结点预测单元710被配置为使用本地预测数据来根据本地子模型结构进行叶结点预测得到XGB模型中的各棵树的本地叶结点标志向量。在一个示例中,叶结点预测单元710可以按照下述方式进行叶结点预测:对于每个己方***结点,沿着根据该己方***结点的***信息确定出的预测路径继续预测,以及对于每个非己方***结点,沿着该非己方***结点的所有下级结点继续预测。叶结点预测单元710的操作可以参考上面参照图4描述的410的操作。
积向量确定单元720被配置为确定各棵树的本地叶结点标志向量与本地叶结点权重向量之间的本地积向量。积向量确定单元720的操作可以参考上面参照图4描述的420的操作。
同态加密单元730被配置为对各棵树的本地叶结点标志向量以及本地积向量进行同态加密。同态加密单元730的操作可以参考上面参照图4描述的430的操作。
向量数据共享单元740被配置为将经过同态加密处理后的各棵树的本地叶结点标志向量以及本地积向量共享给对端数据拥有方。向量数据共享单元740的操作可以参考上面参照图4描述的440的操作。
预测值密文确定单元750被配置为根据各棵树的本地叶结点标志向量和本地积向量以及对端数据拥有方共享的各棵树的经过同态加密处理后的叶结点标志向量以及积向量,确定预测值密文。预测值密文确定单元750的操作可以参考上面参照图4描述的450的操作。
预测值密文共享单元760被配置为将本地确定出的预测值密文发送给对端数据拥有方以及从对端数据拥有方获取对端数据拥有方本地确定出的预测值密文。预测值密文共享单元760的操作可以参考上面参照图4描述的460的操作。
模型预测值确定单元770被配置为使用本地密钥对从对端数据拥有方获取的预测值密文解密,得到XGB模型的模型预测值。模型预测值确定单元770的操作可以参考上面参照图4描述的470的操作。
图8示出了根据本说明书的实施例的预测值密文确定单元800的一个示例的方框图。如图8所示,预测值密文确定单元800包括内积计算模块810和预测值密文确定模块820。
内积计算模块810被配置为针对各棵树,计算本地叶结点标志向量与对端数据拥有方共享的对应加密积向量之间的内积以及本地积向量与对端数据拥有方共享的对应加密叶结点标志向量之间的内积。内积计算模块810的操作可以参考上面参照图6描述的610的操作。
预测值密文确定模块820被配置为针对每棵树,将所计算出的两个内积之和确定为该树的预测值密文,并且将本地所得到的各棵树的预测值密文之和确定为所述数据拥有方处的预测值密文。预测值密文确定模块820的操作可以参考上面参照图6描述的620和630的操作。
此外,可选地,在一个示例中,在XGB模型预测包括分类预测时,模型预测装置800还可以包括分类预测单元(未示出)。分类预测单元将所得到的预测值提供给激活函数得到分类预测结果。
如上参照图1到图8,对根据本说明书实施例的模型预测方法、模型预测装置及模型预测***进行了描述。上面的模型预测装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图9示出了根据本说明书的实施例的用于实现数据拥有方侧的XGB模型预测过程的电子设备900的示意图。如图9所示,电子设备900可以包括至少一个处理器910、存储器(例如,非易失性存储器)920、内存930和通信接口940,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线960连接在一起。至少一个处理器910执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器910:使用本地预测数据来根据本地子模型结构进行叶结点预测得到各棵树的本地叶结点标志向量;确定各棵树的本地叶结点标志向量与本地叶结点权重向量之间的本地积向量;对各棵树的本地叶结点标志向量以及本地积向量进行同态加密;将经过同态加密处理后的各棵树的本地叶结点标志向量和本地积向量共享给对端数据拥有方;根据各棵树的本地叶结点标志向量和本地积向量以及对端数据拥有方共享的各棵树的经过同态加密处理后的叶结点标志向量以及积向量,确定预测值密文;将本地确定出的预测值密文发送给对端数据拥有方以及从对端数据拥有方获取对端数据拥有方本地确定出的预测值密文;以及使用本地密钥对从对端数据拥有方获取的预测值密文解密,得到所述XGB模型的模型预测值。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器910进行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。
根据一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的***或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各***结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (12)
1.一种用于经由两个数据拥有方进行XGB模型预测的方法,各个数据拥有方分别具有本地预测数据、本地叶结点权重向量、本地子模型结构以及本地密钥,各个数据拥有方的本地预测数据按照垂直切分方式组成XGB模型的预测数据,各个数据拥有方的本地叶结点权重向量通过对XGB模型的叶结点权重向量进行秘密分享处理得到,各个数据拥有方的本地子模型结构组成所述XGB模型,所述方法由数据拥有方执行,所述方法包括:
使用本地预测数据来根据本地子模型结构进行叶结点预测得到各棵树的本地叶结点标志向量,并且确定各棵树的本地叶结点标志向量与本地叶结点权重向量之间的本地积向量;
将各棵树的本地叶结点标志向量以及本地积向量经过同态加密处理后共享给对端数据拥有方,以及从所述对端数据拥有方获取所述对端数据拥有方在本地得到的经过同态加密处理后的各棵树的本地叶结点标志向量以及本地积向量;
根据各棵树的本地叶结点标志向量和本地积向量以及从所述对端数据拥有方获取的各棵树的经过同态加密处理后的本地叶结点标志向量和本地积向量,确定所述数据拥有方处的预测值密文;
将本地确定出的预测值密文发送给所述对端数据拥有方以及从所述对端数据拥有方获取所述对端数据拥有方本地确定出的预测值密文;以及
使用本地密钥对从所述对端数据拥有方获取的预测值密文解密,得到所述数据拥有方处的模型预测值,
其中,根据各棵树的本地叶结点标志向量和本地积向量以及从所述对端数据拥有方获取的各棵树的经过同态加密后的本地叶结点标志向量和本地积向量,确定所述数据拥有方处的预测值密文包括:
针对各棵树,计算本地叶结点标志向量与所述对端数据拥有方的对应加密本地积向量之间的内积以及本地积向量与所述对端数据拥有方的对应加密本地叶结点标志向量之间的内积,并将所计算出的两个内积之和确定为该树的预测值密文;以及
将各棵树的预测值密文之和确定为所述数据拥有方处的预测值密文。
2.如权利要求1所述的方法,其中,在所述数据拥有方处进行的叶结点预测按照下述方式进行:
对于每个己方***结点,沿着根据该己方***结点的***信息确定出的预测路径继续预测,以及对于每个非己方***结点,沿着该非己方***结点的所有下级结点继续预测。
3.如权利要求1所述的方法,其中,所述本地叶结点标志向量与本地叶结点权重向量之间的本地积向量根据按位求积得到。
4.如权利要求1所述的方法,其中,所述数据拥有方处得到的所有树的本地叶结点标志向量以及本地积向量在经过同态加密处理后一次性共享给所述对端数据拥有方。
5.如权利要求1所述的方法,其中,在XGB模型预测包括分类预测时,所述方法还包括:
将所得到的模型预测值提供给激活函数得到分类预测结果。
6.一种用于经由两个数据拥有方进行XGB模型预测的装置,各个数据拥有方分别具有本地预测数据、本地叶结点权重向量、本地子模型结构以及本地密钥,各个数据拥有方的本地预测数据按照垂直切分方式组成XGB模型的预测数据,各个数据拥有方的本地叶结点权重向量通过对XGB模型的叶结点权重向量进行秘密分享处理得到,各个数据拥有方的本地子模型结构组成所述XGB模型,所述装置应用于数据拥有方,所述装置包括:
叶结点预测单元,使用本地预测数据来根据本地子模型结构进行叶结点预测得到各棵树的本地叶结点标志向量;
积向量确定单元,确定各棵树的本地叶结点标志向量与本地叶结点权重向量之间的本地积向量;
同态加密单元,对各棵树的本地叶结点标志向量以及本地积向量进行同态加密;
向量数据共享单元,将经过同态加密处理后的各棵树的本地叶结点标志向量以及本地积向量共享给对端数据拥有方,以及从所述对端数据拥有方获取所述对端数据拥有方在本地得到的各棵树的经过同态加密处理后的本地叶结点标志向量以及本地积向量;
预测值密文确定单元,根据各棵树的本地叶结点标志向量和本地积向量以及从所述对端数据拥有方获取的各棵树的经过同态加密处理后的本地叶结点标志向量以及本地积向量,确定预测值密文;
预测值密文共享单元,将本地确定出的预测值密文发送给所述对端数据拥有方以及从所述对端数据拥有方获取所述对端数据拥有方本地确定出的预测值密文;以及
模型预测值确定单元,使用本地密钥对从所述对端数据拥有方获取的预测值密文解密,得到所述XGB模型的模型预测值,
其中,所述预测值密文确定单元包括:
内积计算模块,针对各棵树,计算本地叶结点标志向量与所述对端数据拥有方的对应加密本地积向量之间的内积以及本地积向量与所述对端数据拥有方的对应加密本地叶结点标志向量之间的内积;以及
预测值密文确定模块,针对每棵树,将所计算出的两个内积之和确定为该树的预测值密文,并且将本地所得到的各棵树的预测值密文之和确定为所述数据拥有方处的预测值密文。
7.如权利要求6所述的装置,其中,所述叶结点预测单元按照下述方式进行叶结点预测:
对于每个己方***结点,沿着根据该己方***结点的***信息确定出的预测路径继续预测,以及对于每个非己方***结点,沿着该非己方***结点的所有下级结点继续预测。
8.如权利要求6所述的装置,其中,所述积向量确定单元对所述本地叶结点标志向量和本地叶结点权重向量按位求积得到所述本地叶结点标志向量与本地叶结点权重向量之间的本地积向量。
9.如权利要求6所述的装置,其中,在XGB模型预测包括分类预测时,所述装置还包括:
分类预测单元,将所得到的模型预测值提供给激活函数得到分类预测结果。
10.一种用于经由两个数据拥有方进行XGB模型预测的***,包括:
第一数据拥有方,包括如权利要求6到9中任一所述的装置;以及
第二数据拥有方,包括如权利要求6到9中任一所述的装置,
其中,第一和第二数据拥有方分别具有本地预测数据、本地叶结点权重向量、本地子模型结构以及本地密钥,各个数据拥有方的本地预测数据按照垂直切分方式组成XGB模型的预测数据,各个数据拥有方的本地叶结点权重向量通过对XGB模型的叶结点权重向量进行秘密分享处理得到,各个数据拥有方的本地子模型结构组成所述XGB模型。
11.一种电子设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到5中任一所述的方法。
12.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010759820.4A CN111737756B (zh) | 2020-07-31 | 2020-07-31 | 经由两个数据拥有方进行的xgb模型预测方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010759820.4A CN111737756B (zh) | 2020-07-31 | 2020-07-31 | 经由两个数据拥有方进行的xgb模型预测方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737756A CN111737756A (zh) | 2020-10-02 |
CN111737756B true CN111737756B (zh) | 2020-11-24 |
Family
ID=72656769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010759820.4A Active CN111737756B (zh) | 2020-07-31 | 2020-07-31 | 经由两个数据拥有方进行的xgb模型预测方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737756B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199706B (zh) * | 2020-10-26 | 2022-11-22 | 支付宝(杭州)信息技术有限公司 | 基于多方安全计算的树模型的训练方法和业务预测方法 |
CN112464287B (zh) * | 2020-12-12 | 2022-07-05 | 同济大学 | 基于秘密共享与联邦学习的多方XGBoost安全预测模型训练方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062487A (zh) * | 2019-11-28 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的机器学习模型特征筛选方法及装置 |
CN111275202A (zh) * | 2020-02-20 | 2020-06-12 | 济南大学 | 一种面向数据隐私保护的机器学习预测方法及*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002861B (zh) * | 2018-08-10 | 2021-11-09 | 深圳前海微众银行股份有限公司 | 联邦建模方法、设备及存储介质 |
CN110457912B (zh) * | 2019-07-01 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
CN111026788B (zh) * | 2019-11-04 | 2023-04-21 | 武汉科技大学 | 一种混合云中基于同态加密的多关键词密文排序检索方法 |
CN111401565B (zh) * | 2020-02-11 | 2023-07-04 | 西安电子科技大学 | 一种基于机器学习算法XGBoost的DOA估计方法 |
CN111401570B (zh) * | 2020-04-10 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 针对隐私树模型的解释方法和装置 |
-
2020
- 2020-07-31 CN CN202010759820.4A patent/CN111737756B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111062487A (zh) * | 2019-11-28 | 2020-04-24 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的机器学习模型特征筛选方法及装置 |
CN111275202A (zh) * | 2020-02-20 | 2020-06-12 | 济南大学 | 一种面向数据隐私保护的机器学习预测方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111737756A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tanuwidjaja et al. | Privacy-preserving deep learning on machine learning as a service—a comprehensive survey | |
WO2021164365A1 (zh) | 图神经网络模型训练方法、装置及*** | |
US11816226B2 (en) | Secure data processing transactions | |
CN111523673B (zh) | 模型训练方法、装置及*** | |
CN110942147B (zh) | 基于多方安全计算的神经网络模型训练及预测方法、装置 | |
WO2020015478A1 (zh) | 基于模型的预测方法和装置 | |
CN111061963B (zh) | 基于多方安全计算的机器学习模型训练及预测方法、装置 | |
CN108521326B (zh) | 一种基于向量同态加密的隐私保护的线性svm模型训练方法 | |
Liu et al. | Secure multi-label data classification in cloud by additionally homomorphic encryption | |
CN111741020B (zh) | 基于数据隐私保护的公共数据集确定方法、装置及*** | |
JP2016512611A (ja) | プライバシー保護リッジ回帰 | |
CN112101531B (zh) | 基于隐私保护的神经网络模型训练方法、装置及*** | |
CN112132270B (zh) | 基于隐私保护的神经网络模型训练方法、装置及*** | |
CN111523134B (zh) | 基于同态加密的模型训练方法、装置及*** | |
CN111737756B (zh) | 经由两个数据拥有方进行的xgb模型预测方法、装置及*** | |
CN111523556B (zh) | 模型训练方法、装置及*** | |
CN110929887B (zh) | 逻辑回归模型训练方法、装置及*** | |
CN111523674B (zh) | 模型训练方法、装置及*** | |
CN112380404B (zh) | 数据过滤方法、装置及*** | |
CN110874481A (zh) | 一种基于gbdt模型的预测方法和装置 | |
CN112183757B (zh) | 模型训练方法、装置及*** | |
CN111738453B (zh) | 基于样本加权的业务模型训练方法、装置及*** | |
CN112183759A (zh) | 模型训练方法、装置及*** | |
CN111523675A (zh) | 模型训练方法、装置及*** | |
CN115580496B (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 |