CN110874481B - 一种基于gbdt模型的预测方法和装置 - Google Patents

一种基于gbdt模型的预测方法和装置 Download PDF

Info

Publication number
CN110874481B
CN110874481B CN201811015503.0A CN201811015503A CN110874481B CN 110874481 B CN110874481 B CN 110874481B CN 201811015503 A CN201811015503 A CN 201811015503A CN 110874481 B CN110874481 B CN 110874481B
Authority
CN
China
Prior art keywords
model
provider
data
gbdt
values
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
Application number
CN201811015503.0A
Other languages
English (en)
Other versions
CN110874481A (zh
Inventor
刘正
王华忠
殷山
应鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201811015503.0A priority Critical patent/CN110874481B/zh
Publication of CN110874481A publication Critical patent/CN110874481A/zh
Application granted granted Critical
Publication of CN110874481B publication Critical patent/CN110874481B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供一种基于GBDT模型的预测方法和装置,其中,在模型提供方执行的所述方法包括:从所述数据提供方接收预测请求;获取与所述多棵决策树分别对应的多个第一数值;将每棵决策树的各个叶子节点的数值与对应的第一数值相加,以获取各个叶子节点的加密数值;以及与所述数据提供方执行安全多方计算协议,以使得所述数据提供方基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果。

Description

一种基于GBDT模型的预测方法和装置
技术领域
本说明书实施例涉及数据处理技术领域,更具体地,涉及一种基于GBDT模型的预测方法和装置。
背景技术
在大数据时代,很多云计算服务器提供了模型预测服务,基于训练好的模型针对用户(数据方)的输入数据输出模型预测结果,例如,基于用户提供的信息帮助用户预测车辆的二手价格、预测用户的可贷款金额、用户的身体健康状况等等。然而,在这些预测中,通常会涉及用户的财产隐私、身体隐私等。因此,用户希望在使用模型预测服务的同时,还可以保护个人隐私。另一方面,模型中包含的特征标签等信息也是商户(模型方)的私有数据,具有重要的商业价值,模型方希望在模型预测的同时保证模型的数据不外泄。
基于上述需求,在现有技术的一种基于GBDT的安全计算协议中,在汇总结算每个分类器的结果时,将每个分类器的结果增加随机数,以混淆每个弱分类器的结果。数据方将所有弱分类器随机数进行加密,并将公钥一并发送给模型方,模型方在密文上完成同态计算,得到模型的密文结果。最后模型方将密文结果发送给数据方进行解密。
因此,需要一种更有效的基于GBDT模型的预测方法和装置。
发明内容
本说明书实施例旨在提供一种更有效的基于GBDT模型的预测方法和装置,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种基于GBDT模型的预测方法,其中,所述方法在模型提供方执行,所述模型提供方包括GBDT模型,所述GBDT模型中包括多棵决策树,所述GBDT模型的输入数据由数据提供方提供,所述方法包括:
从所述数据提供方接收预测请求;
获取与所述多棵决策树分别对应的多个第一数值;
将每棵决策树的各个叶子节点的数值与对应的第一数值相加,以获取各个叶子节点的加密数值;以及
与所述数据提供方执行安全多方计算协议,以使得所述数据提供方基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,其中,所述加密结果为对应叶子节点的所述加密数值,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取。
在一个实施例中,在所述基于GBDT模型的预测方法中,所述多个第一数值之和由所述数据提供方与所述模型提供方预先约定。
在一个实施例中,在所述基于GBDT模型的预测方法中,所述多个第一数值分别为独立获取的随机数,所述方法还包括,在获取与所述多棵决策树分别对应的多个第一数值之后,将所述多个第一数值之和发送给所述数据提供方。
在一个实施例中,所述基于GBDT模型的预测方法还包括,在将每棵决策树的各个叶子节点的数值与对应的第一数值相加之前,对所述多棵决策树的结构进行加密。
在一个实施例中,在所述基于GBDT模型的预测方法中,对所述多棵决策树的结构进行加密包括,将所述多棵决策树填充为满二叉树。
本说明书另一方面提供一种基于GBDT模型的预测方法,其中,所述GBDT模型由模型提供方提供,所述GBDT模型中包括多棵决策树,所述方法在数据提供方执行,包括:
获取输入数据;
向所述模型提供方发送预测请求;
与所述模型提供方执行安全计算协议,以基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取,其中,所述加密结果为对应叶子节点的加密数值,所述加密数值通过上述模型提供方的方法获取;以及
通过将所述多个加密结果相加并减去第二数值,获取所述GBDT模型基于所述输入数据的明文预测结果,其中,所述第二数值为通过上述模型提供方的方法获取的多个第一数值之和。
在一个实施例中,在所述基于GBDT模型的预测方法中,与所述模型提供方执行安全计算协议包括,在所述多棵决策树的每个父节点处与所述模型提供方执行比较协议,以确定与所述多个加密结果分别对应的多个叶子节点编号,并使得对所述数据提供方隐藏所述模型的参数、对所述模型提供方隐藏所述输入数据和所述多个叶子节点编号。
在一个实施例中,在所述基于GBDT模型的预测方法中,与所述模型提供方执行安全计算协议包括,与所述模型提供方执行不经意传输协议,以基于所述多个叶子节点编号从所述模型提供方获取所述多个加密结果,并使得对所述模型提供方隐藏所述数据提供方对所述多个加密结果的获取。
本说明书另一方面提供一种基于GBDT模型的预测装置,其中,所述装置在模型提供方实施,所述模型提供方包括GBDT模型,所述GBDT模型中包括多棵决策树,所述GBDT模型的输入数据由数据提供方提供,所述装置包括:
接收单元,配置为,从所述数据提供方接收预测请求;
获取单元,配置为,获取与所述多棵决策树分别对应的多个第一数值;
相加单元,配置为,将每棵决策树的各个叶子节点的数值与对应的第一数值相加,以获取各个叶子节点的加密数值;以及
执行单元,配置为,与所述数据提供方执行安全多方计算协议,以使得所述数据提供方基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,其中,所述加密结果为对应叶子节点的所述加密数值,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取。
在一个实施例中,在所述基于GBDT模型的预测装置中,所述多个第一数值分别为独立获取的随机数,所述装置还包括发送单元,配置为,在获取与所述多棵决策树分别对应的多个第一数值之后,将所述多个第一数值之和发送给所述数据提供方。
在一个实施例中,所述基于GBDT模型的预测装置还包括加密单元,配置为,在将每棵决策树的各个叶子节点的数值与对应的第一数值相加之前,对所述多棵决策树的结构进行加密。
在一个实施例中,在所述基于GBDT模型的预测装置中,所述加密单元还配置为,将所述多棵决策树填充为满二叉树。
本说明书另一方面提供一种基于GBDT模型的预测装置,其中,所述GBDT模型由模型提供方提供,所述GBDT模型中包括多棵决策树,所述方法在数据提供方实施,包括:
获取单元,配置为,获取输入数据;
发送单元,配置为,向所述模型提供方发送预测请求;
执行单元,配置为,与所述模型提供方执行安全计算协议,以基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取,其中,所述加密结果为对应叶子节点的加密数值,所述加密数值通过上述模型提供方的装置获取;以及
预测单元,配置为,通过将所述多个加密结果相加并减去第二数值,获取所述GBDT模型基于所述输入数据的明文预测结果,其中,所述第二数值为通过上述模型提供方的装置获取的多个第一数值之和。
在一个实施例中,在所述基于GBDT模型的预测装置中,所述执行单元还配置为,在所述多棵决策树的每个父节点处与所述模型提供方执行比较协议,以确定与所述多个加密结果分别对应的多个叶子节点编号,并使得对所述数据提供方隐藏所述模型的参数、对所述模型提供方隐藏所述输入数据和所述多个叶子节点编号。
在一个实施例中,在所述基于GBDT模型的预测装置中,所述执行单元还配置为,与所述模型提供方执行不经意传输协议,以基于所述多个叶子节点编号从所述模型提供方获取所述多个加密结果,并使得对所述模型提供方隐藏所述数据提供方对所述多个加密结果的获取。
本说明书另一方面还提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项基于GBDT模型的预测方法。
通过根据本说明书实施例的基于GBDT模型的预测方案,数据提供方通过模型提供方的GBDT模型获取了基于数据提供方数据的预测结果,而无法获知模型提供方的模型参数、模型结构、以及各棵决策树的结果,同时,模型提供方无法获知数据提供方的输入数据、以及预测结果。该方案满足了例如云服务中的数据提供方与模型提供方的双方需求,并且计算量相对较低,节省了计算时间,改善用户的体验。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出根据本说明书实施例的基于GBDT模型的预测系统100;
图2示出了根据本说明书实施例的一种基于GBDT模型的预测方法的流程图;
图3示意示出了对加密数值的获取;
图4示出了对图3所示的决策树进行填充所获取的三棵满二叉树;
图5示意示出了在一般情况下使用GBDT模型进行预测的实例;
图6示意示出了模型提供方向数据提供方示出的GBDT模型;
图7示出了根据本说明书实施例的一种基于GBDT模型的预测方法的流程图;
图8示出了根据本说明书实施例的一种基于GBDT模型的预测装置800;以及
图9示出根据本说明书实施例的一种基于GBDT模型的预测装置900。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的基于GBDT模型的预测系统100。如图1所示,系统100包括模型提供方11和数据提供方12。模型提供方11例如为云计算服务器,其包括已经训练好的适用于特定预测的GBDT模型。数据提供方12包括用于通过所述GBDT模型进行预测的特定特征数据。其中,模型提供方11包括加密单元111和安全计算单元112,数据提供方12包括解密单元121和安全计算单元122。在使用GBDT模型基于数据提供方的数据进行预测时,在模型提供方11中,通过对GBDT模型中各个决策树的树结构进行调整,从而对树结构进行加密,另外,对每棵决策树确定对应的掩蔽值Ri,其中,i为1到n,n为多棵决策树的棵树,并将每棵树的叶子节点处的数值yi都与对应的掩蔽值Ri相加,从而对叶子节点处的数值进行加密,其中∑iRi=R。数据提供方12可见的是多棵结构相同的决策树,所述多棵决策树的各个父节点的参数及叶子节点数值都已经隐去,数据提供方12只能看到多个决策树的各个叶子节点的编号。然后,模型提供方11与数据提供方12执行安全多方计算协议,首先模型提供方11与数据提供方12在各棵决策树中的各个父节点处顺序执行比较协议,从而数据提供方12获知在各个父节点处的数据提供方12提供的数值与模型提供方11提供的数值的大小,从而获取各棵决策树中的分类结果(即最后落入的叶子节点)对应的编号。同时,模型提供方无法获知数据提供方的数据,数据提供方无法获知模型提供方的模型参数。然后,数据提供方12与模型提供方11执行不经意传输协议,基于所述编号,获取与编号对应的叶子节点的加密值(加密结果),同时模型提供方11并不知道数据提供方是获取了哪个叶子节点的加密值。数据提供方12在获取每棵决策树的加密结果之后,将这些加密结果相加,并将该相加的和减去上述R,从而获取GBDT模型的明文预测结果。
图2示出了根据本说明书实施例的一种基于GBDT模型的预测方法的流程图。所述方法在模型提供方执行,所述模型提供方包括GBDT模型,所述GBDT模型中包括多棵决策树,所述GBDT模型的输入数据由数据提供方提供。所述方法包括:
在步骤S202,从所述数据提供方接收预测请求;
在步骤S204,获取与所述多棵决策树分别对应的多个第一数值;
在步骤S206,将每棵决策树的各个叶子节点的数值与对应的第一数值相加,以获取各个叶子节点的加密数值;以及
在步骤S208,与所述数据提供方执行安全多方计算协议,以使得所述数据提供方基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,其中,所述加密结果为对应叶子节点的所述加密数值,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取。
首先,在步骤S202,从所述数据提供方接收预测请求。该预测请求指示数据提供方希望预测的项目、希望使用的预测模型等。如参考图1所述,模型提供方例如为云计算服务器,其包括已经训练好的适用于特定预测的GBDT模型,所述GBDT模型例如用于预测用户的可贷款额等等。模型提供方可在预测服务界面提供预测模型的链接,数据提供方通过点击该链接,可向模型提供方发出预测请求。
在步骤S204,获取与所述多棵决策树分别对应的多个第一数值。该多个第一数值为与多棵决策树分别对应的掩蔽值,用于对对应的决策树的叶子节点的值进行加密,以掩蔽叶子节点的真实值。例如,假设GBDT模型中共包括n棵决策树,则对第i棵决策树确定对应的掩蔽值Ri,其中i的范围为1到n。Ri可取实数。在一个实施例中,数据提供方与模型提供方可预先约定好∑iRi=R,例如,预先约定好R=0,从而,可基于该等式获取各个Ri。例如,可随机获取R1至Rn-1,在通过上述等式获取Rn。在一个实施例中,模型提供方可随机获取n个掩蔽值R1至Rn,并基于R1至Rn获取其总和R,即R=∑iRi。并且,模型提供方在基于随机获取的n个掩蔽值R1至Rn获取其总和R之后,将R发送给数据提供方,以用于数据提供方对模型预测结果的获取。
在步骤S206,将每棵决策树的各个叶子节点的数值与对应的第一数值相加,以获取各个叶子节点的加密数值。图3示意示出了对所述加密数值的获取。如图3所示,假设GBDT模型示意性地包括三棵决策树,树1,树2和树3,图中各箭头旁边标出的0或1分别指示“是”或“否”。其中,如上述步骤S204中所述,对左边的树1获取掩蔽值R1,对中间的树2获取掩蔽值R2,对右边的树3获取掩蔽值R3。在获取了与各棵决策树对应的掩蔽值R1、R2和R3之后,可将每棵树的各个叶子节点的数值与对应的掩蔽值(即对应的第一数值)相加。如图3中所示,树1包括三个叶子节点,该三个叶子节点中的数值3、2和4分别是该三个叶子节点对应的模型值。将3、2和4分别与R1相加,从而获取树1的各个叶子节点的加密数值。类似地,将树2的各个叶子节点的值与R2相加,获取树2的各个叶子节点的加密数值,将树3的各个叶子节点的值与R3相加,获取树3的各个叶子节点的加密数值。
在一个实施例中,在将每棵决策树的各个叶子节点的数值与对应的第一数值相加之前,对所述多棵决策树的结构进行加密。例如,通过将各棵决策树填充为满二叉树,从而隐藏GBDT模型的各棵决策树的真实结构。图4示出了对图3所示的决策树进行填充所获取的三棵满二叉树。如图4所示,通过对图3中的三棵决策树分别进行填充,获取了结构相同的三棵决策树,从而对决策树的结构进行加密,其中该三棵决策树的各个叶子节点中的数值基于图3中所示的各个叶子节点分别获取。在对决策树的结构进行加密,获取如图4所示的三棵决策树之后,同样地,如图4中所示,将图4所示的每棵决策树的叶子节点的数值分别与对应的掩蔽值(即R1、R2或R3)相加,从而对叶子节点的真实值进行加密。可以理解,对决策树的结构进行加密不限于上述填充方法,例如,可以通过对决策树的枝干进行随机翻转,从而获取加密的决策树结构。
在步骤S208,与所述数据提供方执行安全多方计算协议,以使得所述数据提供方基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,其中,所述加密结果为对应叶子节点的所述加密数值,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取。
这里,如参考图1中所述,上述GBDT模型例如为预测车辆的二手价格、用户的可贷款金额等的预测模型。因此,来自数据提供方的输入数据为被预测对象的特征向量。例如,在预测用户的可贷款金额的情况中,该特征向量中例如包括用户的年龄、工作类别、年收入金额、年缴税额等特征分量。
图5示意示出了在一般情况下使用GBDT模型进行预测的实例。如图5所示,该GBDT模型包括树1和树2,该GBDT模型例如是预测各类人(如妈妈、男孩、女孩、爷爷、奶奶)对电脑游戏的喜好度,其输入为各类人的特征向量,输出为表示喜好度的数值。在树1的根节点处,年龄<15为该节点处的模型参数,将输入的特征向量中的年龄分量与15进行比较,从而将其分入下一层节点,例如,当年龄>15时,如爷爷、奶奶、妈妈,其被分入右边的叶子节点,男孩和女孩被分如左边的节点中。在左边的节点“是否为男性”中,可将男性以预定数值表示,将输入的特征向量中的表示性别的数值与该预定数值进行比较,从而将该输入分入下一层的叶子节点中,例如,男孩被分入左边的叶子节点,女孩被分入中间的叶子节点。其中,图中各叶子节点下方的数值+2、+0.1和-1即为各个叶子节点的数值。同样地,数2中的根节点“是否日常使用计算机”也可通过预定数值表示,并将该预定数值与输入的特征向量中的对应分量进行比较,从而可将该输入分入下一层的叶子节点。通过该GBDT模型,可得出,当输入为男孩的特征向量时,模型预测值为男孩落入的树1和树2的各个叶子节点的值的和,即f(x男孩)=2+0.9=2.9,可类似地得出,f(x爷爷)=-1-0.9=-1.9。
通过图5所示的实例可见,通过GBDT模型进行预测的过程包括三个步骤:首先,在每棵决策树的各个父节点处将输入特征向量的一个分量与预定数值的比较,从而基于该比较,确定该特征向量在每棵树最终落入的叶子节点,即,每棵树的分类结果;然后,获取特征向量落入的各个叶子节点的模型值;最后,将上述获取的各个模型值相加,从而获取模型针对该特征向量的预测值。
在本说明书实施例中,可通过安全多方计算协议实施如上所述的GBDT模型的预测过程。图6示意示出了模型提供方向数据提供方示出的GBDT模型。如图6所示,其中包括的决策树树1、树2和树3的结构例如为如图4所示的结构,并且模型提供方在该示出的模型中隐藏了各棵决策树的模型值(包括内节点的模型参数、叶子节点的模型值),数据提供方可看到的是经加密后的树结构,以及各个叶子节点的编号,图中叶子节点中的数字即为其编号。另外,图中各箭头边标出的0或1分别指示“是”或“否”。
在比较步骤中,可在决策树的每个父节点处,通过由模型提供方与数据提供方执行比较协议,以使得数据提供方获得比较结果,同时对模型提供方隐藏数据提供方的数据,并对数据提供方隐藏模型提供方的模型参数。具体是,在特定节点处的比较协议中,将模型提供方提供的该节点的模型参数与数据提供方提供的与该节点对应的特征分量进行比较,从而确定该节点处的预测路径是“0”还是“1”。从而,数据提供方在获得每棵决策树的各个父节点处的比较结果之后,从而可确定每棵决策树的预测路径,并根据每棵决策树的预测路径,确定每棵决策树的结果所在的叶子节点的编号。
数据提供方在获取上述编号之后,与模型提供方执行不经意传输协议。数据提供方提供各棵决策树的结果对应的编号,从而从模型提供方仅获取与所述编号对应的叶子节点的加密数值,同时,模型提供方无法获知数据提供方提供的编号,即无法获知GBDT模型基于数据提供方的数据预测的每棵决策树的结果。
图7示出了根据本说明书实施例的一种基于GBDT模型的预测方法的流程图。其中,所述GBDT模型由模型提供方提供,所述GBDT模型中包括多棵决策树,所述方法在数据提供方执行,包括:
在步骤S702,获取输入数据;
在步骤S704,向所述模型提供方发送预测请求;
在步骤S706,与所述模型提供方执行安全计算协议,以基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取,其中,所述加密结果为对应叶子节点的加密数值,所述加密数值通过图2所示方法方法获取;以及
在步骤S708,通过将所述多个加密结果相加并减去第二数值,获取所述GBDT模型基于所述输入数据的明文预测结果,其中,所述第二数值为通过图2所示方法获取的多个第一数值之和。
首先,在步骤S702,获取输入数据。如参考图1中所述,上述GBDT模型例如为预测车辆的二手价格、用户的可贷款金额等的预测模型。例如,在预测用户的可贷款金额的情况中,用户可通过输入自身的各个特征数据,如年龄、工作类别、年收入金额、年缴税额等,获取数据提供方的输入数据。该输入数据例如为对应于用户的各个特征的特征向量。在一个实施例中,数据提供方不是预测对象本身,可从第三方接收预测对象的相关特征数据,作为输入数据。
步骤S704和步骤S706可参考上文对图2中步骤S202和S208的描述,在此不再赘述。
在步骤S708,通过将所述多个加密结果相加并减去第二数值,获取所述GBDT模型基于所述输入数据的明文预测结果,其中,所述第二数值为通过图2所示方法获取的多个第一数值之和。
如上文对图2中步骤204中的描述,多个第一数值Ri之和为第二数值R,即,∑iRi=R。假设n棵决策树的真实结果为yi,则,其对应的加密结果分别为yi+Ri,n棵决策树的加密结果之和y’如公式(1)所示:
y’=∑i(yi+Ri)=∑iyi+∑iRi=∑iyi+R (1)
从而,GBDT模型的明文预测结果y可如下公式(2)所示:
y=∑iyi=y′-R (2)
也就是说,根据公式(2),通过将GBDT模型的多棵决策树的加密结果之和减去第二数值R,即可获得该GBDT模型的明文预测结果。
在一个实施例中,如上文所述,第二数值R是模型提供方与数据提供方预先约定好的,因此,不需要由模型提供方向数据提供方发送R的步骤。在一个实施例中,多个第一数值Ri分别随机获取,因此,模型提供方基于各个Ri获取其总和R,并在获取R之后,将该R发送给数据提供方,以供数据提供方在获取各棵决策树的加密结果之后进行解密。
通过上述图2和图7所示的方法,数据提供方通过模型提供方的GBDT模型获取了基于数据提供方数据的预测结果,而无法获知模型提供方的模型参数、模型结构、以及各棵决策树的结果,同时,模型提供方无法获知数据提供方的输入数据、以及预测结果。
图8示出了根据本说明书实施例的一种基于GBDT模型的预测装置800。其中,所述装置在模型提供方实施,所述模型提供方包括GBDT模型,所述GBDT模型中包括多棵决策树,所述GBDT模型的输入数据由数据提供方提供,所述装置包括:
接收单元81,配置为,从所述数据提供方接收预测请求;
获取单元82,配置为,获取与所述多棵决策树分别对应的多个第一数值;
相加单元83,配置为,将每棵决策树的各个叶子节点的数值与对应的第一数值相加,以获取各个叶子节点的加密数值;以及
执行单元84,配置为,与所述数据提供方执行安全多方计算协议,以使得所述数据提供方基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,其中,所述加密结果为对应叶子节点的所述加密数值,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取。
在一个实施例中,在所述基于GBDT模型的预测装置中,所述多个第一数值分别为独立获取的随机数,所述装置还包括发送单元85,配置为,在获取与所述多棵决策树分别对应的多个第一数值之后,将所述多个第一数值之和发送给所述数据提供方。
在一个实施例中,所述基于GBDT模型的预测装置还包括加密单元86,配置为,在将每棵决策树的各个叶子节点的数值与对应的第一数值相加之前,对所述多棵决策树的结构进行加密。
在一个实施例中,在所述基于GBDT模型的预测装置中,所述加密单元86还配置为,将所述多棵决策树填充为满二叉树。
图9示出根据本说明书实施例的一种基于GBDT模型的预测装置900。其中,所述GBDT模型由模型提供方提供,所述GBDT模型中包括多棵决策树,所述方法在数据提供方实施,包括:
获取单元91,配置为,获取输入数据;
发送单元92,配置为,向所述模型提供方发送预测请求;
执行单元93,配置为,与所述模型提供方执行安全计算协议,以基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取,其中,所述加密结果为对应叶子节点的加密数值,所述加密数值通过上述模型提供方的装置获取;以及
预测单元94,配置为,通过将所述多个加密结果相加并减去第二数值,获取所述GBDT模型基于所述输入数据的明文预测结果,其中,所述第二数值为通过上述模型提供方的装置获取的多个第一数值之和。
在一个实施例中,在所述基于GBDT模型的预测装置中,所述执行单元93还配置为,在所述多棵决策树的每个父节点处与所述模型提供方执行比较协议,以确定与所述多个加密结果分别对应的多个叶子节点编号,并使得对所述数据提供方隐藏所述模型的参数、对所述模型提供方隐藏所述输入数据和所述多个叶子节点编号。
在一个实施例中,在所述基于GBDT模型的预测装置中,所述执行单元93还配置为,与所述模型提供方执行不经意传输协议,以基于所述多个叶子节点编号从所述模型提供方获取所述多个加密结果,并使得对所述模型提供方隐藏所述数据提供方对所述多个加密结果的获取。
本说明书另一方面还提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项基于GBDT模型的预测方法。
通过根据本说明书实施例的基于GBDT模型的预测方案,数据提供方通过模型提供方的GBDT模型获取了基于数据提供方数据的预测结果,而无法获知模型提供方的模型参数、模型结构、以及各棵决策树的结果,同时,模型提供方无法获知数据提供方的输入数据、以及预测结果。该方案满足了例如云服务中的数据提供方与模型提供方的双方需求,并且计算量相对较低,节省了计算时间,改善用户的体验。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种基于GBDT模型的预测方法,其中,所述方法在模型提供方执行,所述模型提供方包括GBDT模型,所述GBDT模型中包括多棵决策树,所述GBDT模型的输入数据由数据提供方提供,所述方法包括:
从所述数据提供方接收预测请求;
获取与所述多棵决策树分别对应的多个第一数值;
将每棵决策树的各个叶子节点的数值与对应的第一数值相加,以获取各个叶子节点的加密数值;以及
与所述数据提供方执行安全多方计算协议,以使得所述数据提供方基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,其中,所述加密结果为对应叶子节点的所述加密数值,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取。
2.根据权利要求1所述的基于GBDT模型的预测方法,其中,所述多个第一数值之和由所述数据提供方与所述模型提供方预先约定。
3.根据权利要求1所述的基于GBDT模型的预测方法,其中,所述多个第一数值分别为独立获取的随机数,所述方法还包括,在获取与所述多棵决策树分别对应的多个第一数值之后,将所述多个第一数值之和发送给所述数据提供方。
4.根据权利要求1所述的基于GBDT模型的预测方法,还包括,在将每棵决策树的各个叶子节点的数值与对应的第一数值相加之前,对所述多棵决策树的结构进行加密。
5.根据权利要求4所述的基于GBDT模型的预测方法,其中,对所述多棵决策树的结构进行加密包括,将所述多棵决策树填充为满二叉树。
6.一种基于GBDT模型的预测方法,其中,所述GBDT模型由模型提供方提供,所述GBDT模型中包括多棵决策树,所述方法在数据提供方执行,包括:
获取输入数据;
向所述模型提供方发送预测请求;
与所述模型提供方执行安全计算协议,以基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取,其中,所述加密结果为对应叶子节点的加密数值,所述加密数值通过权利要求1-5中任一项所述的方法获取;以及
通过将所述多个加密结果相加并减去第二数值,获取所述GBDT模型基于所述输入数据的明文预测结果,其中,所述第二数值为通过权利要求1-5中任一项所述的方法获取的多个第一数值之和。
7.根据权利要求6所述的基于GBDT模型的预测方法,其中,与所述模型提供方执行安全计算协议包括,在所述多棵决策树的每个父节点处与所述模型提供方执行比较协议,以确定与所述多个加密结果分别对应的多个叶子节点编号,并使得对所述数据提供方隐藏所述模型的参数、对所述模型提供方隐藏所述输入数据和所述多个叶子节点编号。
8.根据权利要求7所述的基于GBDT模型的预测方法,其中,与所述模型提供方执行安全计算协议包括,与所述模型提供方执行不经意传输协议,以基于所述多个叶子节点编号从所述模型提供方获取所述多个加密结果,并使得对所述模型提供方隐藏所述数据提供方对所述多个加密结果的获取。
9.一种基于GBDT模型的预测装置,其中,所述装置在模型提供方实施,所述模型提供方包括GBDT模型,所述GBDT模型中包括多棵决策树,所述GBDT模型的输入数据由数据提供方提供,所述装置包括:
接收单元,配置为,从所述数据提供方接收预测请求;
获取单元,配置为,获取与所述多棵决策树分别对应的多个第一数值;
相加单元,配置为,将每棵决策树的各个叶子节点的数值与对应的第一数值相加,以获取各个叶子节点的加密数值;以及
执行单元,配置为,与所述数据提供方执行安全多方计算协议,以使得所述数据提供方基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,其中,所述加密结果为对应叶子节点的所述加密数值,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取。
10.根据权利要求9所述的基于GBDT模型的预测装置,其中,所述多个第一数值之和由所述数据提供方与所述模型提供方预先约定。
11.根据权利要求9所述的基于GBDT模型的预测装置,其中,所述多个第一数值分别为独立获取的随机数,所述装置还包括发送单元,配置为,在获取与所述多棵决策树分别对应的多个第一数值之后,将所述多个第一数值之和发送给所述数据提供方。
12.根据权利要求9所述的基于GBDT模型的预测装置,还包括加密单元,配置为,在将每棵决策树的各个叶子节点的数值与对应的第一数值相加之前,对所述多棵决策树的结构进行加密。
13.根据权利要求12所述的基于GBDT模型的预测装置,其中,所述加密单元还配置为,将所述多棵决策树填充为满二叉树。
14.一种基于GBDT模型的预测装置,其中,所述GBDT模型由模型提供方提供,所述GBDT模型中包括多棵决策树,所述装置在数据提供方实施,包括:
获取单元,配置为,获取输入数据;
发送单元,配置为,向所述模型提供方发送预测请求;
执行单元,配置为,与所述模型提供方执行安全计算协议,以基于所述输入数据获取与所述多棵决策树分别对应的多个加密结果,并使得:对所述数据提供方隐藏所述模型的参数、并对所述模型提供方隐藏所述输入数据、和所述数据提供方对所述多个加密结果的获取,其中,所述加密结果为对应叶子节点的加密数值,所述加密数值通过权利要求9-13中任一项所述的装置获取;以及
预测单元,配置为,通过将所述多个加密结果相加并减去第二数值,获取所述GBDT模型基于所述输入数据的明文预测结果,其中,所述第二数值为通过权利要求9-13中任一项所述的装置获取的多个第一数值之和。
15.根据权利要求14所述的基于GBDT模型的预测装置,其中,所述执行单元还配置为,在所述多棵决策树的每个父节点处与所述模型提供方执行比较协议,以确定与所述多个加密结果分别对应的多个叶子节点编号,并使得对所述数据提供方隐藏所述模型的参数、对所述模型提供方隐藏所述输入数据和所述多个叶子节点编号。
16.根据权利要求15所述的基于GBDT模型的预测装置,其中,所述执行单元还配置为,与所述模型提供方执行不经意传输协议,以基于所述多个叶子节点编号从所述模型提供方获取所述多个加密结果,并使得对所述模型提供方隐藏所述数据提供方对所述多个加密结果的获取。
17.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。
CN201811015503.0A 2018-08-31 2018-08-31 一种基于gbdt模型的预测方法和装置 Active CN110874481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811015503.0A CN110874481B (zh) 2018-08-31 2018-08-31 一种基于gbdt模型的预测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811015503.0A CN110874481B (zh) 2018-08-31 2018-08-31 一种基于gbdt模型的预测方法和装置

Publications (2)

Publication Number Publication Date
CN110874481A CN110874481A (zh) 2020-03-10
CN110874481B true CN110874481B (zh) 2023-06-20

Family

ID=69715925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811015503.0A Active CN110874481B (zh) 2018-08-31 2018-08-31 一种基于gbdt模型的预测方法和装置

Country Status (1)

Country Link
CN (1) CN110874481B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111583016B (zh) * 2020-04-09 2021-06-01 上海淇毓信息科技有限公司 基于gbst的用户推荐方法、装置及电子设备
CN113177212B (zh) * 2021-04-25 2022-07-19 支付宝(杭州)信息技术有限公司 联合预测方法和装置
CN115021900B (zh) * 2022-05-11 2024-05-03 电子科技大学 分布式梯度提升决策树实现全面隐私保护的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447525A (zh) * 2015-12-15 2016-03-30 中国科学院软件研究所 一种数据预测分类方法及装置
CN106339714A (zh) * 2016-08-10 2017-01-18 上海交通大学 多层嵌入差分隐私到决策树模型的隐私风险控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787647B2 (en) * 2014-12-02 2017-10-10 Microsoft Technology Licensing, Llc Secure computer evaluation of decision trees

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105447525A (zh) * 2015-12-15 2016-03-30 中国科学院软件研究所 一种数据预测分类方法及装置
CN106339714A (zh) * 2016-08-10 2017-01-18 上海交通大学 多层嵌入差分隐私到决策树模型的隐私风险控制方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Zekun Li et al..Random forest algorithm under differential privacy.2017 IEEE 17th International Conference on Communication Technology (ICCT).2018,全文. *
周李威 ; 王丽珍 ; 张成君 ; 朱玉全 ; .基于全同态加密的决策树构造方法.信息技术.2017,(第10期),28-31,35. *
穆海蓉等.DiffPRFs:一种面向随机森林的差分隐私保护算法.通信学报.2016,第37卷(第9期),175-182. *

Also Published As

Publication number Publication date
CN110874481A (zh) 2020-03-10

Similar Documents

Publication Publication Date Title
US11902413B2 (en) Secure machine learning analytics using homomorphic encryption
CN110457912B (zh) 数据处理方法、装置和电子设备
CN110414567B (zh) 数据处理方法、装置和电子设备
CN111428887B (zh) 一种基于多个计算节点的模型训练控制方法、装置及系统
CN107704930B (zh) 基于共享数据的建模方法、装置、系统及电子设备
CN110427969B (zh) 数据处理方法、装置和电子设备
CN111898137A (zh) 一种联邦学习的隐私数据处理方法、设备及系统
CN113221183B (zh) 实现隐私保护的多方协同更新模型的方法、装置及系统
CN113505882B (zh) 基于联邦神经网络模型的数据处理方法、相关设备及介质
CN110874481B (zh) 一种基于gbdt模型的预测方法和装置
CN112465627B (zh) 基于区块链和机器学习的金融借贷审核方法及系统
CN112805769B (zh) 秘密s型函数计算系统、装置、方法及记录介质
CN113239391B (zh) 一种无第三方的逻辑回归联邦学习模型训练系统及方法
CN112084520B (zh) 保护数据隐私的双方联合训练业务预测模型的方法及装置
CN114930357A (zh) 经由梯度提升的隐私保护机器学习
CN111523556A (zh) 模型训练方法、装置及系统
US12015691B2 (en) Security as a service for machine learning
CN112926090B (zh) 基于差分隐私的业务分析方法及装置
CN116432040B (zh) 基于联邦学习的模型训练方法、装置、介质以及电子设备
CN112183757A (zh) 模型训练方法、装置及系统
CN112183759A (zh) 模型训练方法、装置及系统
CN110569659B (zh) 数据处理方法、装置和电子设备
WO2006103608A2 (en) Private negotiation
CN112182594A (zh) 一种数据加密方法及装置
CN117978362B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant