CN110751330B - 一种基于树模型的预测方法和装置 - Google Patents
一种基于树模型的预测方法和装置 Download PDFInfo
- Publication number
- CN110751330B CN110751330B CN201910995202.7A CN201910995202A CN110751330B CN 110751330 B CN110751330 B CN 110751330B CN 201910995202 A CN201910995202 A CN 201910995202A CN 110751330 B CN110751330 B CN 110751330B
- Authority
- CN
- China
- Prior art keywords
- node
- model
- feature
- nodes
- owner
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Resources & Organizations (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Marketing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供了一种基于树模型的预测方法和装置,其中,所述方法由树模型的模型拥有方执行、针对数据拥有方中的第一对象进行预测,所述方法包括:对n个节点确定随机排列顺序;依据随机排列顺序依次对n个节点中的每个节点执行:将该节点对应的第一特征发送给数据拥有方;与数据拥有方共同执行比较计算,以获取该节点的特征分裂值与第一对象的第一特征的特征值的比较结果,所述比较计算使得对于模型拥有方隐藏第一对象的第一特征的特征值,对于数据拥有方隐藏该节点的特征分裂值;基于n个节点中每个节点的所述比较结果、n个节点中每个节点在所述树模型中的位置,通过所述树模型输出对所述第一对象的预测结果。
Description
技术领域
本说明书实施例涉及机器学习技术领域,更具体地,涉及一种基于树模型的预测方法和装置。
背景技术
能够保护数据安全的模型预测是当前广泛关注的技术问题。在实际场景中可能会面临以下的问题,假设有数据拥有方(A)及模型拥有方(B)两方,B拥有了已经训练好的树模型,例如随机森林模型,A会发起在线请求,想让B用所述模型对A的数据进行打分,并将打分结果返回给A。但在该过程中,A不想将其数据泄露给B,B也不想将其模型泄露给A。而在现有技术中,如果使用B拥有的模型对A的数据进行预测,在预测过程中,需要将每个树每个节点对应的特征分裂值与待预测对象的相应特征的特征值进行比较,这将会使得将A拥有的数据公开给B、将B拥有的模型公开给A。
因此,需要一种更有效的保护隐私的基于树模型的预测方案。
发明内容
本说明书实施例旨在提供一种更有效的基于树模型的预测方案。
本说明书一方面提供一种基于树模型的预测方法,其中,所述方法由所述树模型的模型拥有方执行、针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述方法包括:
对所述n个节点确定随机排列顺序;
依据所述随机排列顺序依次对所述n个节点中的每个节点执行:将该节点对应的第一特征发送给数据拥有方;与所述数据拥有方共同执行比较计算,以获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值;
基于所述n个节点中每个节点的所述比较结果、所述n个节点中每个节点在所述树模型中的位置,通过所述树模型输出对所述第一对象的预测结果。
在一个实施例中,所述方法还包括,在通过所述树模型输出对所述第一对象的预测结果之后,将所述预测结果发送给数据拥有方。
在一个实施例中,所述树模型包括N棵树,所述n个节点中每个节点在所述树模型中的位置包括:该节点所属树的标识、以及该节点在其所属树中的节点编号,其中,所述节点编号基于该节点在其所属树中的位置确定。
在一个实施例中,所述树模型包括N棵树,所述n个节点中每个节点在所述树模型中的位置包括该节点在所述树模型中的整体节点编号,该整体节点编号基于该节点所属树在所述N棵树中的排列顺序、及该节点在其所属树中的位置确定。
在一个实施例中,所述树模型为以下任一模型:随机森林、GBDT模型、Xgboost模型、决策树。
在一个实施例中,所述比较计算基于以下任一项实施:混淆电路、安全计算环境。
本说明书另一方面提供一种基于树模型的预测方法,其中,所述方法由数据拥有方执行、针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型属于模型拥有方,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述方法包括,以由所述模型拥有方确定的随机排列顺序依次对所述n个节点中的每个节点执行:
从所述模型拥有方接收与该节点对应的第一特征;
与所述模型拥有方共同执行比较计算,以使得所述模型拥有方获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值。
在一个实施例中,所述方法还包括,在与所述模型拥有方共同执行比较计算之后,从所述模型拥有方接收通过所述树模型输出的对所述第一对象的预测结果。
本说明书另一方面提供一种基于树模型的预测装置,其中,所述装置部署在所述树模型的模型拥有方中、用于针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述装置包括:
顺序确定单元,配置为,对所述n个节点确定随机排列顺序;
以所述随机排列顺序排列的与所述n个节点分别对应的n个执行模块,每个执行模块包括:第一发送单元,配置为,将该节点对应的第一特征发送给数据拥有方;比较计算单元,配置为,与所述数据拥有方共同执行比较计算,以获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值;
模型输出单元,配置为,基于所述n个节点中每个节点的所述比较结果、所述n个节点中每个节点在所述树模型中的位置,通过所述树模型输出对所述第一对象的预测结果。
在一个实施例中,所述装置还包括,第二发送单元,配置为,在通过所述树模型输出对所述第一对象的预测结果之后,将所述预测结果发送给数据拥有方。
本说明书另一方面提供一种基于树模型的预测装置,其中,所述装置部署在数据拥有方中、用于针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型属于模型拥有方,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述装置包括,以由所述模型拥有方确定的随机排列顺序排列的与所述n个节点分别对应的n个执行模块,每个执行模块包括:
第一接收单元,配置为,从所述模型拥有方接收与该节点对应的第一特征;
比较计算单元,配置为,与所述模型拥有方共同执行比较计算,以使得所述模型拥有方获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值。
在一个实施例中,所述装置还包括,第二接收单元,配置为,在与所述模型拥有方共同执行比较计算之后,从所述模型拥有方接收通过所述树模型输出的对所述第一对象的预测结果。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
通过根据本说明书实施例的基于树模型的预测方案,由模型拥有方和数据拥有方共同执行基于树模型的预测方法,在获取预测结果的同时,保护了模型拥有方的模型数据和数据拥有方的对象数据不被另一方获知,从而保护了参与模型预测的各方的数据安全。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出根据本说明书实施例的基于树模型进行预测的系统100的示意图;
图2示出根据本说明书实施例的一种基于树模型的预测方法流程图;
图3示意示出了随机森林模型的构造;
图4示出根据本说明书实施例的一种基于树模型的预测方法流程图;
图5示出了根据本说明书实施例的基于树模型的预测方法的时序图;
图6示出根据本说明书实施例的一种基于树模型的预测装置600;
图7示出根据本说明书实施例的一种基于树模型的预测装置700。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的基于树模型进行预测的系统100的示意图。如图中所示,系统100包括数据拥有方A和模型拥有方B。其中,模型拥有方B拥有训练好的树模型,即,模型拥有方拥有该树模型的树结构、父节点对应的特征和相应的特征分裂值、以及叶子节点的分值(权重)。数据拥有方A拥有待预测对象的各个特征的特征值。在本说明书实施例中,在通过模型拥有方B的树模型对数据拥有方A的待预测对象进行预测时,模型拥有方首先将树模型中的节点顺序打乱,并基于打乱的顺序,相对应树模型中的非叶子节点的每个节点(即每个父节点),通过与数据拥有方共同执行安全比较计算,从而确定该节点的特征分裂值与所述待预测对象的相应特征的特征值的比较结果,所述安全比较计算可使得在B方获取比较结果的同时,对A方隐藏B方的模型数据,对B方隐藏A方的对象特征数据。从而,模型预测方可基于每个父节点的比较结果,确定树模型针对所述待预测对象的预测结果,并将该结果发送给数据拥有方。
需要理解,上文中参考图1的描述仅是示意性的,而不是限制性的。下文将详细描述上述基于树模型的预测方案。
图2示出根据本说明书实施例的一种基于树模型的预测方法流程图,其中,所述方法由所述树模型的模型拥有方执行、针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述方法包括:
步骤S202,对所述n个节点确定随机排列顺序。
步骤S204,依据所述随机排列顺序依次对所述n个节点中的每个节点执行:将该节点对应的第一特征发送给数据拥有方;与所述数据拥有方共同执行比较计算,以获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值;
步骤S206,基于所述n个节点中每个节点的所述比较结果、所述n个节点中每个节点在所述树模型中的位置,通过所述树模型输出对所述第一对象的预测结果。
在现有技术中,包括多种树模型,如决策树、随机森林、GBDT、Xgboost模型等等,这些树模型的共性是,其包括多个节点,其中作为非叶子节点的节点(也即父节点)与一个特征对应,并且包括该节点的特征分裂值。从而,在通过树模型进行预测时,对于每个父节点,将该节点的特征分裂值与待预测对象的相应特征的特征值进行比较,从而基于比较的结果,将该对象分到该节点的任一子节点中。图3示意示出了随机森林模型的构造。如图3中所示,假设该随机森林模型包括三棵树:树1、树2和树3,树1~树3相互之间是完全独立的,即,每棵树的结构都有可能不同,并且每棵树中的节点对应的特征也可能不同。例如,在图3中,树1包括作为父节点的节点1、2、3,其分别对应于特征:f1,f2,f3,树2包括作为父节点的节点4、5、6,其分别对应于特征:f2、f3、f4,树3包括作为父节点的节点7、8、9,其分别对应于特征:f3、f2、f5。树1~树3中各个叶子节点旁示出的C1和C2表示该叶子节点的分值,这里分别表示C1类别和C2类别,即,该随机森林模型为分类模型。
当通过该随机森林模型对待预测的第一对象进行预测时,获取第一对象的特征数据,该特征数据例如包括第一对象的各个特征f1~f5的特征值。在每棵树的每个父节点基于第一对象的相应特征将该第一对象分到其一个子节点中,从而最终将第一对象分到每棵树的一个叶子节点中。然后,综合三棵树的预测结果,获取对第一对象的预测结果。例如,树1将第一对象分到C1类中,树2将第一对象分到C2类中,树3将第一对象分到C1类中,则基于三棵树的预测结果,取三棵树中占大多数的结果,可得出第一对象的预测结果是C1类。
在本说明书实施例中,由模型拥有方(B)拥有树模型的模型数据,包括树结构、父节点对应的特征和相应的特征分裂值、以及叶子节点的分值(权重),由数据拥有方(A)拥有所述第一对象的各个特征的特征值。并通过模型拥有方和数据拥有方共同执行模型预测过程,以得到基于树模型对第一对象的预测结果,同时保护各方的数据不被另一方获取。
在执行所述预测过程之前,所述模型拥有方例如包括如表1所示的与树模型的数据对应的表格:
整体节点编号 | 树编号 | 树内节点编号 | 节点特征 | 特征分裂值 |
1 | 1 | 1 | f1 | 0.5 |
2 | 1 | 2 | f2 | 1.2 |
3 | 1 | 3 | f3 | 1 |
4 | 2 | 1 | f2 | 0.3 |
… | … | … | … | … |
表1
该表1例如与图3所示的随机森林模型相对应,其中仅示意示出了节点1~4的节点数据。其中,树内节点编号为在节点在其所属树中的节点编号,用于示出该节点在其所属树中的位置,例如,在每棵树中,通过从上至下、从左至右的顺序对树中的每个节点编号,从而,该树内节点编号可唯一标识该节点在树中的具体位置。所述整体节点编号为对树模型中的全部节点的顺序编号,例如,通过以各个树的顺序、树中的从上至下、从左至右的三个层次顺序对树模型中的每个节点编号,从而,该整体节点编号可唯一标识相应的节点在树模型中的位置。
下面具体描述基于所述树模型执行模型预测的过程。
在步骤S202,对所述n个节点确定随机排列顺序。
如表1中所示,每个节点都拥有自己的节点编号,该节点编号通常可唯一标识该节点在树模型中的位置。如果以节点编号的顺序依次对n个节点进行下述的比较步骤,即,B方以节点编号的顺序依次将各个节点的特征发送给A方,A方将获知树模型中各个节点对应的特征,并依据各个节点的排列顺序推测出树模型的结构(节点连接关系)。因此,在本说明书实施例中,在进行对各个节点的比较步骤之前,首先将节点的排列顺序打乱。例如,可通过预定随机算法获取n个节点的随机排列顺序,或者可通过接收业务人员的输入而获取n个节点的随机排列顺序。
在步骤S204,依据所述随机排列顺序依次对所述n个节点中的每个节点执行:将该节点对应的第一特征发送给数据拥有方;与所述数据拥有方共同执行比较计算,以获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值;
在B方,可对表1所述的节点顺序进行随机打乱,从而可获取例如如表2所示的数据:
整体节点编号 | 树编号 | 树内节点编号 | 节点特征 | 特征分裂值 |
4 | 2 | 1 | f2 | 0.3 |
2 | 1 | 2 | f2 | 1.2 |
3 | 1 | 3 | f3 | 1 |
1 | 1 | 1 | f1 | 0.5 |
… | … | … | … | … |
表2
也就是说,将表1中的各行数据的排列顺序进行打乱,在打乱之后,可以以表2中的节点顺序进行模型预测过程。具体是,首先针对表2中的节点4,B方将f2发送给A方,从而使得B方使用节点4对应的特征分裂值(0.3)、A方使用第一对象的f2的特征值共同执行比较计算,以确定二者的大小,同时使得B方不能获知第一对象的f2的特征值、使得A方不能获知用于比较的特征分裂值。
该比较计算可通过现有技术中多种双方安全计算方法实现。例如,可通过算法形式的混淆电路、硬件形式的安全计算环境(例如SGX)等进行,在此不一一列出。例如,在通过混淆电路进行比较计算时,A方将对应于特征值的密钥发送给B方,B方使用对应于特征值的密钥和对应于分裂值的密钥对由A方提供的混淆电路的真值表进行解密,从而获取解密的结果作为比较结果。例如解密的结果为0或1,0代表特征值小于分裂值,1代表特征值大于等于分裂值。在通过混淆电路进行比较的该过程中,B方仅获取A方的密钥,从该密钥并不能推导出相应的特征值,A方提供的真值表中包括多条与0或1对应的情况,从而,A方基于比较结果也不能获取B方的分裂值的具体数值,从而使得B方获取了比较结果,同时分别保护了A方和B方各自拥有的数据不被另一方获取。
在通过该步骤使得B方获取各个父节点的比较结果的同时,由于,B方以打乱的顺序对各个节点进行上述比较计算,从而使得A方不能基于对各个节点的比较计算过程推测出模型树的结构,即各个节点的连接关系,从而进一步保护了B方的模型数据。
步骤S206,基于所述n个节点中每个节点的所述比较结果、所述n个节点中每个节点在所述树模型中的位置,通过所述树模型输出对所述第一对象的预测结果。
在对表2中的每个节点依次获取比较结果之后,可将表2中的次序依照特定顺序复原,例如按照整体节点编号的顺序复原,从而可获取例如如表3所示的比较结果表:
整体节点编号 | 树编号 | 树内节点编号 | 节点特征 | 特征分裂值 | 比较结果 |
1 | 1 | 1 | f1 | 0.5 | 0 |
2 | 1 | 2 | f2 | 1.2 | 1 |
3 | 1 | 3 | f3 | 1 | 1 |
4 | 2 | 1 | f2 | 0.3 | 0 |
… | … | … | … | … | … |
表3
其中,在比较结果一栏中,例如0表示特征值小于分裂值,1表示特征值大于分裂值。
基于表3中的各个节点的位置信息可找到各个节点在树模型中的对应位置,从而可在树模型中通过表3中的比较结果进行预测。所述位置信息例如为上述通过预定顺序确定的整体节点编号,由于通过预定规则确定的编号可唯一标识树模型中的某个节点,因此可基于该编号找到该节点在树模型中的位置。所述位置信息例如包括树编号、和树内节点编号,如上文所述,树内节点编号通过预定顺序确定,从而基于树编号和树内节点编号也可以找到该节点在树模型中的位置。
例如,基于表3中的位置信息和比较结果,可确定节点1、2、3分别为图3中树1中标示的节点1、2、3,例如,可设定,在父节点中,如果对象的特征值小于分裂值,则将该对象分到该父节点左边的子节点中,如果对象的特征值大于分裂值,则将该对象分到该父节点右边的子节点中。在节点1处,特征值小于分裂值,则将第一对象分到节点1左边的子节点(即节点2)中,在节点2中,特征值大于分裂值,则将第一对象分到节点2的右边的子节点(即叶子节点)中,从而,基于所述叶子节点的分值(C1),可得出树1对第一对象的预测结果为C1类。B方可通过同样地方法获得树2、树3对第一对象的预测结果,并通过融合三棵树的预测结果,从而得到该树模型对第一对象的最终预测结果。
在一个实施例,A方向B方请求对第一对象的模型预测,从而B方在获取所述预测结果之后,将所述预测结果发送给A方,即数据拥有方。
图4示出根据本说明书实施例的一种基于树模型的预测方法流程图,其中,所述方法由数据拥有方执行、针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型属于模型拥有方,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述方法包括,以由所述模型拥有方确定的随机排列顺序依次对所述n个节点中的每个节点执行:
步骤S402,从所述模型拥有方接收与该节点对应的第一特征;
步骤S404,与所述模型拥有方共同执行比较计算,以使得所述模型拥有方获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值。
步骤S402和步骤S404具体实施过程可参考上文中对步骤S204的描述,在此不再赘述。
在一个实施例,A方向B方请求对第一对象的模型预测,从而B方在获取所述预测结果之后,将所述预测结果发送给A方,从而A方从B方接收通过所述树模型输出的对所述第一对象的预测结果。
图5示出了根据本说明书实施例的基于树模型的预测方法的时序图。如图5中所示,首先由B方(模型拥有方)在步骤S501对其树模型中的n个父节点确定随机排列顺序,然后,B方依据所述随机排列顺序依次对所述n个节点中的每个节点执行:步骤S502,将节点对应的特征发送给A方,步骤S503,与A方共同执行安全比较计算,从而B方在步骤S504获取模型预测结果,并且在步骤S505,B方将预测结果发送给A方。
图6示出根据本说明书实施例的一种基于树模型的预测装置600,其中,所述装置部署在所述树模型的模型拥有方中、用于针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述装置包括:
顺序确定单元61,配置为,对所述n个节点确定随机排列顺序;
以所述随机排列顺序排列的与所述n个节点分别对应的n个执行模块601,每个执行模块包括:第一发送单元62,配置为,将该节点对应的第一特征发送给数据拥有方;比较计算单元63,配置为,与所述数据拥有方共同执行比较计算,以获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值;
模型输出单元64,配置为,基于所述n个节点中每个节点的所述比较结果、所述n个节点中每个节点在所述树模型中的位置,通过所述树模型输出对所述第一对象的预测结果。
在一个实施例中,所述装置600还包括,第二发送单元65,配置为,在通过所述树模型输出对所述第一对象的预测结果之后,将所述预测结果发送给数据拥有方。
图7示出根据本说明书实施例的一种基于树模型的预测装置700,其中,所述装置部署在数据拥有方中、用于针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型属于模型拥有方,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述装置包括,以由所述模型拥有方确定的随机排列顺序排列的与所述n个节点分别对应的n个执行模块701,每个执行模块包括:
第一接收单元71,配置为,从所述模型拥有方接收与该节点对应的第一特征;
比较计算单元72,配置为,与所述模型拥有方共同执行比较计算,以使得所述模型拥有方获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值。
在一个实施例中,所述装置还包括,第二接收单元73,配置为,在与所述模型拥有方共同执行比较计算之后,从所述模型拥有方接收通过所述树模型输出的对所述第一对象的预测结果。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
通过根据本说明书实施例的基于树模型的预测方案,由模型拥有方和数据拥有方共同执行基于树模型的预测方法,在获取预测结果的同时,保护了模型拥有方的模型数据和数据拥有方的对象数据不被另一方获知,从而保护了参与模型预测的各方的数据安全。
本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种基于树模型的预测方法,其中,所述方法由所述树模型的模型拥有方执行、针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述方法包括:
对所述n个节点确定随机排列顺序;
依据所述随机排列顺序依次对所述n个节点中的每个节点执行:将该节点对应的第一特征发送给数据拥有方;与所述数据拥有方共同执行比较计算,以获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值;
依照特定顺序,将所述n个节点中每个节点的所述比较结果的顺序复原;基于顺序复原后的所述n个节点中每个节点的所述比较结果、所述n个节点中每个节点在所述树模型中的位置,通过所述树模型输出对所述第一对象的预测结果。
2.根据权利要求1所述的方法,还包括,在通过所述树模型输出对所述第一对象的预测结果之后,将所述预测结果发送给数据拥有方。
3.根据权利要求1所述的方法,其中,所述树模型包括N棵树,所述n个节点中每个节点在所述树模型中的位置包括:该节点所属树的标识、以及该节点在其所属树中的节点编号,其中,所述节点编号基于该节点在其所属树中的位置确定。
4.根据权利要求1所述的方法,其中,所述树模型包括N棵树,所述n个节点中每个节点在所述树模型中的位置包括该节点在所述树模型中的整体节点编号,该整体节点编号基于该节点所属树在所述N棵树中的排列顺序、及该节点在其所属树中的位置确定。
5.根据权利要求1所述的方法,其中,所述树模型为以下任一模型:随机森林、GBDT模型、Xgboost模型、决策树。
6.根据权利要求1所述的方法,其中,所述比较计算基于以下任一项实施:混淆电路、安全计算环境。
7.一种基于树模型的预测方法,其中,所述方法由数据拥有方执行、针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型属于模型拥有方,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述方法包括,以由所述模型拥有方确定的随机排列顺序依次对所述n个节点中的每个节点执行:
从所述模型拥有方接收与该节点对应的第一特征;
与所述模型拥有方共同执行比较计算,以使得所述模型拥有方获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值;
从所述模型拥有方接收通过所述树模型输出的对所述第一对象的预测结果,其中,所述预测结果是所述模型拥有方依照特定顺序,将所述n个节点中每个节点的所述比较结果的顺序复原之后;基于顺序复原后的所述n个节点中每个节点的所述比较结果和所述n个节点中每个节点在所述树模型中的位置所确定的。
8.一种基于树模型的预测装置,其中,所述装置部署在所述树模型的模型拥有方中、用于针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述装置包括:
顺序确定单元,配置为,对所述n个节点确定随机排列顺序;
以所述随机排列顺序排列的与所述n个节点分别对应的n个执行模块,每个执行模块包括:第一发送单元,配置为,将该节点对应的第一特征发送给数据拥有方;比较计算单元,配置为,与所述数据拥有方共同执行比较计算,以获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值;
模型输出单元,配置为,依照特定顺序,将所述n个节点中每个节点的所述比较结果的顺序复原;基于顺序复原后的所述n个节点中每个节点的所述比较结果、所述n个节点中每个节点在所述树模型中的位置,通过所述树模型输出对所述第一对象的预测结果。
9.根据权利要求8所述的装置,还包括,第二发送单元,配置为,在通过所述树模型输出对所述第一对象的预测结果之后,将所述预测结果发送给数据拥有方。
10.根据权利要求8所述的装置,其中,所述树模型包括N棵树,所述n个节点中每个节点在所述树模型中的位置包括:该节点所属树的标识、以及该节点在其所属树中的节点编号,其中,所述节点编号基于该节点在其所属树中的位置确定。
11.根据权利要求8所述的装置,其中,所述树模型包括N棵树,所述n个节点中每个节点在所述树模型中的位置包括该节点在所述树模型中的整体节点编号,该整体节点编号基于该节点所属树在所述N棵树中的排列顺序、及该节点在其所属树中的位置确定。
12.根据权利要求8所述的装置,其中,所述树模型为以下任一模型:随机森林、GBDT模型、Xgboost模型、决策树。
13.根据权利要求8所述的装置,其中,所述比较计算基于以下任一项实施:混淆电路、安全计算环境。
14.一种基于树模型的预测装置,其中,所述装置部署在数据拥有方中、用于针对数据拥有方中的第一对象进行预测,其中,所述数据拥有方拥有所述第一对象的m个特征各自的特征值,所述树模型属于模型拥有方,所述树模型中除了叶子节点之外还包括n个节点,所述模型拥有方拥有所述n个节点中每个节点的以下数据:该节点在所述树模型中的位置、该节点对应的特征、以及该节点的特征分裂值,其中,所述节点对应的特征为所述m个特征中的一个特征,所述装置包括,以由所述模型拥有方确定的随机排列顺序排列的与所述n个节点分别对应的n个执行模块,每个执行模块包括:
第一接收单元,配置为,从所述模型拥有方接收与该节点对应的第一特征;
比较计算单元,配置为,与所述模型拥有方共同执行比较计算,以使得所述模型拥有方获取该节点的特征分裂值与所述第一对象的第一特征的特征值的比较结果,所述比较计算使得对于所述模型拥有方隐藏所述第一对象的第一特征的特征值,对于所述数据拥有方隐藏该节点的特征分裂值;
第二接收单元,配置为,从所述模型拥有方接收通过所述树模型输出的对所述第一对象的预测结果,其中,所述预测结果是所述模型拥有方依照特定顺序,将所述n个节点中每个节点的所述比较结果的顺序复原之后;基于顺序复原后的所述n个节点中每个节点的所述比较结果和所述n个节点中每个节点在所述树模型中的位置所确定的。
15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项的所述的方法。
16.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910995202.7A CN110751330B (zh) | 2019-10-18 | 2019-10-18 | 一种基于树模型的预测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910995202.7A CN110751330B (zh) | 2019-10-18 | 2019-10-18 | 一种基于树模型的预测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110751330A CN110751330A (zh) | 2020-02-04 |
CN110751330B true CN110751330B (zh) | 2022-07-22 |
Family
ID=69278938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910995202.7A Active CN110751330B (zh) | 2019-10-18 | 2019-10-18 | 一种基于树模型的预测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110751330B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795603B (zh) * | 2019-10-29 | 2021-02-19 | 支付宝(杭州)信息技术有限公司 | 一种基于树模型的预测方法和装置 |
CN112199706B (zh) * | 2020-10-26 | 2022-11-22 | 支付宝(杭州)信息技术有限公司 | 基于多方安全计算的树模型的训练方法和业务预测方法 |
CN113221168B (zh) * | 2021-05-13 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 一种基于差分隐私的划分业务对象集合的方法和装置 |
CN114900442B (zh) * | 2022-05-27 | 2024-03-29 | 中金金融认证中心有限公司 | 用于对业务数据进行预测的方法及其相关产品 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101141940B1 (ko) * | 2010-07-07 | 2012-05-07 | 충남대학교산학협력단 | Xor체인을 이용한 트리기반 센서 네트워크 인증 시스템 및 방법 |
CN107124276B (zh) * | 2017-04-07 | 2020-07-28 | 西安电子科技大学 | 一种安全的数据外包机器学习数据分析方法 |
CN109033854B (zh) * | 2018-07-17 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 基于模型的预测方法和装置 |
CN110222527A (zh) * | 2019-05-22 | 2019-09-10 | 暨南大学 | 一种隐私保护方法 |
-
2019
- 2019-10-18 CN CN201910995202.7A patent/CN110751330B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110751330A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110751330B (zh) | 一种基于树模型的预测方法和装置 | |
CN110414567B (zh) | 数据处理方法、装置和电子设备 | |
Chen et al. | Deepmarks: A digital fingerprinting framework for deep neural networks | |
EP3490223B1 (en) | System and method for simulating and foiling attacks on a vehicle on-board network | |
CN110427969B (zh) | 数据处理方法、装置和电子设备 | |
CN110795603B (zh) | 一种基于树模型的预测方法和装置 | |
KR102223382B1 (ko) | 다중타입 엔티티에 기반한 지식 보완 방법 및 장치 | |
CN112100680B (zh) | 保护隐私的多平台数据处理方法及装置 | |
CN111125727A (zh) | 混淆电路生成方法、预测结果确定方法、装置和电子设备 | |
CN111651792B (zh) | 多方协同学习中的风险检测、模型增强方法及装置 | |
CN110322003B (zh) | 一种用于文档分类的基于梯度的通过添加虚假节点的图对抗样本生成方法 | |
CN112632620A (zh) | 一种增强隐私保护的联邦学习方法和系统 | |
CN111586071A (zh) | 一种基于循环神经网络模型的加密攻击检测方法及装置 | |
CN114611128A (zh) | 一种纵向联邦学习方法、装置、系统、设备及存储介质 | |
CN110874481B (zh) | 一种基于gbdt模型的预测方法和装置 | |
US20230206085A1 (en) | Processing device, processing method and processing program | |
CN111310186A (zh) | 混淆命令行检测方法、装置及系统 | |
Gao et al. | Link prediction via latent factor blockmodel | |
JP6411321B2 (ja) | 認証手段選択装置、認証手段選択方法、およびプログラム | |
CN109347640B (zh) | 一种基于区块链动态智能合约的数据处理方法及终端 | |
CN110569659B (zh) | 数据处理方法、装置和电子设备 | |
WO2023132048A1 (ja) | 生成方法、生成プログラム及び情報処理装置 | |
CN113535067A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN113132306A (zh) | 威胁事件处理方法及装置 | |
JP6305946B2 (ja) | 秘匿パターンマッチング装置、その方法、およびプログラム |
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 |