CN110944011A - 一种基于树模型的联合预测方法和系统 - Google Patents
一种基于树模型的联合预测方法和系统 Download PDFInfo
- Publication number
- CN110944011A CN110944011A CN201911297515.1A CN201911297515A CN110944011A CN 110944011 A CN110944011 A CN 110944011A CN 201911297515 A CN201911297515 A CN 201911297515A CN 110944011 A CN110944011 A CN 110944011A
- Authority
- CN
- China
- Prior art keywords
- leaf node
- encryption
- encrypted
- participants
- value
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
- 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"
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种基于树模型的联合预测方法及装置,该方法包括获取待预测对象的特征信息;获取可能到达的第一叶子节点以及可能到达的第二叶子节点;基于加密算法得到第一叶子节点加密列表和第二叶子节点加密列表;然后,将第一叶子节点加密列表和第二叶子节点加密列表进行再次加密,得到至少经过两次加密的目标叶子节点的值;基于第一加密算法将至少经过两次加密的目标叶子节点的值进行解密;然后,将解密结果发送给第二参与方。该方法采用密文传输,可以保护决策树模型隐私。
Description
技术领域
本说明书一个或多个实施例涉及信息安全领域,特别涉及一种基于树模型的联合预测方法和系统。
背景技术
树模型是一种基于统计的机器学习算法,该算法训练得到的模型是一种树形结构,树的内部节点定义了特征项以及其对应的划分阈值,树的叶子节点定义了最终预测的结果。
安全多方计算(Secure Multi-Party Computation),是一种保护数据安全隐私的多方计算方法。安全多方计算允许多个持有各自私有数据的参与方,共同执行一个计算逻辑,并获得计算结果,参与过程中,每一方均不会泄漏各自的私有数据。
将安全多方计算引入树模型中可以实现隐私保护下的多方联合建模,建模完成后,每方只拥有模型的一部分信息,从而需要进行联合预测。
发明内容
本说明书实施例之一提供一种基于决策树模型的联合预测方法。所述基于决策树模型的联合预测方法由联合预测参与方中的第一参与方执行;联合预测参与方包括第一参与方及一个或多个第二参与方,各参与方具有相同的树模型以及树模型中部分决策节点信息,仅第一参与方具有叶子节点值;所述方法包括:获取待预测对象的特征信息;基于待预测对象的特征信息以及所述树模型获取可能到达的第一叶子节点;基于第一加密算法对所述第一叶子节点的标识及值分别加密得到第一叶子节点加密列表;将第一叶子节点加密列表发送给其他参与方进行再次加密;获取至少经过两次加密的目标叶子节点的值;所述目标叶子节点为各参与方可能到达的叶子节点的交集;基于第一加密算法将至少经过两次加密的目标叶子节点的值进行解密;将解密结果发送给第二参与方;所述第一加密算法与其他各方相应的加密算法满足交换性。
在本说明书实施例之一提供一种基于决策树模型的联合预测系统。该系统包括:第一获取模块,用于获取待预测对象的特征信息;第一处理模块,用于基于待预测对象的特征信息以及所述树模型获取可能到达的第一叶子节点;第一加密模块,用于基于第一加密算法对所述第一叶子节点的标识及值分别加密得到第一叶子节点加密列表;第一发送模块,用于将第一叶子节点加密列表发送给其他参与方进行再次加密;第一目标节点值获取模块,用于获取至少经过两次加密的目标叶子节点的值;所述目标叶子节点为各参与方可能到达的叶子节点的交集;第一解密模块,用于基于第一加密算法将至少经过两次加密的目标叶子节点的值进行解密;第一发送模块,用于将解密结果发送给第二参与方。
在本说明书实施例之一提供一种基于决策树模型的联合预测装置,包括处理器及存储介质,所述存储介质用于存储计算机指令,所述处理器用于执行计算机指令以实现如本说明书任一实施例所述的方法。
在本说明书实施例之一提供一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行后,能够实现如如本说明书任一实施例所述的方法。
在本说明书实施例之一提供一种基于决策树模型的联合预测方法,所述方法由联合预测参与方中的任一第二参与方执行;联合预测参与方包括第一参与方及一个或多个第二参与方,各参与方具有相同的树模型以及树模型中部分决策节点信息,仅第一参与方具有叶子节点值;所述方法包括:获取待预测对象的特征信息;基于待预测对象的特征信息以及所述树模型获取可能到达的第二叶子节点;基于第二加密算法对所述第二叶子节点的标识加密得到第二叶子节点加密列表;将第二叶子节点加密列表发送给其他参与方进行再次加密;所述第二加密算法与其他参与方相应的加密算法满足交换性。
在本说明书实施例之一提供一种基于决策树模型的联合预测装置,包括处理器及存储介质,所述存储介质用于存储计算机指令,所述处理器用于执行计算机指令以实现如本说明书任一实施例所述的方法。
在本说明书实施例之一提供一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行后,能够实现如如本说明书任一实施例所述的方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据一些实施例所示的联合预测系统的应用场景示意图。
图2是机构A的预测流程示意图。
图3是机构B的预测流程示意图。
图4是根据本说明书的一些实施例所示的数据交互流程示意图。
图5A是根据本说明书的一些实施例所示的基于各参与方依次加密的第一叶子节点与第二叶子节点确定目标叶子节点的流程示意图。
图5B是根据本说明书的一些实施例所示的第二参与方解密目标叶子节点值的流程示意图。
图6根据本说明书的一些实施例所示的第一参与方侧的示例性系统框图。
图7根据本说明书的一些实施例所示的第二参与方侧的示例性系统框图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据一些实施例所示的联合预测系统的应用场景示意图。
本说明书提供的联合预测系统可以应用于基于互联网的各种服务平台或查询机构,例如,信息查询服务、信息预测服务、保险服务、借贷服务、资金往来服务。在一些实施例中,联合预测系统可以包括多个联合预测参与方,联合预测参与方可以包括第一参与方及一个或多个第二参与方。在一些实施例中,各参与方可以拥有本地模型,所述本地模型可以对应一个完整预测模型的部分。例如,各本地模型对应线性回归模型的部分参数。又例如,各本地模型对应神经网络模型的部分层。再例如,各参与方具有相同的树模型,但是各参与方的本地模型只拥有该树模型中部分决策节点信息。在一些实施例中,决策节点信息可以包括决策节点对应的特征项以及针对该特征项的特征值的分割阈值。
如图1所示,在一些实施例中,联合预测系统100可以包括参与方110、网络120,其中,参与方110的数量可以为多个。在一些实施例中,联合预测系统100还可以包括查询方130。
在一些实施例中,参与方110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,参与方110-1可以经由网络120发送或获取其他参与方110-2(或110-3)的预测信息。在一些实施例中,参与方110可以在一个云平台上实现。仅仅举个例子,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、云之间、多重云等,或其任意组合。
在一些实施例中,参与方110可以包含一个或多个子处理设备(如:单核处理器或多核处理器)。仅仅作为范例,参与方110可包含中央处理器(CPU)、专用集成电路(ASIC)、专用指令处理器(ASIP)、图形处理器(GPU)、物理处理器(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编辑逻辑电路(PLD)、控制器、微控制器单元、精简指令集电脑(RISC)、微处理器等或以上任意组合。
在一些实施例中,网络120连接系统的各组成部分,使得各部分之间可以进行通讯。在系统中各部分之间的网络可以是有线网络或无线网络中的任意一种或多种。例如,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。
在一些实施例中,查询方130可以是任意第二参与方,也可以是参与方以外的任意第三方。在一些实施例中,查询方130可以是带有数据获取、存储和/或发送功能的设备。在一些实施例中,查询方130可以接收用户的一个或多个输入,以对联合预测提供原始数据信息。查询方130可以包括但不限于移动设备、平板电脑、笔记本电脑、台式电脑等或其任意组合。
在一些实施例中,原始数据信息可以包括待预测对象的相关信息,如查询方130可以提供待预测对象的标识信息,或者提供待预测对象的标识信息及预测使用的特征数据。查询方130可以向任一参与方发送待预测对象的标识信息和/或其特征数据,以请求预测,并获取参与方返回的预测结果。仅作为示例,查询方130向参与方110发送预测请求以及待预测驾驶员的驾龄、交通违章次数以及去年出险次数等特征数据来对该驾驶员驾车是否安全进行预测,查询端130从一个或多个参与方处获取到安全或危险其中一种预测结果。
在一些实施例中,树模型可以是随机森林模型、决策树模型、Boosting模型和GBDT模型等。以下以决策树为例进行阐述,但不应将决策树理解为对本说明书的限制。
在一些实施例中,联合预测系统可以包括机构A和机构B,机构A拥有的树模型如图2所示,机构B拥有的树模型如图3所示。结合图2和图3可知,完整的预测模型包括三个决策节点以及四个叶子节点,决策节点分别与驾龄、交通违章次数以及去年出险次数三个特征项对应。机构A拥有完整的决策树结构,但是去年出险次数对应的决策节点未知(如,节点对应的特征项和/或分割阈值未知)。机构B拥有完整的决策树结构,但是驾龄、交通违章次数对应的决策节点未知。当需要预测某驾驶员驾车是否安全,需要机构A、B联合预测。
仅仅作为示例,假设查询方130向机构A或B提供了这样的信息,驾驶员M:驾龄2年,交通违章次数0,去年出险次数1,请求预测此人驾车是否安全。机构A根据其树模型判断其可能到达的叶子节点是3或4,机构B独立预测判断出可能到达的叶子节点是1、2或3。在一些实施例中,机构A和机构B可以将自己预测的结果发送给对方或者查询方130,对两部分预测结果求交后即可得到交集是叶子节点3,基于叶子节点对应的值故可以判断此人驾车危险。
在上述一些实施例中,由于未对联合预测的结果采取保护措施,使得机构A或机构B可以知晓该最终的预测结果,从而知道该结果对应的唯一预测路径,从而留下了安全隐患。例如,机构A或B通过最终的预测结果可以试探出各自未知决策节点的分割阈值,使得对方模型数据泄露。
仅作为示例,假设机构A对数据进行构造,得到以下3条信息:
驾驶员1:驾龄2年,交通违章次数0,去年出险次数0;
驾驶员2:驾龄2年,交通违章次数0,去年出险次数1;
驾驶员3:驾龄2年,交通违章次数0,去年出险次数2;
此时机构A发起请求,联合机构B进行预测,得到预测结果,最终发现驾驶员1属于安全,驾驶员2、3属于危险,则可以反推出机构B预测节点的出险次数的分割阈值是1,机构B的决策信息被探测到,此时机构B的模型信息遭到泄露。
为了保护参与方的数据安全,在一些实施例中,提出了基于加密技术的安全联合预测方式。同时,仅在其中一个参与方布设全部叶子节点信息(如叶子节点标识及值),其余参与方不知晓叶子节点的值,最终的预测结果不会回传至拥有叶子节点值的参与方。以图2、3为例,机构A拥有全部叶子节点信息,作为第一参与方;机构B作为第二参与方,机构B只有叶子节点的标识信息(如,ID),但叶子节点的值(即可能的预测结果)未知。这样的部署更有利于保护各参与方的数据隐私。
图4是根据本说明书的一些实施例所示的基于上述树模型的安全联合预测的数据交互流程示意图。
图4所示的联合预测方法400中一个或多个操作可以通过图1所示的联合预测系统100实现。例如,参与方110-1作为第一参与方,参与方110-2作为第二参与方,第一参与方和第二参与方分别具有相同的树模型以及树模型中部分决策节点信息,仅第一参与方具有叶子节点值。在一些实施例中,联合预测方法400可以适用于两个以上参与方的场景,例如存在更多的第二参与方,如图1中第二参与方110-3,为了方便阐述,在本说明书各实施例中主要以两方为例进行。
步骤210,第一参与方获取待预测对象的特征信息。在一些实施例中,步骤210可以由第一获取模块610执行。
在一些实施例中,预测请求可以是参与方以外的第三方作为查询方发起,也可以是某参与方作为查询方发起,例如,第二参与方可以向第一参与方发起预测请求。
查询方可以向任一参与方提交待预测对象的特征信息。例如,查询方可以将待预测对象的特征信息发送给第二参与方,第二参与方再将其发送至第一参与方;或者查询方直接将待预测对象的特征信息提交给各参与方。在一些实施例中,查询方也可以将待预测对象的部分特征信息发送给对应的参与方。例如,查询方可以将驾驶员M的驾龄及交通违章次数发送给第一参与方,将驾驶员M的出险次数发送给第二参与方。在一些实施例中,查询方可以提前获知不同参与方的本地模型对应的特征项,以根据各参与方的特征项发送对应的特征信息。
在一些实施例中,查询方可以向任意参与方提交待预测对象的标识信息,由各参与方根据所述标识信息在本地查询该待预测对象的相关特征信息。例如,查询方可以将标识信息驾驶员M发送给各参与方,第一参与方在本地获取驾驶员M的驾龄以及交通违章次数信息,相应的,第二参与方也可以在本地获取驾驶员M的去年出现次数信息。
步骤220,第一参与方基于待预测对象的特征信息以及所述树模型获取可能到达的第一叶子节点。在一些实施例中,步骤220可以由第一处理模块620执行。
第一参与方获取到待预测对象的特征信息后,可以根据其树模型进行预测,得到本地预测结果。仅作为示例,第一参与方获取到驾驶员M的驾龄2年以及交通违章次数0后(在一些实施例中,各参与方也可以获取待预测对象的全部特征信息),首先在根节点对驾龄信息进行判断,驾驶员M的驾龄大于一年,往树模型的右侧走;右侧分支的决策节点信息未知,预测路径可能往该未知决策节点的左侧走,也可能往右侧走,因此,第一参与方获得可能到达的第一叶子节点包括叶子节点3和叶子节点4。
步骤230,第一参与方基于第一加密算法对所述第一叶子节点的标识及值分别加密得到第一叶子节点加密列表。在一些实施例中,步骤230可以由第一加密模块630执行。
在一些实施例中,基于第一参与方树模型已经获得的第一叶子节点的标识和值,为了更加直观的表示,用ID_A表示第一叶子节点的标识,score表示第一叶子节点的值。注意,第一节点的标识和值可以分别是多个,为了方便示例,仅用了ID_A和score。为了解决明文传输标识和值的安全问题,在此利用第一加密算法对第一叶子节点的标识和值分别进行加密得到第一叶子节点加密列表,用f1(·)表示第一加密算法,该列表包括分别经过第一加密算法加密得到的第一叶子节点标识f1(ID_A)和叶子节点值f1(score)。其中,第一加密算法可以是对称加密算法、非对称加密算法等进行。示例性的对称加密算法可以包括DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6、AES等。示例性的非对称加密算法可以包括RSA、ECC、Diffie-Hellman、El Gamal、DSA等。Hash算法也可以用于数据保护,例如,MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1等。
步骤240,第一参与方将第一叶子节点加密列表发送给其他参与方进行再次加密。在一些实施例中,步骤240可以由第一发送模块640执行。
在一些实施例中,第一参与方持有的第一节点加密列表已经进行加密,需要将其传输给其他参与方,由其他参与方对列表内容依次进行再加密。各参与方的相关加密算法满足交换性,即,各参与方依次对信息x进行加密,最终的加密结果不受各参与方的加密顺序影响。仅作为示例,参与方110-1的加密算法为f1(·),参与方110-2的加密算法为f2(·),被加密数据为x,则满足f1(f2(x))=f2(f1(x))。在一些实施例中,第一参与方将第一叶子节点加密列表发送给第二参与方。当涉及更多的参与方时,第二参与方将还需要将再次加密的第一叶子节点加密列表发送给下一参与方再次加密,直到全部参与方完成对第一叶子节点加密列表依次加密。
步骤310,第二参与方获取待预测对象的特征信息。在一些实施例中,步骤310可以由第二获取模块710执行。
在一些实施例中,进行联合预测时,第一参与方和第二参与方均要先获取待测对象的特征信息,第二参与方获取待预测对象的特征信息可以与第一参与方类似,详细过程可以参见步骤210的相关内容。
步骤320,基于待预测对象的特征信息以及所述树模型获取可能到达的第二叶子节。在一些实施例中,步骤320可以由第二处理模块720执行。
第二参与方获取到待预测对象的特征信息后,可以根据其树模型进行预测,得到本地预测结果。仅作为示例,第二参与方获取到驾驶员M的出险次数1次后(在一些实施例中,各参与方也可以获取待预测对象的全部特征信息),首先在根节点对驾龄信息进行判断,由于根节点信息未知,预测路径可能往右侧走,也可能往左侧走;如果往右侧走,只可能达到叶子节点3;如果往左侧走,可能到达叶子节点1、叶子节点2。因此,第二参与方可能达到的第二叶子节点包括叶子节点1、叶子节点2以及叶子节点3。
步骤330,第二参与方基于第二加密算法对所述第二叶子节点的标识加密得到第二叶子节点加密列表。在一些实施例中,步骤330可以由第二加密模块730执行。
在一些实施例中,由于第二参与方只有第二叶子节点的标识ID_B,利用f2(·)表示第二加密算法,即利用第二加密算法加密得到的第二叶子节点加密列表包括f2(ID_B)。
步骤340,第二参与方将第二叶子节点加密列表发送给其他参与方进行再次加密。在一些实施例中,步骤340可以由第二发送模块执行740。
在一些实施例中,第二参与方将第二节点加密列表传输给其他参与方,由其他参与方对列表内容依次进行再加密。在一些实施例中,第二参与方将第二叶子节点加密列表发送给第一参与方。当涉及更多的参与方时,第一参与方将还需要将再次加密的第二叶子节点加密列表发送给下一参与方再次加密,直到全部参与方完成对第二叶子节点加密列表依次加密。
可以理解,各参与方的本地预测结果会经过各参与方的加密算法依次加密,由于各加密算法满足交换性,对加密的各本地预测结果求交的结果等同于直接对各本地预测结果求交的结果,最后各参与方仅对求交得到的目标叶子节点的值进行解密,得到最终预测结果的同时使得各参与方不能知晓求交结果对应哪一个叶子节点,进而不能知晓其预测路径,从而有效保护了各参与方的数据安全。在一些实施例中,各参与方在对来自其他参与方的叶子节点加密列表再次加密时,可以随机打乱列表中叶子节点的排列顺序,进一步确保各参与方无法将预测结果与叶子节点进行对应。
在一些实施例中,可以将目标叶子节点的值依次发给各参与方进行解密。由于第一参与方知道全部叶子节点的值,因此在一些实施例中,不会将仅由第一参与方加密的目标叶子节点的值发送给第一参与方解密,从而避免第一参与方知道最终预测结果以获知预测路径。
步骤250,第一参与方获取至少经过两次加密的目标叶子节点的值;所述目标叶子节点为各参与方可能到达的叶子节点的交集。在一些实施例中,步骤250可以由第一目标节点值获取模650执行。
在一些实施例中,目标叶子节点为各方可能到达的叶子节点的交集,其可以看作是能够得到基于决策树模型的联合预测的结果的信息,但第一参与方获得的目标叶子节点的值是经过至少两次加密的,第一参与方无法进行完全解密。在两方场景下,第一参与方获取的两次加密的目标叶子节点的值可以记录为f2(f1(score’))。
在一些实施例中,多方参与的情况下,目标叶子节点值可能不仅仅经过了第一参与方以及一个第二参与方的加密,其可能是经过了多次加密。
在一些实施例中,第一参与方获取的至少经过两次加密的目标叶子节点的值可以是经过其他第二参与方部分解密的结果,也可以是未经过一次解密的结果。在一些实施例中,第一参与方可以完成求交任务,确定目标叶子节点的值的加密结果,此内容可以参见图5A的相关说明。
步骤260,第一参与方基于第一加密算法将至少经过两次加密的目标叶子节点的值进行解密。在一些实施例中,步骤260可以由第一解密模块660执行。
在多方参与的情况下,解密后的目标叶子节点的值还经过至少一次加密,第一参与方进行且仅能进行基于第一加密算法的解密,故第一参与方自始无法得到目标叶子节点的值,也就不能知晓最终的预测结果对应的预测路径。
步骤270,将解密结果发送给第二参与方。在一些实施例中,步骤270可以由第一发送模块640执行。
在一些实施例中,由于解密后得到的至少一次加密的目标节点的值还需要经过至少一个第二参与方依次利用其第二加密算法进行解密。在两方场景下,经第二参与方解密后的目标节点值信息为明文,能够确定待预测对象的预测结果。由于第二参与方不具有叶子节点的值,因此第二参与方即使知晓预测结果,也无法将其与叶子节点对应,进而也无法获知预测路径。因此,获得预测结果的同时,各参与方都无法知晓预测路径,难易探测到对方模型的任何信息。
应当注意的是,上述有关流程400的描述仅仅是为了示例和说明,而不限定本说明书的一些实施例的适用范围。对于本领域技术人员来说,在本说明书的一些实施例的指导下可以对流程400进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤210~240与步骤310~340可以独立进行,两组步骤没有必然的先后顺序。在一些实施例中,从第一参与方来看,步骤210~270任一步骤的前后均可穿插其他步骤,例如第一参与方可以获取第二参与方的第二叶子节点加密列表,完成对该列表的再加密等步骤。在一些实施例中,从第二参与方来看,步骤310~340任一步骤的前后也均可穿插其他步骤,例如第二参与方可以获取其他第二参与方的第二叶子节点加密列表,完成对该列表的再加密,又例如第二参与方可以获取第一叶子节点加密列表,完成对该列表的再加密步骤等。
图5A是根据本说明书的一些实施例所示的基于各参与方依次加密的第一叶子节点与第二叶子节点确定目标叶子节点的流程示意图。流程510可以由任意参与方执行。在一些实施例中,流程510可以有部署于第一参与方的第一目标节点值获取模块650或者由部署于第二参与方的第二目标节点值获取模块750实现。
可以理解,各参与方基于本地模型预测出可能到达的叶子节点信息(如第一叶子节点标识及值,或第二叶子节点标识)后,都需要经过本地加密算法加密才能发送给其他参与方进行再次加密。对于每个参与方来说,除了完成本地预测结果的加密外,还需要接收其他参与方发送的加密结果(可能是其他方本地预测结果的加密结果,也可能是其他方加密另外参与方本地预测结果的再次加密结果)进行再次加密,直到各参与方的本地预测结果被各参与方的加密算法均再次加密。当各参与方的本地预测结果被各参与方再次加密完毕后,可以发送给约定好的任意参与方(或称为求交参与方)进行求交,得到目标叶子节点。不难理解,在一些实施例中,除求交参与方以外的其他各参与方的本地预测结果可以在除求交参与方以外的各参与方之间流转,直到其他参与方均完成加密,最后传输给求交参与方,这样处理可以减少一些数据传输,提高效率。此后,求交参与方对其他各参与方的本地预测结果的加密结果进行最后一次加密后,再与经过各参与方加密的求交参与方的本地预测结果一同完成求交,确定目标节点。具体的,求交参与方可以执行:
步骤511,获得经过各参与方依次基于其他各方加密算法加密的第一叶子节点标识及值。
当流程510由第一参与方执行时,第一参与方获得其他任一第二参与方返回的已经经过各第二参与方依次再次加密的第一叶子节点标识及值。此时,第一叶子节点标识及值已经是经过各参与方依次加密后的,由于任一第二参与方在进行再次加密时会打乱第一叶子节点顺序,因此,第一参与方不能获知完成加密后的第一叶子节点与树模型中各叶子节点的对应关系。
当流程510由第二参与方执行时,第二参与方获得其他任一参与方(第一参与方或第二参与方)发送的已经经过其他各参与方依次再次加密的第一叶子节点标识及值。此时,第一叶子节点标识及值可能是经过除本第二参与方以外的其他参与方依次加密后的,本第二参与方可以对接收到的结果再次加密,得到经过各参与方依次加密后的第一叶子节点标识及值。
步骤512,获取经过各参与方加密的各第二参与方的第二叶子节点加密列表。
当流程510由第一参与方执行时,在一些实施例中,第一参与方获得的第二叶子节点加密列表可以包括其他所有第二参与方预测的可能到达的第二叶子节点标识的加密结果,这些加密结果可以是已经经过其他所有第二参与方依次加密过。仅作为示例,当参与预测的参与方仅包括第一参与方——机构A以及第二参与方——机构B时,机构A获得的所述叶子节点加密列表包括机构B预测的可能达到的第二叶子节点标识ID_B的加密结果f2(ID_B),该加密结果由机构B基于其第二加密算法f2(·)加密。又例如,当参与预测的参与方包括第一参与方——机构A以及第二参与方——机构B与机构C时,机构A获得的叶子节点加密列表包括机构B预测的可能达到的第二叶子节点标识ID_B的加密结果f3(f2(ID_B))以及机构C预测的可能达到的第二叶子节点标识ID_C的加密结果f2(f3(ID_C)),这些加密结果依次经过机构B的加密算法f2(·)、机构C的加密算法f3(·)加密。第一参与方将获得的各第二叶子节点加密列表再次加密,可获得经过各参与方加密后的各第二参与方的第二叶子节点加密列表。
当流程510由第二参与方执行时,在一些实施例中,第二参与方接收到的第二叶子节点加密列表可以包括经过各参与方加密的本地第二叶子节点加密列表,以及可能仅经过其他方参与方加密的其他各参与方的第二叶子节点加密列表。第二参与方需要对经过其他方参与方加密的其他各参与方的第二叶子节点加密列表再次加密,以获得经过各参与方加密后的各第二参与方的第二叶子节点加密列表。
步骤513,将经过各参与方加密的第一叶子节点标识与经过各参与方加密的各第二叶子节点标识求交集,得到目标叶子节点标识的加密结果及其对应的值。
第一参与方或第二参与方在获得各参与方加密后的第一叶子节点加密列表以及各第二叶子节点加密列表后,可以对各个列表中叶子节点标识的加密结果进行求交。不难理解,由于各参与方使用的加密算法满足交换性,因此,对各个列表中叶子节点标识的加密结果求交等同于对各个列表中叶子节点标识直接求交。在一些实施例中,交集可能仅包含一个叶子节点,即各参与方的预测结果中仅含有一个公共的叶子节点。基于第一叶子节点加密列表,可以获取目标叶子节点的加密结果对应的值的加密结果。
在一些实施例中,当获得了目标叶子节点的值的加密结果后,需要各参与方对其依次解密以获得最终的预测结果。为了确保信息安全,目标叶子节点的值不能由第一参与方直接获得。所述直接获得包括将目标叶子节点的值的全解密结果发送给第一参与方,或者将仅剩第一加密算法加密的目标叶子节点的值返回给第一参与方。不难理解,返回给第一参与方进行解密的目标叶子节点的值应至少经过两次加密。关于第一参与方解密目标叶子节点的值的内容可以在文中其他地方找到详细描述,如步骤250~270。
图5B示出了在一些实施例中第二参与方解密目标叶子节点值的流程520。在一些实施例中,流程520可以由任意第二参与方执行。
应当理解,在满足上述条件的前提下,目标叶子节点的值的加密结果可以在各参与方之间流转,任一参与方获取到目标叶子节点的值的加密结果后使用本地加密算法完成一次解密后发送给下一参与方,直到目标叶子节点的值只剩下仅由某一第二参与方的第二加密算法加密的结果。在一些实施例中,第二参与方可能遇到的情形是获取到经过多次加密的目标叶子节点的值,此时第二参与方执行:基于本地加密算法对目标叶子节点值的加密结果进行一次解密后传给下一参与方。在一些实施例中,第二参与方可能遇到的情形是获得到仅经过其加密算法一次加密的目标叶子节点的值,此时第二参与方执行:
步骤521,获取来自其他参与方的且经过至少一次解密的目标叶子节点的值;在一些实施例中,步骤521可由第二获取模块710实现。
步骤522,对所述经过至少一次解密的目标叶子节点的值再次解密;在一些实施例中,步骤522可由第二解密模块760实现。
步骤523,基于再次解密的目标叶子节点的值确定待预测对象的预测结果。在一些实施例中,步骤523可由第二处理模块720实现。在一些实施例中,该第二参与方还可以通过第二发送模块740将待预测对象的预测结果发送给查询方。
应当注意的是,上述有关流程510和520的描述仅仅是为了示例和说明,而不限定说明书的一些实施例的适用范围。对于本领域技术人员来说,在说明书的一些实施例的指导下可以对流程510和520进行各种修正和改变。然而,这些修正和改变仍在说明书的一些实施例的范围之内。例如,在流程510中步骤511与步骤512没有必然的先后顺序,两者的顺序可以改变,也可以同时进行。
图6根据本说明书的一些实施例所示的第一参与方侧的示例性系统框图。
如图6所示,该基于决策树模型的联合预测系统可以包括第一获取模块610、第一处理模块620、第一加密模块630、第一发送模块640、第一目标节点值获取模块650和第一解密模块660,这些模块也可以作为应用程序或一组由处理引擎读取和执行的指令实现。此外,模块可以是硬件电路和应用/指令的任何组合。例如,当处理引擎或处理器执行应用程序/一组指令时,模块可以是处理器的一部分。
第一获取模块610可以用于第一参与方获取待预测对象的特征信息;
关于获取待预测对象的特征信息的更多描述可以在本说明书的其他地方(如步骤210及其相关描述中)找到,在此不作赘述。
第一处理模块620可以用于第一参与方基于待预测对象的特征信息以及所述树模型获取可能到达的第一叶子节点;
关于可能到达的第一叶子节点的更多描述可以在本说明书的其他地方(如步骤220及其相关描述中)找到,在此不作赘述。
第一加密模块630可以用于第一参与方基于第一加密算法对所述第一叶子节点的标识及值分别加密得到第一叶子节点加密列表;
关于第一叶子节点加密列表的更多描述可以在本说明书的其他地方(如步骤230及其相关描述中)找到,在此不作赘述。
第一发送模块640可以用于第一参与方将第一叶子节点加密列表发送给其他参与方进行再次加密;
关于再次加密的更多描述可以在本说明书的其他地方(如步骤240及其相关描述中)找到,在此不作赘述。
第一目标节点值获取模块650可以用于第一参与方获取至少经过两次加密的目标叶子节点的值;所述目标叶子节点为各参与方可能到达的叶子节点的交集;
关于获取至少经过两次加密的目标叶子节点的值的更多描述可以在本说明书的其他地方(如步骤250及其相关描述中)找到,在此不作赘述。
第一解密模块660可以用于第一参与方基于第一加密算法将至少经过两次加密的目标叶子节点的值进行解密。
关于将至少经过两次加密的目标叶子节点的值进行解密的更多描述可以在本说明书的其他地方(如步骤260及其相关描述中)找到,在此不作赘述。
第一发送模块640还用于第一参与方将解密结果发送给第二参与方。
关于将解密结果发送给第二参与方的更多描述可以在本说明书的其他地方(如步骤270及其相关描述中)找到,在此不作赘述。
在一些实施例中,第一目标节点值获取模块650还用于第一参与方接收来自第二参与方的至少经过两次加密的目标叶子节点的值。
在一些实施例中,第一目标节点值获取模块650还用于第一参与方获得其他参与方返回的基于其他各方加密算法再次加密的第一叶子节点标识及值;获取来自其他参与方的叶子节点加密列表,其中所述叶子节点加密列表包括基于其他各方加密算法对其他各方的第二叶子节点标识的加密结果;基于第一加密算法对所述第二叶子节点标识的加密结果再次加密,得到再次加密的第二叶子节点标识;将所述再次加密的第一叶子节点标识与所述再次加密的第二叶子节点标识求交集,得到目标叶子节点标识的再次加密结果及其对应的值。
在一些实施例中,上段关于第一目标节点值获取模块650中,其他参与方返回的基于其他各方加密算法再次加密的第一叶子节点标识及值的顺序被随机打乱。
图7根据本说明书所示的第二参与方侧的示例性系统框图。
如图7所示,该基于决策树模型的联合预测系统可以包括第二获取模块710、第二处理模块720、第二加密模块730和第二发送模块740,这些模块也可以作为应用程序或一组由处理引擎读取和执行的指令实现。此外,模块可以是硬件电路和应用/指令的任何组合。例如,当处理引擎或处理器执行应用程序/一组指令时,模块可以是处理器的一部分。
第二获取模块710可以用于第二参与方获取待预测对象的特征信息;
关于获取待预测对象的特征信息的更多描述可以在本说明书的其他地方(如步骤310及其相关描述中)找到,在此不作赘述。
第二处理模块720可以用于第二参与方基于待预测对象的特征信息以及所述树模型获取可能到达的第二叶子节点;
关于第二叶子节点的更多描述可以在本说明书的其他地方(如步骤320及其相关描述中)找到,在此不作赘述。
第二加密模块730可以用于第二参与方基于第二加密算法对所述第二叶子节点的标识加密得到第二叶子节点加密列表;
关于第二叶子节点加密列表的更多描述可以在本说明书的其他地方(如步骤330及其相关描述中)找到,在此不作赘述。
第二发送模块740可以用于第二参与方将第二叶子节点加密列表发送给其他参与方进行再次加密。
关于将第二叶子节点加密列表发送给其他参与方进行再次加密的更多描述可以在本说明书的其他地方(如步骤340及其相关描述中)找到,在此不作赘述。
在一些实施例中,第二获取模块710还用于第二参与方获取来自第一参与方或其他第二参与方的第一叶子节点加密列表;第二加密模块730还用于基于第二加密算法对第一叶子节点加密列表中的第一叶子节点标识及值分别再次加密;所第二发送模块740还用于将再次加密后的第一叶子节点标识及值发送给第一参与方或其他第二参与方。
在一些实施例中,第二加密模块730还用于第二参与方随机打乱第一叶子节点加密列表中第一叶子节点标识及值的顺序。
在一些实施例中,第二获取模块730还用于第二参与方获取来自其他参与方的第二叶子节点加密列表;第二加密模块730还用于基于第二加密算法对来自其他参与方的第二叶子节点加密列表中的第二叶子节点标识再次加密;第二发送模块740还用于将再次加密的结果发送至第一参与方或其他第二参与方。
在一些实施例中,该基于决策树模型的联合预测系统还包括第二目标节点值获取模块750以及第二解密模块760;
在一些实施例中,第二目标节点值获取模块750可以用于第二参与方获取来自其他参与方的且经过至少一次解密的目标叶子节点的值;所述目标叶子节点为各参与方可能到达的叶子节点的交集;第二解密模块760可以用于第二参与方对所述经过至少一次解密的目标叶子节点的值再次解密;第二处理模块720还可以用于第二参与方基于再次解密的目标叶子节点的值确定待预测对象的预测结果,或者第二发送模块740还可以用于第二参与方将再次解密的目标叶子节点的值发送给其他第二参与方。
在一些实施例中,所述第二目标节点值获取模块750可以用于第二参与方获得各方加密算法加密的第一叶子节点标识及值;获取各第二参与方的叶子节点加密列表,其中所述叶子节点加密列表包括基于各方加密算法对各第二参与方的第二叶子节点标识的加密结果;将各方加密的第一叶子节点标识与各方加密的第二叶子节点标识求交集,得到各方加密的目标叶子节点标识;所述第二发送模块740还可以用于第二参与方将所述各方加密的目标叶子节点标识发送给其他参与方,或者用于第二参与方将第二解密模块760将基于第二算法解密后的所述各方加密的目标叶子节点标识发送给其他第二参与方。
应当理解,图6和图7所示的装置及其模块可以利用各种方式来实现。例如,在一些实施例中,装置及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行装置,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的装置及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于数据下载装置及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该装置的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子装置与其他模块连接。例如,图6中第一加密模块430和第一解密模块460可以为同一个模块,任意模块基于同一加密算法进行加密和解密;图7中第二获取模块510和第二发送模块540可以为同一个模块,第二获取模块510用于获取数据,并发送数据。又例如,基于决策树模型的联合预测系统中的各个模块可以位于同一服务器上,也可以分属不同的服务器。诸如此类的变形,均在本说明书的保护范围之内。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
说明书的一些实施例可能带来的有益效果包括但不限于:(1)在进行联合预测中,第一参与方和其他第二参与方之间采用密文传输的方式,任何一方都无法探测到其他参与方的模型决策信息;(2)由于采用了密文传输,在有窃听风险的情况下,该树模型依旧不会存在泄漏风险;(3)模型信息的安全得到保证,从而保证了整个预测系统的可靠性。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (24)
1.一种基于树模型的联合预测方法,其中,所述方法由联合预测参与方中的第一参与方执行;联合预测参与方包括第一参与方及一个或多个第二参与方,各参与方具有相同的树模型以及树模型中部分决策节点信息,仅第一参与方具有叶子节点值;所述方法包括:
获取待预测对象的特征信息;
基于待预测对象的特征信息以及所述树模型获取可能到达的第一叶子节点;
基于第一加密算法对所述第一叶子节点的标识及值分别加密得到第一叶子节点加密列表;
将第一叶子节点加密列表发送给其他参与方进行再次加密;
获取至少经过两次加密的目标叶子节点的值;所述目标叶子节点为各参与方可能到达的叶子节点的交集;
基于第一加密算法将至少经过两次加密的目标叶子节点的值进行解密;
将解密结果发送给第二参与方;
所述第一加密算法与其他各方相应的加密算法满足交换性。
2.如权利要求1所述的方法,其中,所述获取至少经过两次加密的目标叶子节点的值,包括:
接收来自第二参与方的至少经过两次加密的目标叶子节点的值。
3.如权利要求1所述的方法,其中,所述获取至少经过两次加密的目标叶子节点的值,包括:
获得其他参与方返回的基于其他各方加密算法再次加密的第一叶子节点标识及值;
获取来自其他参与方的叶子节点加密列表,其中所述叶子节点加密列表包括基于其他各方加密算法对其他各方的第二叶子节点标识的加密结果;
基于第一加密算法对所述第二叶子节点标识的加密结果再次加密,得到再次加密的第二叶子节点标识;
将所述再次加密的第一叶子节点标识与所述再次加密的第二叶子节点标识求交集,得到目标叶子节点标识的再次加密结果及其对应的值。
4.如权利要求3所述的方法,其中,其他参与方返回的基于其他各方加密算法再次加密的第一叶子节点标识及值的顺序被随机打乱。
5.一种基于决策树模型的联合预测系统,包括:
第一获取模块,用于获取待预测对象的特征信息;
第一处理模块,用于基于待预测对象的特征信息以及所述树模型获取可能到达的第一叶子节点;
第一加密模块,用于基于第一加密算法对所述第一叶子节点的标识及值分别加密得到第一叶子节点加密列表;
第一发送模块,用于将第一叶子节点加密列表发送给其他参与方进行再次加密;
第一目标节点值获取模块,用于获取至少经过两次加密的目标叶子节点的值;所述目标叶子节点为各参与方可能到达的叶子节点的交集;
第一解密模块,用于基于第一加密算法将至少经过两次加密的目标叶子节点的值进行解密;
所述第一发送模块还用于将解密结果发送给第二参与方。
6.根据权利要求5所述的系统,所述第一目标节点值获取模块还用于:
接收来自第二参与方的至少经过两次加密的目标叶子节点的值。
7.根据权利要求5所述的系统,所述第一目标节点值获取模块还用于:
获得其他参与方返回的基于其他各方加密算法再次加密的第一叶子节点标识及值;
获取来自其他参与方的叶子节点加密列表,其中所述叶子节点加密列表包括基于其他各方加密算法对其他各方的第二叶子节点标识的加密结果;
基于第一加密算法对所述第二叶子节点标识的加密结果再次加密,得到再次加密的第二叶子节点标识;
将所述再次加密的第一叶子节点标识与所述再次加密的第二叶子节点标识求交集,得到目标叶子节点标识的再次加密结果及其对应的值。
8.如权利要求7所述的系统,其中,其他参与方返回的基于其他各方加密算法再次加密的第一叶子节点标识及值的顺序被随机打乱。
9.一种基于决策树模型的联合预测装置,包括处理器及存储介质,所述存储介质用于存储计算机指令,所述处理器用于执行计算机指令以实现如权利要求1~4任一项所述的基于决策树模型的联合预测方法。
10.一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行后,能够实现如权利要求1~4任一项所述的基于决策树模型的联合预测方法。
11.一种基于决策树模型的联合预测方法,其中,所述方法由联合预测参与方中的任一第二参与方执行;联合预测参与方包括第一参与方及一个或多个第二参与方,各参与方具有相同的树模型以及树模型中部分决策节点信息,仅第一参与方具有叶子节点值;所述方法包括:
获取待预测对象的特征信息;
基于待预测对象的特征信息以及所述树模型获取可能到达的第二叶子节点;
基于第二加密算法对所述第二叶子节点的标识加密得到第二叶子节点加密列表;
将第二叶子节点加密列表发送给其他参与方进行再次加密;
所述第二加密算法与其他参与方相应的加密算法满足交换性。
12.如权利要求11所述的方法,其中,所述方法还包括:
获取来自第一参与方或其他第二参与方的第一叶子节点加密列表;
基于第二加密算法对第一叶子节点加密列表中的第一叶子节点标识及值分别再次加密;
将再次加密后的第一叶子节点标识及值发送给第一参与方或其他第二参与方。
13.如权利要求12所述的方法,其中,所述方法还包括随机打乱第一叶子节点加密列表中第一叶子节点标识及值的顺序。
14.如权利要求11所述的方法,其中,所述方法还包括:
获取来自其他参与方的第二叶子节点加密列表;
基于第二加密算法对来自其他参与方的第二叶子节点加密列表中的第二叶子节点标识再次加密;
并将再次加密的结果发送至第一参与方或其他第二参与方。
15.如权利要求11所述的方法,其中,所述方法还包括:
获取来自其他参与方的且经过至少一次解密的目标叶子节点的值;所述目标叶子节点为各参与方可能到达的叶子节点的交集;
对所述经过至少一次解密的目标叶子节点的值再次解密;
基于再次解密的目标叶子节点的值确定待预测对象的预测结果,或者将再次解密的目标叶子节点的值发送给其他第二参与方。
16.如权利要求11所述的方法,其中,所述方法还包括:
获得各方加密算法加密的第一叶子节点标识及值;
获取各第二参与方的叶子节点加密列表,其中所述叶子节点加密列表包括基于各方加密算法对各第二参与方的第二叶子节点标识的加密结果;
将各方加密的第一叶子节点标识与各方加密的第二叶子节点标识求交集,得到各方加密的目标叶子节点标识;
将所述各方加密的目标叶子节点标识发送给其他参与方或者基于第二算法将所述各方加密的目标叶子节点标识进行解密后发送给其他第二参与方。
17.一种基于决策树模型的联合预测系统,包括:
第二获取模块,用于获取待预测对象的特征信息;
第二处理模块,用于基于待预测对象的特征信息以及所述树模型获取可能到达的第二叶子节点;
第二加密模块,用于基于第二加密算法对所述第二叶子节点的标识加密得到第二叶子节点加密列表;
第二发送模块,用于将第二叶子节点加密列表发送给其他参与方进行再次加密。
18.根据权利要求17所述的系统,
所述第二获取模块还用于获取来自第一参与方或其他第二参与方的第一叶子节点加密列表;
所述第二加密模块还用于基于第二加密算法对第一叶子节点加密列表中的第一叶子节点标识及值分别再次加密;
所述的第二发送模块还用于将再次加密后的第一叶子节点标识及值发送给第一参与方或其他第二参与方。
19.根据权利要求18所述的系统,
所述第二加密模块还用于随机打乱第一叶子节点加密列表中第一叶子节点标识及值的顺序。
20.根据权利要求17所述的系统,
所述第二获取模块还用于获取来自其他参与方的第二叶子节点加密列表;
所述第二加密模块还用于基于第二加密算法对来自其他参与方的第二叶子节点加密列表中的第二叶子节点标识再次加密;
所述第二发送模块还用于将再次加密的结果发送至第一参与方或其他第二参与方。
21.根据权利要求17所述的系统,还包括第二目标节点值获取模块以及第二解密模块;
所述第二目标节点值获取模块用于获取来自其他参与方的且经过至少一次解密的目标叶子节点的值;所述目标叶子节点为各参与方可能到达的叶子节点的交集;
所述第二解密模块,用于对所述经过至少一次解密的目标叶子节点的值再次解密;
所述第二处理模块还用于基于再次解密的目标叶子节点的值确定待预测对象的预测结果,或者所述第二发送模块还用于,将再次解密的目标叶子节点的值发送给其他第二参与方。
22.根据权利要求17所述的系统,还包括第二目标节点值获取模块以及第二解密模块;
所述第二目标节点值获取模块用于:
获得各方加密算法加密的第一叶子节点标识及值;
获取各第二参与方的叶子节点加密列表,其中所述叶子节点加密列表包括基于各方加密算法对各第二参与方的第二叶子节点标识的加密结果;
将各方加密的第一叶子节点标识与各方加密的第二叶子节点标识求交集,得到各方加密的目标叶子节点标识;
所述第二发送模块还用于将所述各方加密的目标叶子节点标识发送给其他参与方,或者用于将第二解密模块基于第二算法解密后的所述各方加密的目标叶子节点标识发送给其他第二参与方。
23.一种基于决策树模型的联合预测装置,包括处理器及存储介质,所述存储介质用于存储计算机指令,所述处理器用于执行计算机指令以实现如权利要求11~16任一项所述的基于决策树模型的联合预测方法。
24.一种计算机可读存储介质,所述存储介质存储有计算机指令,当所述计算机指令被处理器执行后,能够实现如权利要求11~16任一项所述的基于决策树模型的联合预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911297515.1A CN110944011B (zh) | 2019-12-16 | 2019-12-16 | 一种基于树模型的联合预测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911297515.1A CN110944011B (zh) | 2019-12-16 | 2019-12-16 | 一种基于树模型的联合预测方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110944011A true CN110944011A (zh) | 2020-03-31 |
CN110944011B CN110944011B (zh) | 2021-12-07 |
Family
ID=69910945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911297515.1A Active CN110944011B (zh) | 2019-12-16 | 2019-12-16 | 一种基于树模型的联合预测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110944011B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639367A (zh) * | 2020-07-31 | 2020-09-08 | 支付宝(杭州)信息技术有限公司 | 基于树模型的两方联合分类方法、装置、设备及介质 |
CN111741020A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的公共数据集确定方法、装置及系统 |
CN112073444A (zh) * | 2020-11-16 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 数据集的处理方法、装置和服务器 |
CN112597135A (zh) * | 2021-01-04 | 2021-04-02 | 天冕信息技术(深圳)有限公司 | 用户分类方法、装置、电子设备及可读存储介质 |
CN112866258A (zh) * | 2021-01-22 | 2021-05-28 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据核对方法、装置和服务器 |
CN112929342A (zh) * | 2021-01-22 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据核对方法、装置和服务器 |
CN113177212A (zh) * | 2021-04-25 | 2021-07-27 | 支付宝(杭州)信息技术有限公司 | 联合预测方法和装置 |
CN113807530A (zh) * | 2020-09-24 | 2021-12-17 | 京东科技控股股份有限公司 | 信息处理系统、方法和装置 |
CN114611131A (zh) * | 2022-05-10 | 2022-06-10 | 支付宝(杭州)信息技术有限公司 | 保护隐私的确定共有数据的方法、装置和系统 |
WO2022121623A1 (zh) * | 2020-12-09 | 2022-06-16 | 深圳前海微众银行股份有限公司 | 一种数据集合求交方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150032680A1 (en) * | 2013-07-25 | 2015-01-29 | International Business Machines Corporation | Parallel tree based prediction |
CN109165683A (zh) * | 2018-08-10 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦训练的样本预测方法、装置及存储介质 |
US20190190714A1 (en) * | 2017-12-20 | 2019-06-20 | Nxp B.V. | Privacy-preserving evaluation of decision trees |
CN110414567A (zh) * | 2019-07-01 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
CN110457912A (zh) * | 2019-07-01 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
-
2019
- 2019-12-16 CN CN201911297515.1A patent/CN110944011B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150032680A1 (en) * | 2013-07-25 | 2015-01-29 | International Business Machines Corporation | Parallel tree based prediction |
US20190190714A1 (en) * | 2017-12-20 | 2019-06-20 | Nxp B.V. | Privacy-preserving evaluation of decision trees |
CN109165683A (zh) * | 2018-08-10 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦训练的样本预测方法、装置及存储介质 |
CN110414567A (zh) * | 2019-07-01 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
CN110457912A (zh) * | 2019-07-01 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
方炜炜等: "基于隐私保护的决策树模型", 《模式识别与人工智能》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111741020A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的公共数据集确定方法、装置及系统 |
CN111741020B (zh) * | 2020-07-31 | 2020-12-22 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的公共数据集确定方法、装置及系统 |
CN111639367A (zh) * | 2020-07-31 | 2020-09-08 | 支付宝(杭州)信息技术有限公司 | 基于树模型的两方联合分类方法、装置、设备及介质 |
CN113807530A (zh) * | 2020-09-24 | 2021-12-17 | 京东科技控股股份有限公司 | 信息处理系统、方法和装置 |
CN113807530B (zh) * | 2020-09-24 | 2024-02-06 | 京东科技控股股份有限公司 | 信息处理系统、方法和装置 |
CN112073444A (zh) * | 2020-11-16 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 数据集的处理方法、装置和服务器 |
WO2022121623A1 (zh) * | 2020-12-09 | 2022-06-16 | 深圳前海微众银行股份有限公司 | 一种数据集合求交方法及装置 |
CN112597135A (zh) * | 2021-01-04 | 2021-04-02 | 天冕信息技术(深圳)有限公司 | 用户分类方法、装置、电子设备及可读存储介质 |
CN112929342A (zh) * | 2021-01-22 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据核对方法、装置和服务器 |
CN112866258A (zh) * | 2021-01-22 | 2021-05-28 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据核对方法、装置和服务器 |
CN113177212A (zh) * | 2021-04-25 | 2021-07-27 | 支付宝(杭州)信息技术有限公司 | 联合预测方法和装置 |
CN113177212B (zh) * | 2021-04-25 | 2022-07-19 | 支付宝(杭州)信息技术有限公司 | 联合预测方法和装置 |
CN114611131A (zh) * | 2022-05-10 | 2022-06-10 | 支付宝(杭州)信息技术有限公司 | 保护隐私的确定共有数据的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110944011B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110944011B (zh) | 一种基于树模型的联合预测方法和系统 | |
CN108616539B (zh) | 一种区块链交易记录访问的方法及系统 | |
TWI733106B (zh) | 基於模型的預測方法和裝置 | |
US9673975B1 (en) | Cryptographic key splitting for offline and online data protection | |
CN112580821A (zh) | 一种联邦学习方法、装置、设备及存储介质 | |
TWI720622B (zh) | 基於秘密分享的安全模型預測方法和裝置 | |
CN110969264B (zh) | 模型训练方法、分布式预测方法及其系统 | |
WO2022199290A1 (zh) | 多方安全计算 | |
CN110197082A (zh) | 数据处理方法、数据处理装置和计算机系统 | |
CN111628966B (zh) | 数据传输方法、系统、装置及数据授权方法、系统、装置 | |
CN109034796A (zh) | 基于联盟链的交易监管方法、电子装置及可读存储介质 | |
CN111783129A (zh) | 一种保护隐私的数据处理方法及系统 | |
CN110910978A (zh) | 一种应用于区块链网络的信息处理方法及相关装置 | |
CN110999200A (zh) | 监测函数的评估 | |
CN111327419A (zh) | 基于秘密共享的抗量子计算区块链的方法及系统 | |
US20180091497A1 (en) | Digital certificate for verifying application purpose of data usage | |
Vasylkovskyi et al. | BlockRobot: Increasing privacy in human robot interaction by using blockchain | |
CN114282256A (zh) | 一种基于秘密分享的排序打乱方法和恢复方法 | |
CN114443754A (zh) | 基于区块链的联邦学习处理方法、装置、系统以及介质 | |
CN112801307B (zh) | 基于区块链的联邦学习方法、装置和计算机设备 | |
CN111008400A (zh) | 数据处理方法、装置及系统 | |
US8607355B2 (en) | Social network privacy using morphed communities | |
CN110324149B (zh) | 一种多方共识签名后的证据固定验证方法 | |
CN114172631B (zh) | 一种基于秘密分享的排序方法和系统 | |
US10972271B2 (en) | Secret authentication code adding device, secret authentication code adding method, and program |
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 |