CN114418120A - 联邦树模型的数据处理方法、装置、设备及存储介质 - Google Patents
联邦树模型的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114418120A CN114418120A CN202210080616.9A CN202210080616A CN114418120A CN 114418120 A CN114418120 A CN 114418120A CN 202210080616 A CN202210080616 A CN 202210080616A CN 114418120 A CN114418120 A CN 114418120A
- Authority
- CN
- China
- Prior art keywords
- feature
- anonymous
- tree model
- node
- sample
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Human Resources & Organizations (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Entrepreneurship & Innovation (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Game Theory and Decision Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种联邦树模型的数据处理方法、装置、设备,应用于第一参与方设备;方法包括:获取目标节点在联邦树模型中的第一节点路由,目标节点与第一参与方设备提供的至少两个第一特征相对应;接收第二参与方设备发送的至少一个匿名特征,以及与各匿名特征对应的第二节点路由;基于第一节点路由及第二节点路由,模拟联邦树模型,得到联邦树模型对应的伪联邦树模型,并通过伪联邦树模型,对用作联邦树模型的训练样本的特征集合所包括的特征子集进行预测,得到相应的预测值;结合预测值及目标预测结果,确定特征集合中各特征对应目标预测结果的贡献信息。通过本申请,能够快速、准确的确定样本中各参与方所提供的各特征的贡献信息。
Description
技术领域
本申请涉及人工智能技术,尤其涉及一种联邦树模型的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
随着各行各业逐渐加强数据隐私保护的大趋势下,联邦学习,一种可以在保护数据隐私的情况下协同多方数据建立机器学习的技术,成为了各企业/行业间合作的关键之一。如今,纵向场景下,纵向树模型已经广泛地在纵向联邦场景下,成为了金融、风控领域的常用且强力的算法之一。
在金融、风控领域,往往想要获取单条样本中的各特征对于联邦树模型输出结果的影响。如对于某个特定样本(比方说违约的客户),需要获取具体是哪个特征以及该特征的哪些取值,对确定用户是违约用户产生了重要的影响。另外,还需要确定合作方提供的特征对于模型输出的影响。
相关联邦树模型解释方案,通过获取特征重要度从整体上对树模型进行解释,无法具体的解释单条样本中各特征的贡献度。另外,虽然使用特征重要度能够得知合作方的特征使用了多少次,但是合作方特征对于模型输出结果的影响的正负性是不可知的,且确定特征贡献信息时模型计算量大。
发明内容
本申请实施例提供一种联邦树模型的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够快速、准确的确定样本中各参与方所提供的各特征的贡献信息。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种联邦树模型的数据处理方法,基于联邦学习系统,所述联邦学习系统包括第一参与方设备及至少一个第二参与方设备,所述方法应用于第一参与方设备,包括:
获取目标节点在所述联邦树模型中的第一节点路由,所述目标节点与所述第一参与方设备提供的至少两个第一特征相对应;
接收所述第二参与方设备发送的至少一个匿名特征,以及与各所述匿名特征对应的第二节点路由;
其中,所述匿名特征与用于训练所述联邦树模型的第二特征相对应,所述第二节点路由,用于指示以所述匿名特征作为所述联邦树模型的分裂节点时,所述分裂节点对应的子节点路径;
基于所述第一节点路由及所述第二节点路由,模拟所述联邦树模型,得到所述联邦树模型对应的伪联邦树模型,并通过所述伪联邦树模型,对用作所述联邦树模型的训练样本的特征集合所包括的特征子集进行预测,得到相应的预测值;
其中,所述特征集合包括:携带目标预测结果的所述至少两个第一特征、及至少一个所述第二参与方设备提供的所述第二特征;
结合所述预测值及所述目标预测结果,确定所述特征集合中各特征对应所述目标预测结果的贡献信息。
本申请实施例提供一种联邦树模型的数据处理装置,包括:
获取模块,用于获取目标节点在所述联邦树模型中的第一节点路由,所述目标节点与所述第一参与方设备提供的至少两个第一特征相对应;
接收模块,用于接收第二参与方设备发送的至少一个匿名特征,以及与各所述匿名特征对应的第二节点路由;其中,所述匿名特征与用于训练所述联邦树模型的第二特征相对应,所述第二节点路由,用于指示以所述匿名特征作为所述联邦树模型的分裂节点时,所述分裂节点对应的子节点路径;
模拟模块,用于基于所述第一节点路由及所述第二节点路由,模拟所述联邦树模型,得到所述联邦树模型对应的伪联邦树模型,并通过所述伪联邦树模型,对用作所述联邦树模型的训练样本的特征集合所包括的特征子集进行预测,得到相应的预测值;其中,所述特征集合包括:携带目标预测结果的所述至少两个第一特征、及至少一个所述第二参与方设备提供的所述第二特征;
确定模块,用于结合所述预测值及所述目标预测结果,确定所述特征集合中各特征对应所述目标预测结果的贡献信息。
上述方案中,所述接收模块,还用于发送携带样本标识的匿名特征获取请求至所述第二参与方设备;
其中,所述匿名特征获取请求用于,所述第二参与方设备响应所述匿名特征获取请求,确定所述样本标识对应的所述第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二节点路由;
接收到所述第二参与方设备返回的与所述样本标识对应的匿名特征、以及所述匿名特征对应的第二节点路由。
上述方案中,所述接收模块,还用于在本地创建匿名关系记录表,所述匿名关系记录表,用于记录用于训练所述联邦树模型的训练样本的样本标识、所述样本标识对应的所述第二参与方设备的匿名特征、以及所述匿名特征对应的第二节点路由;
将接收到的与所述样本标识对应的匿名特征、以及所述匿名特征对应的第二节点路由存储于所述匿名关系记录表中。
上述方案中,所述确定模块,还用于从所述第一参与方设备提供的至少两个第一特征、以及至少一个所述第二参与方设备提供的第二特征中,选取至少两个特征;
构建包括所述至少两个特征的特征交互组,并确定所述特征交互组对应的至少一个交互边际贡献值;
基于所述至少一个交互边际贡献值,确定所述特征交互组对应所述目标预测结果的交互贡献信息。
上述方案中,所述确定模块,还用于确定所述特征集合的第一特征子集,所述第一特征子集包括所述至少两个特征中至少之一;
确定所述特征集合的第二特征子集,所述第二特征子集与所述特征交互组为互补关系;
获取所述第一特征子集对应的预测值、以及所述第二特征子集对应的预测值,并基于所述第一特征子集对应的预测值、以及所述第二特征子集对应的预测值,确定所述特征交互组对应的交互边际贡献值。
上述方案中,所述确定模块,还用于当所述交互边际贡献值的数量为多个时,对多个所述交互边际贡献值进行求和,得到所述特征交互组对应所述目标预测结果的交互贡献信息。
本申请实施例还提供一种联邦树模型的数据处理方法,基于联邦学习系统,所述联邦学习系统包括第一参与方设备及至少一个第二参与方设备,所述方法应用于第二参与方设备,包括:
针对用于训练所述联邦树模型的各第二特征,分别生成与各所述第二特征对应的匿名特征,并获取与各所述匿名特征对应的第二节点路由;
所述第二节点路由,用于指示以所述匿名特征作为所述联邦树模型的分裂节点时,所述分裂节点对应的子节点路径;
发送与各所述第二特征对应的匿名特征,以及与各所述匿名特征对应的第二节点路由至所述第一参与方设备;
其中,所述第二节点路由用于,所述第一参与方设备基于所述第二节点路由,获取所述联邦树模型对应的伪联邦树模型,并通过所述伪联邦树模型,确定特征集合中各特征对应目标预测结果的贡献信息;
其中,所述特征集合用作所述联邦树模型的训练样本,包括:所述第一参与方设备提供的携带目标预测结果的至少两个第一特征、及至少一个所述第二特征。
本申请实施例还提供一种联邦树模型的数据处理装置,包括:
生成模块,用于针对用于训练所述联邦树模型的各第二特征,分别生成与各所述第二特征对应的匿名特征,并获取与各所述匿名特征对应的第二节点路由;所述第二节点路由,用于指示以所述匿名特征作为所述联邦树模型的分裂节点时,所述分裂节点对应的子节点路径;
发送模块,用于发送与各所述第二特征对应的匿名特征,以及与各所述匿名特征对应的第二节点路由至所述第一参与方设备;其中,所述第二节点路由用于,所述第一参与方设备基于所述第二节点路由,获取所述联邦树模型对应的伪联邦树模型,并通过所述伪联邦树模型,确定特征集合中各特征对应目标预测结果的贡献信息;其中,所述特征集合用作所述联邦树模型的训练样本,包括:所述第一参与方设备提供的携带目标预测结果的至少两个第一特征、及至少一个所述第二特征。
上述方案中,所述发送模块,还用于接收到所述第一参与方设备发送的携带样本标识的匿名特征获取请求;
解析所述匿名特征获取请求,得到所述样本标识;
确定所述样本标识对应的所述第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二节点路由;
向所述第一参与方设备发送所述匿名特征以及所述第二节点路由。
上述方案中,所述发送模块,还用于根据所述样本标识,查找本地匿名关系记录表,得到所述样本标识对应的第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二路由;其中,所述匿名关系记录表,用于记录用于训练所述联邦树模型的训练样本的样本标识、所述样本标识对应的第二特征、所述第二特征对应的匿名特征、以及所述匿名特征对应的第二节点路由。
上述方案中,所述生成模块,还用于针对用于训练所述联邦树模型的各第二特征,分别进行哈希处理,得到各所述第二特征对应的哈希值,并将所述哈希值作为所述第二特征对应的匿名特征。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的联邦树模型的数据处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的联邦树模型的数据处理方法。
本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的联邦树模型的数据处理方法。
本申请实施例具有以下有益效果:
与相关联邦树模型中,通过获取特征重要度从整体上对树模型进行解释的技术相比,本申请实施例中第一参与方设备结合样本中的第一特征、对应第一特征的第一节点路由、从第二参与方设备获取的第二特征所对应的匿名特征以及匿名特征对应的第二节点路由,对联邦树模型进行模拟,得到伪联邦树模型,如此,能够直接在第一参与方设备本地构建伪联邦树模型,减少各参与方设备之间的通信次数;然后通过伪联邦树模型,确定样本的特征集合所包括的各特征子集的预测值,最后结合各预测值及样本的目标预测结果,确定特征集合中各特征对应目标预测结果的贡献信息,如此,能够精确衡量单条样本中各参与方提供的特征所对应的贡献信息。
附图说明
图1是本申请实施例提供的联邦树模型的数据处理系统的架构示意图;
图2A-2B是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的联邦树模型的数据处理方法的流程示意图;
图4是本申请实施例提供的匿名特征及第二节点路由获取方法流程图;
图5是本申请实施例提供的伪联邦树模型示意图;
图6是本申请实施例提供的伪联邦树模型的构建方法流程图;
图7是本申请实施例提供的伪联邦树模型的构建方法的流程图;
图8是本申请实施例提供的特征对预测结果的贡献信息示例图;
图9是本申请实例提供的非联邦学习场景中树模型示意图;
图10是本申请实施例提供的伪联邦树模型确定预测值的方法示意图;
图11是本申请实施例提供的确定特征子集的预测值的方法示意图;
图12是本申请实施例提供的伪联邦树模型确定预测值的具体方法示意图;
图13是本申请实施例提供的交互贡献信息确定方法流程图;
图14是本申请实施例提供的交互贡献信息确定方法流程图;
图15是本申请实施例提供的联邦树模型的数据处理方法的流程示意图;
图16是本申请实施例提供的匿名特征发送方法示意图;
图17是本申请实施例提供的树模型估计函数的代码片段示意图;
图18是本申请实施例提供的联邦树模型的数据处理方法的流程图;
图19是本申请实施例提供的伪树模型构建方法示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)决策树(Decision Tree):是一种机器学习的方法,它具体是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。
2)夏普利值(SHAP,SHapley Additive exPlanation):一种基于协作博弈理论的模型无关的可解释性分析方式,每条预测记录都有对应的shap值,其中每个特征也有其对应的shap值。当shap值大于0时,表示当前样本中的当前特征将模型预测结果向正向推进,反之表示向反向推进。
本申请实施例提供一种联邦树模型的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够快速、准确的确定样本中各特征的贡献信息。
基于上述对本申请实施例中涉及的名词和术语的解释,首先对本申请实施例提供的联邦树模型的数据处理系统进行说明,参见图1,图1是本申请实施例提供的联邦树模型的数据处理系统的架构示意图,在联邦树模型的数据处理系统100中,第一参与方设备400,第二参与方设备410(示例性的示出了2个第二参与方设备,分别记为410-1和410-2,以示区分),第一参与方设备400和第二参与方设备410通过网络300互相连接同时通过网络300连接服务器设备,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
在一些实施例中,第一参与方设备400和第二参与方设备410通过网络300互相连接,同时可以通过网络300连接联邦树模型中可能涉及的第三方设备(协作方、服务器等)。
在一些实施例中,第一参与方设备400以及第二参与方设备410可以是笔记本电脑,平板电脑,台式计算机,智能手机,专用消息设备,便携式游戏设备,智能音箱,智能手表等,还可以是联邦学习参与方的客户终端,例如各银行或金融机构等存储有用户特征数据的参与方设备,但并不局限于此。第三方设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器,用于协助各参与方设备进行联邦学习以得到联邦学习模型。网络300可以是广域网或者局域网,又或者是二者的组合。第一参与方设备400、第二参与方设备410可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
第一参与方设备400,用于获取目标节点在联邦树模型中的第一节点路由,其中,目标节点与第一参与方设备提供的至少两个第一特征相对应;然后,接收第二参与方设备发送的至少一个匿名特征,以及与各匿名特征对应的第二节点路由;其中,匿名特征与用于训练联邦树模型的第二特征相对应,第二节点路由,用于指示以匿名特征作为联邦树模型的分裂节点时,该分裂节点对应的子节点路径;并基于第一节点路由及第二节点路由,模拟联邦树模型,得到联邦树模型对应的伪联邦树模型,并通过伪联邦树模型,对训练样本的特征集合所包括的特征子集进行预测,得到相应的预测值;最后,结合预测值及目标预测结果,确定特征集合中各特征对应目标预测结果的贡献信息。
第一参与方设备400,还用于向第二参与方设备发送匿名特征获取请求,以获取第二参与方设备基于匿名特征获取请求,返回的与样本标识对应的匿名特征、以及匿名特征对应的第二节点路由。
第二参与方设备410,用于生成与用于训练联邦树模型的各第二特征对应的匿名特征,并获取与各匿名特征对应的第二节点路由;发送与各第二特征对应的匿名特征,以及与各匿名特征对应的第二节点路由至第一参与方设备。
参见图2A-2B,图2A-2B是本申请实施例提供的电子设备的结构示意图,在实际应用中,电子设备500可以实施为图1中的第一参与方设备400或第二参与方设备410,对实施本申请实施例的联邦树模型的数据处理方法的电子设备进行说明。图2A-2B所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可以理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的联邦树模型的数据处理装置可以采用软件方式实现,图2A示出了本申请实施例提供的电子设备为第一参与方设备400的结构示意图,存储在存储器550中的联邦树模型的数据处理装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、接收模块5552、模拟模块5553以及确定模块5554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在一些实施例中,如图2B所示,图2B示出的是本申请实施例提供的电子设备为第二参与方设备410的结构示意图,存储在存储器550的联邦树模型的数据处理装置555中的软件模块可以包括:生成模块5555以及发送模块5556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的联邦树模型的数据处理装置可以采用硬件方式实现,作为示例,本申请实施例提供的联邦树模型的数据处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的联邦树模型的数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
将结合本申请实施例提供的第一参与方设备的示例性应用和实施,说明本申请实施例提供的联邦树模型的数据处理方法。本申请实施例提供的联邦树模型的数据处理方法是基于联邦学习系统,其中,联邦学习系统包括第一参与方设备及至少一个第二参与方设备。参见图3,图3是本申请实施例提供的联邦树模型的数据处理方法的流程示意图,将结合图3示出的步骤进行说明。
在步骤101中,第一参与方设备获取目标节点在联邦树模型中的第一节点路由,目标节点与第一参与方设备提供的至少两个第一特征相对应。
在实际实施时,在纵向联邦树模型的场景中,通常涉及至少两种参与方,第一参与方是持有数据和标签(目标预测结果)的参与方(也可称作Guest方或者主动方),第二参与方是持有数据(也可称作Host方或者被动方)的参与方。本申请实施例提供的方法可以适用于一个Guest方以及至少一个Host方参与的纵向联邦树模型。
示例性地,以一个Guest方和一个Host方协同训练联邦树模型为例,单条训练样本中,Guest方与Host方各持有部分特征,其中,Guest方提供G_1,G_2,G_3,……,G_n,共n个第一特征,n≥1且n为整数;Host方提供H_1,H_2,H_3,……,H_m,共m个第二特征,m≥1且m为整数;如果有k个Host(k≥1且k为整数),可以用m_k表示第k个Host包括的特征数量。可以理解的是,对应一个Guest方和一个Host方的单条训练样本的特征集合共包含n个第一特征以及m个第二特征,特征集合可表示为{G_1,G_2,G_3,……,G_n,H_1,H_2,H_3,……,H_m}。
其中,针对联邦树模型的训练样本,第一参与方设备提供的至少两个第一特征{G_1,G_2,G_3,……,G_n}对本地(第一参与方设备)而言是公开的,第一参与方设备可以直接在联邦树模型中获取与第一特征一一对应的目标节点,以及目标节点对应的路由信息(可以看作第一节点路由)。
在步骤102中,接收第二参与方设备发送的至少一个匿名特征,以及与各匿名特征对应的第二节点路由,其中,匿名特征与用于训练当前联邦树模型的第二特征相对应,第二节点路由,用于指示以匿名特征作为联邦树模型的分裂节点时,分裂节点对应的子节点路径。
在实际实施时,为了保护各参与方数据的隐私性、安全性,针对第二参与方设备提供的至少一个第二特征{H_1,H_2,H_3,……,H_m},第一参与方设备无法直接获取第二特征相关的信息,为了获取各第二特征对应训练样本所携带的标签的贡献信息,可以通过从第二参与方设备获取各第二特征对应的匿名特征以及匿名特征对应的第二节点路由,在第一参与方设备本地确定样本中各特征的贡献信息。在本地可以使用匿名特征(anonymousfeature)代替Host方提供的第二特征,此时,第一参与方设备不需要知晓第二特征的具体信息,只需要获取第二特征对应的匿名特征,以及匿名特征对应的路由信息(第二节点路由)即可。也就是说,第一参与方设备确定待解释样本中第二特征贡献信息时,首先需要接收第二参与方设备发送的对应第二特征的匿名特征、以及匿名特征对应的第二节点路由。
承接上例,通过获取Host方对应的m个第二特征一一对应的匿名特征,第一参与方设备针对单条训练样本的特征集合变更为{G_1,G_2,G_3,……,G_n,a_1_i,a_2_i,a_3_i,……,a_m_i},其中,a_m_i可以表示第i个Host方的第m个匿名特征,i=1时,表示第1个Host方。
在一些实施例中,参见图4,图4是本申请实施例提供的匿名特征及第二节点路由获取方法流程图,第一参与方设备可以通过图4示出的步骤获取匿名特征以及匿名特征对应的第二节点路由,结合图4示出的步骤进行说明。
步骤1021,第一参与方设备发送携带样本标识的匿名特征获取请求至第二参与方设备。
在实际实施时,第一参与方设备在进行样本解释时,当在联邦树模型中,遍历到第二特征对应的目标节点时,可以向第二参与方设备发送匿名特征请求,该匿名特征请求中携带有样本标识,需要说明的是,匿名特征请求中携带的样本标识可以是一个,也可以是多个。当样本标识的数量为多个时,第一参与方设备可以批量解释至少两个样本,如此,能够提高样本解释效率。
步骤1022,第一参与方设备接收到第二参与方设备返回的与样本标识对应的匿名特征、以及匿名特征对应的第二节点路由。
在实际实施时,在第一参与方设备向第二参与方设备发出匿名特征请求后,第一参与方设备可以接收到第二参与方设备返回的与样本标识对应的匿名特征、以及匿名特征对应的第二节点路由。
在一些实施例中,第一参与方设备可以通过以下方式存储接收到的匿名特征以及匿名特征对应的第二节点路由:第一参与方设备在本地创建匿名关系记录表,并将接收到的与样本标识对应的匿名特征、以及匿名特征对应的第二节点路由存储于匿名关系记录表中。需要说明的是,第一参与方设备本地的匿名关系记录表,用于记录用于训练联邦树模型的训练样本的样本标识、样本标识对应的第二参与方设备的匿名特征、以及匿名特征对应的第二节点路由。
在实际实施时,第一参与方设备可以在本地创建匿名关系记录表,用于记录样本标识对应的匿名特征、以及匿名特征对应的第二节点路由,再次使用该样本标识对应的样本时,可以直接从本地匿名关系记录表中读取,减少与第二参与方设备的通信次数。
示例性地,匿名关系记录表以文件格式存于本地,其中记录的信息可以为{“样本标识”:××××,“匿名特征”:×××,“第二节点路由”:“left”},还可以包括第二参与方设备的设备标识,如{“样本标识”:××××,“匿名特征”:×××,“第二节点路由”:“left”,“设备标识”:host_x}。
需要说明的是,步骤101与步骤102之间没有严格的前后执行顺序。
在步骤103中,基于第一节点路由及第二节点路由,模拟联邦树模型,得到联邦树模型对应的伪联邦树模型。
获取至少两个第一特征所对应节点在联邦树模型中的第二节点路由。
在一些实施例中,第一参与方设备获取样本中各第一特征的对应的第二节点路由,因为第一特征是由第一参与方设备提供的,所以各第一节点路由对第一参与方设备而言是已知信息,可以直接获取的。
在实际实施时,联邦树模型场景中,第二参与方设备所提供的第二特征的相关信息对第一参与方设备而言是未知项,第一参与方设备可以根据已知的第一节点路由,以及向第二参与方请求的第二节点路由,模拟联邦树模型,在本地得到一个非联邦学习场景下的树模型,可以将模拟得到的树模型看作是联邦树模型的伪联邦树模型或伪树模型。并使用本地创建的伪树模型解释训练样本,即获取样本中第一参与方设备提供的第一特征、以及第二参与方设备提供的第二特征所对应的匿名特征的特征贡献度。也就是说,第一参与方设备根据本地提供的第一特征、第一节点路由、从第二参与方设备获取的第二特征对应的匿名特征、各匿名特征对应的第二节点路由,在本地模拟联邦树模型,得到一个新的树模型,用于计算各第一特征、各匿名特征对应的贡献信息。
示例性地,参见图5,图5是本申请实施例提供的伪联邦树模型示意图,假设用作联邦树模型的训练样本的特征包括{收入、年龄、身高},其中,“身高”是第二参与方设备提供的,图中编号1所示的“a_k_1”表示原联邦树模型中第二参与方设备中提供的第二特征“身高”,样本中身高特征是由第二参与方设备提供的,使用对应的匿名特征a_k_1代替,在遍历图中所示的伪树模型,当当前节点是编号1所示的节点时,可以根据第二参与方返回的第二节点路由,确定在该节点的路由信息。
对伪联邦树模型的构建过程进行说明,在一些实施例中,参见图6,图6是本申请实施例提供的伪联邦树模型的构建方法流程图,基于图3,步骤103,可以通过步骤1031A至步骤1034A实现。
步骤1031A,第一参与方设备创建联邦树模型的模型副本,并从根节点开始对模型副本的每个节点进行遍历。
在实际实施时,第一参与方设备在本地构建的伪联邦树模型,可以看作是目标联邦树模型的变体,为了提高伪树模型的创建效率,可以通过在联邦树模型的模型副本中,进行相应的修改,即可得到用于模拟联邦树模型的伪联邦树模型。
步骤1032A,当遍历到的当前节点对应的特征为第二特征时,获取与第二特征对应的匿名特征,并将当前节点对应的特征替换为匿名特征。
在实际实施时,从模型副本的根节点开始遍历,当遍历到的当前节点对应的特征是第二参与方设备提供的第二特征时,可以直接使用匿名特征,替换掉模型副本中的第二特征。
示例性地,图5中,使用匿名特征“a_k_1”替换掉第二参与方提供的“身高”特征,获取对应匿名特征“a_k_1”的第二节点路由,即当遍历到“a_k_1”节点时,由于该条样本中,“身高”的具体值是由第二参与方设备提供,为了数据安全性,在该节点时,第一参与方不需要获取“身高”的具体值,只需要确定在“身高”节点是往哪个分支继续进行即可。
步骤1033A,根据第二节点路由所指示的子节点路径,确定当前节点包括的子节点。
在实际实施时,在模型副本中,使用匿名特征替换相应的第二参与方设备提供的第二特征后,通过第二节点路由,确定匿名特征对应的节点的子节点。
步骤1034A,当遍历到的当前节点对应的特征为第一特征时,执行针对其它节点的遍历,直至模型副本中的节点遍历完成,将模型副本中对应第一特征的第一节点、对应匿名特征的第二节点、第二节点包括的子节点所构成的树模型作为伪联邦模型。
重复执行上述步骤1031A至步骤1034A,即可得到用作模拟联邦树模型的伪联邦树模型。
继续对伪联邦树模型的构建过程进行说明,在一些实施例中,参见图7,图7是本申请实施例提供的伪联邦树模型的构建方法的流程图,结合图7示出的步骤说明伪联邦树模型构建过程。
步骤1031B,第一参与方设备创建初始树模型,初始树模型中具有对应第一特征的节点,且初始树模型中的节点对应第一节点路由。
在实际实施时,由于待解释样本(训练样本)中第一特征是由第一参与方设备提供的,也即第一特征相关的信息对第一参与方设备而言是已知信息,为了提高伪联邦树模型的构建速度,第一参与方设备可以直接根据已知的各第一特征,构建一个初始树模型,初始树模型中具有对应第一特征的节点,且初始树模型中的节点对应第一节点路由。
步骤1032B,获取与第二参与方设备的第二特征存在一一对应关系的匿名特征、以及各匿名特征对应的第二节点路由。
在实际实施时,第一参与方设备读取本地匿名关系记录中存储的与待解释样本的样本标识对应的匿名特征,以及匿名特征对应的第二节点路由。
步骤1033B,根据第二节点路由,在初始树模型中创建对应匿名特征的节点及节点包括的子节点,以得到伪联邦树模型。
在实际实施时,第一参与方设备根据第一节点路由,步骤1031B中构建的初始树模型中,直接创建对应匿名特征的节点及节点包括的子节点。
在步骤104中,通过伪联邦树模型,对用作联邦树模型的训练样本的特征集合所包括的特征子集进行预测,得到相应的预测值;
其中,特征集合包括:携带目标预测结果的所述至少两个第一特征、及至少一个所述第二参与方设备提供的所述第二特征。在实际实施时,Guest方对联邦树模型对应的单条训练样本进行解释,实际上确定单条样本中每个特征的特征值对目标预测结果的影响,其中,目标预测结果是指该训练样本通过联邦树模型得到的预测结果,Guest方可以将Host方提供的第二特征使用相应的匿名特征代替。
在实际实施时,各特征对应目标预测结果的贡献信息的含义如下:当特征是第一特征时,贡献信息用于表征第一特征对应的特征值对目标预测结果的贡献值;当特征是第二参与方(Host方)对应的匿名特征时,贡献信息用于表征第二参与方(host方)中各第二特征对目标预测结果的贡献值。例如,确定样本D中特征A对目标预测结果R的贡献信息,可以理解为,确定样本D中特征A对应的值对R的贡献信息。
在实际实施时,可以基于夏普利值(Shapely),确定用作机器学习模型的样本特征集合所包括的各特征的贡献信息,实现过程可以是:假设有机器学习模型f,输入的样本X,样本X包含特征{1,2,3,……,t},特征可以用下标i代替,共有t(t≥1且t为整数)个特征,N为子集,S为不包含i的特征子集,fx为估计函数,用于返回特征子集S通过模型f所输出的平均值。计算公式如下:
作为示例,参见图8,图8是本申请实施例提供的特征对预测结果的贡献信息示例图,假设存在样本x={年龄=20,身高=170,收入=100},机器学习模型f,得到f对样本x的预测结果为1.2,
1)枚举样本x的特征集合所包括的所有特征子集:{年龄=20,身高=170,收入=100},{年龄=20,身高=170},{年龄=20,收入=100},{身高=170,收入=100},{收入=100},{年龄=20},{身高=170},{}。
2)遍历样本x中的每个特征,将每个特征对应的特征值加入到不包含自身的特征子集中,计算各特征的边际贡献,并利用预设的估值函数f_x计算各特征子集对应的预测结果(也可称估计值),假设通过f_x,得到的各特征子集的预测结果如下:
f_x({年龄=20,身高=170,收入=100})=1.2;
f_x({年龄=20,身高=170})=0.9;
f_x({年龄=20,收入=100})=0.8;
f_x({身高=170,收入=100})=0.7;
f_x({收入=100})=0;
f_x({年龄=20})=0;
f_x({身高=170})=0;
f_x({})=0;
需要说明的是,当特征子集是样本x中特征的全集时,利用估值函数f_x计算的预测结果与使用机器学习模型f的预测结果一致。
承接上例,为了计算特征“{年龄=20}”对样本x的预测结果“1.2”的贡献,可以依次将“{年龄=20}”加入到不包含自身的特征子集中,并根据前述公式(1)计算“{年龄=20}”边际贡献值,过程如下:
①将“{年龄=20}”加入到特征子集{身高=170,收入=100},确定边际贡献值为:2/6*{1.2-0.7}=1/6;
②将“{年龄=20}”加入到特征子集{收入=100},确定边际贡献值为:1/6*{0.8-0}=0.8/6;
③将“{年龄=20}”加入到特征子集{年龄=20},确定边际贡献值为:1/6*{0.9-0}=0.9/6;
④将“{年龄=20}”加入到空集,确定边际贡献值为:0;
将上述①至④得到的边际贡献值相加,得到总贡献为2.7/6=0.45。最终,得到“{年龄=20}”为预测结果“1.2”贡献了“+0.45”。同理可以得到,“{收入=100}”为预测结果“1.2”贡献了“+0.35”,“{身高=170}”为预测结果“1.2”贡献了“+0.4”。其中,符号“+”表明“{年龄=20}”、“{收入=100}”、“{身高=170}”对预测结果“1.2”的影响是正向影响,若符号是“-”则表明特征对应的特征值对目标预测结果的影响是负向影响。
由前述描述,可以确定,根据夏普利值,确定用作训练联邦树模型的训练样本的特征集合所包括的各特征的特征值,对样本的预测结果的贡献信息时,参与联邦树模型训练的第一参与方设备,需要确定样本(待解释样本)的特征集合所包括的各特征子集,以及用于计算各特征子集的预测结果的估值函数,其中,估值函数的实现方式,可以通过实际使用的机器学习模型确定。
对获取特征子集的方式进行说明,特征子集是通过对样本特征集合中各特征进行组合得到的。以联邦树模型为例,样本的特征组合包括由Guest方提供的第一特征(包括G_1,G_2,G_3,……,G_n,共n个特征),Host方提供的第二特征(包括H_1,H_2,H_3,……,H_m,共m个特征),即一条样本数据中共有n+m个特征。对这n+m个特征进行组合,获取对应的特征子集,特征子集中的特征个数从0到n+m,特征个数为0时,特征子集为空集,特征个数为n+m时,特征子集为全集。特征子集的个数N,N的计算公式如下:
示例性地,联邦树模型中,假设一个Guest方和一个Host方参与计算,对于包含n+m个特征的各样本D,其中,n是Guest方提供的第一特征的数量,m是Host方提供的第二特征的数量。针对样本D,为了保证获取Host方相关特征的贡献度,同时又要保证各参与方之间的数据安全性,将Host提供的m个第二特征,使用m个对应的匿名特征代替,需要说明的是,匿名特征与第二特征存在一一对应的关系,针对一条待解释样本,其中有几个第二特征就对应有几个匿名特征,且各匿名特征是具有唯一标识的,匿名特征可以记作a_m_k,其中,i用作表示Host方的索引,m用于标识第k个Host所提供的第m匿名特征。在实际应用中,可以存在多个Host方。样本D{G_1,G_2,G_3,……,G_n,H_1,H_2,H_3,……,H_m}变更为样本D'{G_1,G_2,G_3,……,G_n,a_1_1,a_2_1,a_3_1,……,a_m_1},。针对样本D'所包括的n+m特征,根据前述公式(2)对这n+1特征进行组合计算,得到对应样本D'的2n+m个特征子集。
对适用于树模型的估值函数进行说明,在实际实施时,树模型由于其结构的特殊性,可以在不依靠任何其他样本的情况下,估计样本的特征集合所包括的各特征子集,在缺失某个特征时,树模型输出的与各特征子集对应的预测值(也可称为平均值)。本申请实施例提供的树模型估计函数的实现原理如下:。
开始{输入某个特征子集S,从树模型的根节点开始:
遍历每一个节点j,j=0,1,2,……
初始化权重为w=1
执行:
如果节点j为非叶子节点,且判定特征d_j在子集S中,
w保持不变向下传递,则向上返回往下遍历的结果
如果该节点j非叶子,且判定特征d_j不在子集S中取出r_j,且取出r_(a_j)、r_(b_j)
计算出左支新权重w_l=r_(a_j)/r_j,由左支向下传递计算出右支新权重w_l=r_(b_j)/r_j,由右支向下传递向上返回左支遍历与右支遍历的结果之和
如果该节点为叶子
向上返回权重w乘以叶子输出值t_j的值
}结束,最终,递归结束后获得返回的值作为子集S的估计值。
对上述实现算法进行说明,图中所示的算法中,S为待解释样本X的一个特征子集;假设一共树模型中有n个树节点,向量都包含n个元素,为叶子节点的输出值,只有叶子节点才有值;为某节点的左右子节点的索引向量,非叶子节点可以通过中的索引信息找到对应的子节点;为非叶子节点对应的切分阈值;为非叶子节点对应的特征索引,叶子节点对应的元素值为空,为落在该节点的样本数量。
示例性地,参见图9,图9是本申请实例提供的非联邦学习场景中树模型示意图,假设,有100条样本,树模型T,各样本中包括3个特征{收入、年龄、身高}以及预测结果,图中树模型包括7个节点,{0、1、2、3、4、5、6}表示树模型中节点索引,{0.1、0.2、0.3、0.4}为树模型对应的预测结果,估计函数中的各向量的值为: 其中,各向量中的元素“-1”表示无相应的值,图中“2000”为“收入”的切分(分割)阈值(即若样本的收入≤2000,就沿“收入”节点的左分支操作;若样本的收入>2000,就沿“收入”节点的右分支操作),“20”为“年龄”的切分(分割)阈值,“170cm”为“身高”的切分(分割)阈值。
承接上例,图中,以“收入”为分裂节点,其中,100条样本中有40条样本中的“收入”对应的值符合“收入<2000”(沿“收入”节点的左分支操作),剩余的60条样本符合“收入≥2000”(沿“收入”节点的右分支操作);即以“收入=2000”将100条样本分成两组,一组包含40条样本,另一组包含60条样本。以“年龄”为分裂节点,其中有20条样本满足“年龄<18”(往左边走),有20条样本满足“年龄≥18”;以“身高”为分割(分裂)点,其中有15条样本(分裂子集)满足“身高<170”(往左边走),有45条样本满足“身高≥170”。
承接上例,通过上述决策树模型T,确定特征子集A{年龄=18,收入=900}对应的估计值(平均值),即计算f({年龄=18,收入=900})的值,特征子集A中缺失特征是“身高”,实现过程如下:预测索引路径,0→1→3,则T({年龄=18,收入=900})=0.1,特征子集中缺失特征“身高”时,特征子集的预测值与样本X的目标预测值一致。
承接上例,通过上述决策树模型T,确定特征子集B{年龄=18,身高=160},对应的预测值,即计算f({年龄=18,身高=160})的值,特征子集B中缺失特征为“收入”,因为“收入”特征是根节点,此时就无法继续使用索引路径的方式来预测值,根据上述实现算法可知,在此情况下,可以使用落入各节点训练样本的样本数量,进行预测。针对100条样本,使用“收入”特征进行分割(切分)时,20条样本划分到左分支,80条样本划分到右分支。在特征子集B中缺失特征“收入”的情况下,“收入”对应的左右两个分支都要参考:左分支到“年龄”特征,由于特征子集B中存在特征“年龄”,根据“年龄=18”,在“年龄”这里往左走,预测值为0.1;右分支到“身高”特征,特征子集B中存在“身高”,根据“身高=160”,在“身高”这里往右走,预测值为0.3。因此,可以确定,f({年龄=18,身高=160})=0.1*(20/100)+0.3*(80/100)=0.02+0.24=0.26;其中,20/100为缺失特征“收入”(左分支)所样本比例,0.1为“年龄=18”的预测值,80/100为缺失特征“收入”(右分支)所样本比例,0.3为“身高=160”的预测值。
在实际实施时,为了根据上述树模型的估计函数确定联邦树模型中,样本的特征集合所包括的各特征子集的预测值,从而确定样本中各特征对联邦树模型的目标预测结果的贡献度。联邦树模型中的第一参与方可以在本地通过自身提供的样本的第一特征,以及用于代替第二参与方提供的第二特征的匿名特征所确定的各特征子集,确定用作联邦树模型的样本中各第一特征对样本目标预测结果的贡献信息,以及各匿名特征对样本目标预测结果的贡献信息,由于匿名特征用于替代第二参与方提供的第二特征,所以,匿名特征对样本目标预测结果的贡献信息(或称贡献度),可以用于反应第二参与方提供的第二特征对样本目标预测结果的贡献信息。
在步骤105中,结合所述预测值及所述目标预测结果,确定所述特征集合中各特征对应所述目标预测结果的贡献信息。
在实际实施时,第一参与方设备通过在本地构建的伪联邦树模型对待解释样本中的特征集合所包括的特征子集进行预测,得到各特征子集对应的预测值。需要说明的是,这里的特征集合可以看作是包括第一特征、以及第二特征对应的匿名特征。
示例性地,输入伪联邦树模型的样本对应的特征集合可以为{G_1,G_2,G_3,……,G_n,a_1_1,a_2_1,……,a_m_1},其中,{a_1_1,a_2_1,……,a_m_1}为各第二特征对应的匿名特征。
在一些实施例中,参见图10,图10是本申请实施例提供的伪联邦树模型确定预测值的方法示意图,基于图3,在步骤105中,针对特征集合包括的各特征子集,通过伪联邦树模型,可以分别执行以下步骤1051A至步骤1053A,确定特征集合中各特征子集对应的预测值。
步骤1051A,第一参与方设备从伪联邦树模型的根节点开始,遍历伪联邦树模型的节点。
示例性地,参见图5,假设存在待解释样本X,样本标识为ID1,{收入=1500,年龄=17,身高=165cm},在实际实施,假设身高是第二参与方设备所提供的特征,样本X中“身高”特征的特征值是未知信息,未知信息可以使用“?”表示,为了确定特征子集S{年龄=18,收入=900}对应的预测值,第一参与方设备从图7所示的根节点(即特征“收入”对应的节点),开始遍历伪联邦模型的节点。
步骤1052A,当遍历到的当前节点为非叶子节点,且特征子集包括当前节点对应的特征时,获取当前节点对应的节点路由。
承接上例,针对样本X的特征子集S{年龄=18,收入=900},当在图7中所示的伪联邦树模型中,遍历到“收入”节点时,由于“收入”所在节点为非叶子节点,根据“收入”特征的值“900”,可以确定“收入”节点的节点路由,是往“收入”节点的左分支操作,其中对应的子节点是“年龄”。
步骤1053A,根据节点路由确定当前节点对应的叶子节点,并将叶子节点对应的特征值作为特征子集的预测值。
承接上例,继续根据特征子集S中“年龄”特征的值“18”,可以确定,叶子节点是值为“0.1”的节点,可以确定,特征子集S的预测值为0.1。
在一些实施例中,参见图11,图11是本申请实施例提供的确定特征子集的预测值的方法示意图,基于图3,在步骤105中,针对特征集合包括的各特征子集,通过伪联邦模型,还可以分别执行以下步骤1051B至步骤1055B,确定各特征子集对应的预测值。
步骤1051B,第一参与方设备从伪联邦树模型的根节点开始,遍历伪联邦树模型的节点。
示例性地,参见图5,继续以待解释样本X,样本标识为ID1,{收入=1500,年龄=17,身高=165cm}为例,为了确定特征子集Z{年龄=18,身高=?}对应的预测值,第一参与方设备从图5所示的根节点(即特征“收入”对应的节点),开始遍历伪联邦模型的节点。
步骤1052B,当遍历到的当前节点为非叶子节点,且特征子集不包括当前节点对应的特征时,获取当前节点对应的训练样本的第一数量。
在实际实施时,第一数量,是以当前节点的父节点为分裂节点,对样本进行分组,落入当前节点的样本数量,当前节点为根节点时,第一数量可以是预设的样本数量Number,为了方便计算,Number可以是大于2的整数,同时,Number也可是第一参与方设备执行一次模型解释时,待解释样本的总数,通常情况下,为了提高模型解释效率,一个可以执行多条样本的模型解释操作。
承接上例,假设用于执行模型解释的待解释样本的数量为100条,针对样本X的特征子集Z{年龄=18,身高=?},当在图5中所示的伪联邦树模型中,遍历到“收入”节点时,由于“收入”是缺失特征,所在节点为非叶子节点,但是根节点,可以获取“收入”节点对应的样本的第一数量为“100”。
步骤1053B,获取当前节点的各子节点对应的训练样本的第二数量。
在实际实施时,第二数量,是以当前节点为分裂节点,对落入节点的训练样本进行分组,落入节点各子节点的样本数量。
承接上例,参见图5,假设,已知100条样本中,“收入<1000”的样本有40条,“收入≥1000”的样本有60条;40条样本中,“年龄<20”的样本有20条,“年龄≥20”的样本有20条;60条样本中,“身高<170cm”的样本有15条,“身高≥170cm”的样本有45条。
步骤1054B,获取各子节点对应的预测值。
承接上例,参见图5,特征子集Z{年龄=18,身高=?}中,“年龄=18”对应的预测值为“0.1”,“身高=?”对应的预测值为0.3(因为Host方对应该样本的“身高”值为“165cm”)。
步骤1055B,根据第一数量,各第二数量、以及各子节点对应的预测值,确定特征子集对应的预测值。
在一些实施例中,参见图12,图12是本申请实施例提供的伪联邦树模型确定预测值的具体方法示意图,基于图3,步骤1055B,可以通过步骤201至步骤203实现。
步骤201,第一参与方设备根据第一数量,以及各第二数量,确定各子节点对应的权重,基于各子节点所对应的权重,对各子节点对应的预测值进行加权处理,得到当前节点对应的预测值。
步骤202,若当前节点为根节点,将当前节点对应的预测值作为特征子集对应的预测值。
步骤203,若当前节点非根节点,获取当前节点所在节点层中各节点的权重、以及节点层中各节点对应的预测值,对节点层中各节点对应的预测值进行加权处理,得到当前节点的父节点所对应的预测值,若父节点为根节点,将父节点对应的预测值作为特征子集对应的预测值,若父节点非根节点,迭代执行上述处理,直至得到根节点对应的预测值,作为特征子集对应的预测值。
承接上例,参见图5,特征子集Z{年龄=18,身高=?}中,“年龄=18”对应的预测值为“0.1”,“身高=?”对应的预测值为0.3(因为Host方对应该样本的“身高”值为“165cm”),具体的计算过程为:由于特征子集Z中存在特征“年龄”,根据“年龄=18”,在“年龄”这里往左走,预测值为0.1;右分支到“身高”特征,特征子集Z中存在“身高”,且身高是匿名特征,因为获取该匿名特征的路由,确定在“身高”这里往左走,预测值为0.3。因此,可以确定,特征子集Z{年龄=18,身高=?}的预测值为0.1*(20/100)+0.3*(80/100)=0.02+0.24=0.26;其中,20/100为缺失特征“收入”(左分支)的样本比例,0.1为“年龄=18”的预测值,80/100为缺失特征“收入”(右分支)的样本比例,0.3为匿名特征的预测值。
在一些实施例中,第一参与方确定特征集合中各特征对应目标预测结果的贡献信息时,针对特征集合中的每个特征,可以分别执行以下操作:第一参与方将当前特征的特征值加入到不包含自身的特征子集中,得到对应的第一预测值,并基于不包含当前特征的特征子集的第二预测值,根据上述公式(1)中边际贡献值计算公式,确定当前特征的至少一个边际贡献值。当边际贡献值的数量为一个时,边际贡献值作为当前特征对目标预测结果的贡献信息;当边际贡献值的数量为至少两个时,将各边际贡献值的累加结果作为当前特征对目标预测结果的贡献信息。
在一些实施例中,参见图13,图13是本申请实施例提供的交互贡献信息确定方法流程图,基于图3,第一参与方设备在执行完步骤105之后,可以执行图13示出的步骤,确定任意至少两个特征交互时,对目标预测结果的交互贡献信息。
在步骤106中,第一参与方设备从本地提供的至少两个第一特征、以及至少一个第二参与方设备提供的第二特征中,选取至少两个特征。
在实际实施时,可以任意确定至少两个特征的交互贡献信息,至少两个特征可以是至少两个第一特征、以及至少两个第二特征中的任何至少两个特征。
在步骤107中,构建包括至少两个特征的特征交互组,并确定特征交互组对应的至少一个交互边际贡献值。
在实际实施,将步骤106确定的至少两个特征,确定为一个特征交互组,然后确定该特征交互组的所有交互边际贡献值。
以确定包括两个特征的特征交互组的交互边际贡献值进行说明。在一些实施例中,确定特征交互组<i,j>,即特征交互组中包括两个特征,特征i以及特征j,确定特征交互组对样本对应的目标预测结果的交互边际贡献信息,原理如下:
δi,j=fx(S∪{i,j})-fx(S∪{i})-fx(S∪{j})+fx(S)
上述公式(3)中,S表示是任一个不包含i、j的子集,S∪{i,j}表示包含特征i,j的特征子集,S∪{i}表示包含特征i的特征子集,S∪{j}表示包含特征j的特征子集,fx为对应联邦树模型的估计函数,用于确定各特征子集的预测值,δi,j是对应特征交互组的交互边际贡献,其计算方式可以参考公式(1)中计算边际贡献的方式。在步骤108中,基于至少一个交互边际贡献值,确定特征交互组对应目标预测结果的交互贡献信息。
在实际实施时,当交互边际贡献值的数量为一个时,交互边际贡献值直接作为特征交互组对应目标预测值的交互贡献信息。
针对特征交互组对应目标预测结果的交互贡献信息的确定方式进行说明,在一些实施例中,参见图14,图14是本申请实施例提供的交互贡献信息确定方法流程图,基于图13,图14示出的步骤108,可由步骤1081至步骤1083实现。
步骤1081,第一参与方设备确定特征集合的第一特征子集,其中,第一特征子集包括所述至少两个特征中至少之一。
在实际实施时,根据上述公式(3)确定特征交互组的交互贡献信息时,需要先确定特征交互组的交互边际贡献,即δi,j,根据δi,j的计算方式,第一参与方设备需要获取特征集合的第一特征子集。
针对第一特征子集进行说明,基于公式(3),以特征交互组为<i,j>为例,第一特征子集为,包括<i,j>的特征子集、只包括i的特征子集、只包括j的特征子集;以特征交互组为<i,j,v>为例,第一特征子集为,包括<i,j,v>的特征子集、只包括i,j的特征子集、只包括i,v的特征子集、只包括j,v的特征子集、只包括i的特征子集、只包括j的特征子集、只包括v的特征子集,以此类推,可见,特征交互组中特征数量越多,对第一参与方设备的计算能力要求越高。
步骤1082,第一参与方设备确定特征集合的第二特征子集,其中,第二特征子集与特征交互组为互补关系。
针对第二特征子集进行说明,基于公式(3)可知,计算交互边际贡献值时,第一参与方设备需要获取不包含特征交互组中各特征的特征子集(可以称为第二特征子集)。以特征交互组为<i,j>为例,第二特征子集为,不包括<i,j>的特征子集;以特征交互组为<i,j,v>为例,第二特征子集为,不包括<i,j,v>的特征子集。
步骤1083,获取第一特征子集对应的预测值、以及第二特征子集对应的预测值,并基于第一特征子集对应的预测值、以及第二特征子集对应的预测值,确定特征交互组对应的交互边际贡献值。
在实际实施时,通过伪联邦树模型确定第一特征子集对应的预测值,第二特征子集对应的预测值,并根据第一特征子集对应的预测值、以及第二特征子集对应的预测值,确定特征交互组对应的交互边际贡献值。
承接上例,确定特征交互组<i,j>的交互边际贡献值,通过伪树联邦模型fx确定第一特征子集S∪{i,j}、S∪{i}、S∪{j}对应的预测值fx(S∪{i,j})、fx(S∪{i})、fx(S∪{j}),然后根据上述公式(3),确定特征交互组对应的交互边际贡献值δi,j。
在一些实施例中,当交互边际贡献值的数量为至少两个时,还可以通过以下方式确定特征交互组对应的交互贡献信息:第一参与方设备对多个交互边际贡献值进行求和,得到特征交互组对应目标预测结果的交互贡献信息。承接上例,基于公式(3),针对特征交互组<i,j>的交互边际贡献信息的数量为至少两个时,可以将至少两个交互边际贡献信息的累加结果作为特征交互组对目标预测结果的交互贡献信息。
本申请实施例中第一参与方可以通过发送匿名特征获取请求,从各第二参与方获取各待解释样本的对应匿名特征以及匿名特征对应的节点路由,并在第一参与方本地构建对应联邦树模型的伪树模型,对于所有特征子集的预测都可以在本地并行完成,而不需复杂的联邦学习预测流程,大大减少了通信量,使得在联邦场景下使用树算法解释多条样本与衡量贡献功能具有实用价值,并且提供了单样本的解释,补充了联邦场景下的缺失;同时,能够衡量Host方各个特征的贡献信息,另外,还能够在保护各参与方数据隐私的情况下提供待解释样本中各特征贡献的解释,并且可以提供建模人员特征交互分析的功能。
接下来,将结合本申请实施例提供的第二参与方设备的示例性应用和实施,说明本申请实施例提供的联邦树模型的数据处理方法。参见图15,图15是本申请实施例提供的联邦树模型的数据处理方法的流程示意图,将结合图15示出的步骤进行说明。
在步骤301中,第二参与方设备针对用于训练联邦树模型的各第二特征,分别生成与各第二特征对应的匿名特征,并获取与各匿名特征对应的第二节点路由。
需要说明的是,第二节点路由,用于指示以匿名特征作为联邦树模型的分裂节点时,分裂节点对应的子节点路径。
在步骤302中,第二参与方设备发送与各第二特征对应的匿名特征,以及与各匿名特征对应的第二节点路由至第一参与方设备。
需要说明的是,第二节点路由用于,第一参与方设备基于第二节点路由,获取联邦树模型对应的伪联邦树模型,并通过伪联邦树模型,确定特征集合中各特征对应目标预测结果的贡献信息。这里的特征集合用作联邦树模型的训练样本,特征集合包括:第一参与方设备提供的携带目标预测结果的至少两个第一特征、及至少一个第二特征。
在一些实施例中,参见图16,图16是本申请实施例提供的匿名特征发送方法示意图,基于图16,步骤302可以通过步骤3021至步骤3024实现。
步骤3021,第二参与方设备接收到第一参与方设备发送的携带样本标识的匿名特征获取请求。
步骤3022,解析匿名特征获取请求,得到样本标识。
步骤3023,确定样本标识对应的第二特征、第二特征对应的匿名特征以及匿名特征对应的第二节点路由。
步骤3024,向第一参与方设备发送匿名特征以及第二节点路由。
在一些实施例中,第二参与方式设备可以通过以下方式确定样本标识对应的第二特征、第二特征对应的匿名特征以及匿名特征对应的第二节点路由:第一参与方设备根据样本标识,查找本地匿名关系记录表,得到样本标识对应的第二特征、第二特征对应的匿名特征以及匿名特征对应的第二路由。需要说明的是,匿名关系记录表,用于记录用于训练联邦树模型的训练样本的样本标识、样本标识对应的第二特征、第二特征对应的匿名特征、以及匿名特征对应的第二节点路由。
在实际实施时,第二参与方设备可以将各待解释样本中的第二特征、第二特征对应的匿名特征、各匿名特征对应的路由关系(第二节点路由)以及待解释样本的样本标识存储与本地匿名关系记录表。其中,匿名关系记录表可以是存储于数据库中的二维关系表,也可以是存储于本地的文件(如json格式的文件)。
在一些实施例中,第二参与方设备可以通过以下方式生成第二特征对应的匿名特征:第二参与方设备针对用于训练联邦树模型的各第二特征,分别进行哈希处理,得到各第二特征对应的哈希值,并将哈希值作为第二特征对应的匿名特征。
在实际实施时,第二参与方设备可以通过参与联邦树模型训练的各参与方之间约定的格式,设置每条待解释样本中本地提供的第二特征的匿名特征;第二参与方还可以通过设置不重复的随机数,生成对应第二特征对应的匿名特征生成各第二特征对应的匿名特征,可记作a_j_0、a_j_1、a_j_m,其中a_j_m表示第j个host方的第m个特征。第二参与方还可以通过常见的哈希算法,计算第二特征对应的哈希值,然后将得到的哈希值,记作为第二特征对应的匿名特征。
本申请实施例中第二参与方通过在本地创建匿名关系记录表,保存第二特征、第二特征对应的匿名特征、以及匿名特征对应的第二节点路由,能够在接收到匿名特征获取请求时,直接从匿名关系记录表中查找与样本标识对应的匿名特征以及匿名特征对应的第二节点路由,提高查询效率,减少与其他参与方设备的通信次数。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
相关纵向联邦树模型提供的特征重要度方案可以满足部分需求,以一个由两方参与的纵向联邦树场景(guest与host两方)为例,对纵向联邦树模型提供的特征重要度的方案简述如下:
(1)guest方在本地初始化一张表,表中包含guest本地所有的特征与host发送来的匿名特征编号,每个特征的计数值为0;
(2)开始建立决策树,对于每个决策树节点使用的分裂特征,它在表中相应的计数值加1,或者加上分裂收益值(gain);
(3)建立决策树完毕,输出特征重要度表。特征重要度表可用于解释模型:计数值高的特征代表其在建模过程中发挥的作用高。
然而,上述纵向联邦树模型提供的特征重要度方案可以满足上述需求(1),却无法满足上述需求(2)、(3)。
首先对于上述需求(2),用户无法使用特征重要度去具体的解释单条样本,例如,有一个样本S{年龄:28,婚恋状况:已婚,收入:10000,学历:本科,工作:IT,籍贯:……等等其他特征},是一个违约客户。通过纵向联邦学习模型对该条样本进行预测,得到的分数为0.1,业务应用者希望知道,样本S中每一个具体的特征值(如年龄=28)为最终这个0.1的预测分贡献了多少,并能判断该特征对预测分的影响是正向影响还是负向影响,这样便可以结合模型与现实生活的经验得到一些业务上的启发。
仅仅根据得到的特征重要度是无法判断一个具体的特征值对模型输出结果的影响以及影响的正负性的。因为特征重要度只反应了一个全局特征的使用情况,没办法用于分析一个具体的样本。
对于上述需求(3),虽然特征重要度能够得知合作方的特征使用了多少次,但是合作方特征对于单个样本的正向与负向影响也是不可知的。如果对于很多样本,合作方的特征都能提供大的影响,那么可以用来衡量合作方特征的价值。
由于在联邦学习场景下,夏普利值(SHAP值)的计算需要枚举特征子集,然后在联邦条件下,预测将会产生非常频繁的通信。基于此,本申请实施例提供一种联邦树模型的数据处理方法,在纵向联邦学习场景中,结合SHAP值,解释联邦树模型预测结果,并衡量合作方的特征总价值的方法,能够仅通过一次通信便可以实现批量解释多条样本。
由前述步骤104中对夏普利值相关知识的描述,可以确定,在基于夏普利值对机器学习模型进行解释时,需要确定的信息至少包括:待解释样本对应机器学习模型的预测值、待解释样本的特征集合所包括的多个特征子集、以及用于确定各特征子集对应机器学习模型的估计值的估计函数(即在特征子集缺失某个特征时,基于机器学习模型所确定的平均值)。
在实际实施时,可以根据前述公式(2)获取待解释样本特征集合所包括的各特征子集。
示例性地,假设待解释样本x={年龄=20,身高=170,收入=100},枚举所有特征子集:{年龄=20,身高=170,收入=100},{年龄=20,身高=170},{年龄=20,收入=100},{身高=170,收入=100},{收入=100},{年龄=20},{身高=170},{}。
继续对估计函数f_x进行说明,在实际实施时,评估一条样本中各个特征值的SHAP值时,可以根据机器学习模型的实际情况确定相应的估计函数f_x,并使用f_x反应对应样本的特征子集通过机器学习模型得到的预测值。
下面,以在非联邦学习场景中,机器学习模型为树模型时,对应树模型的估计函数为例进行详细说明。树模型由于其结构的特殊性,可以在不依靠任何其他样本的情况下,估计样本的特征集合所包括的各特征子集,在缺失某个特征时,树模型输出的平均值。参见图17,图17是本申请实施例提供的树模型估计函数的代码片段示意图。图中所示的算法中,S为待解释样本x的一个特征子集;假设一共有n个树节点,那么向量都包含n个元素,为叶子节点的输出值,只有叶子节点才有值;为某节点的左右子节点的索引向量,非叶子节点可以通过中的索引信息找到对应的子节点;为非叶子节点对应的切分阈值;为非叶子节点对应的特征索引,叶子节点对应的元素值为空,为训练中落在该节点的样本数量。基于此,在估计树算法缺失某个特征的平均输出值时,根据递归算法有以下流程:
输入某个子集S,从根节点开始:
开始{遍历每一个节点j,j=0,1,2,……
初始化权重为w=1
执行:
如果节点j为非叶子节点,且判定特征d_j在子集S中,
w保持不变向下传递,则向上返回往下遍历的结果
如果该节点j非叶子,且判定特征d_j不在子集S中
取出r_j,且取出r_(a_j)、r_(b_j)
计算出左支新权重w_l=r_(a_j)/r_j,由左支向下传递
计算出右支新权重w_l=r_(b_j)/r_j,由右支向下传递
向上返回左支遍历与右支遍历的结果之和
如果该节点为叶子
向上返回权重w乘以叶子输出值t_j的值
}结束,最终,递归结束后获得返回的值作为子集S的估计值。
示例性地,参见图5,假设,存在100条样本(待解释样本),各条样本中包括3个特征{收入、年龄、身高}以及预测值,图中树模型包括7个节点,{0、1、2、3、4、5、6}表示树模型中节点索引,{0.1、0.2、0.3、0.4}为树模型对应的预测值,估计函数中的各向量的值为: 其中,各向量中的元素“-1”表示无相应的值,图中“2000”为“收入”的切分(分割)阈值,“20”为“年龄”的切分(分割)阈值,“170cm”为“身高”的切分(分割)阈值。
承接上例,图中,以“收入”为分裂节点,其中,100条样本中有40条样本中的特征收入对应的值符合“收入<2000”(往左边走),剩余的60条样本符合“收入≥2000”;即以“收入=2000”将100条样本分成两组,一组包含40条样本,另一组包含60条样本。以“年龄”为分裂节点,其中有20条样本满足“年龄<18”(往左边走),有20条样本满足“年龄≥18”;以“身高”为分割(分裂)点,其中有15条样本(分裂子集)满足“身高<170”(往左边走),有45条样本满足“身高≥170”。
承接上例,以待解释样本X{收入=1500,年龄=17,身高=165cm}为例,待解释样本X在上述决策树模型f对应的节点索引路径为0→1→3,即得到f({收入=1500,年龄=17,身高=165cm})=0.1;
承接上例,枚举待解释样本X{收入=1500,年龄=17,身高=165cm}中特征集合对应的所有特征子集:{年龄=18,身高=160,收入=900},{年龄=18,身高=160},{年龄=18,收入=900},{身高=160,收入=900},{收入=900},{年龄=18},{身高=165},{}(此为空集)。
承接上例,通过上述决策树模型f,确定特征子集A{年龄=18,收入=900}对应的预测值,即计算f({年龄=18,收入=900})的值,特征子集A中缺失特征是“身高”,实现过程如下:预测索引路径,0→1→3,则f({年龄=18,收入=900})=0.1,缺失特征“身高”时,不影响;
承接上例,通过上述决策树模型f,确定特征子集B{年龄=18,身高=160},对应的估计值(平均值),即计算f({年龄=18,身高=160})的值,特征子集B中缺失特征为“收入”,因为“收入”特征是根节点,此时就无法继续使用索引路径的方式来预测值,在此情况下,可以使用各节点训练样本的样本比例,进行预测,
承接上例,针对100条样本,使用“收入”特征进行分割(切分)时,20条样本划分到左分支,80条样本划分到右分支。在特征子集B中缺失特征“收入”的情况下,“收入”对应的左右两个分支都要参考:左分支到“年龄”特征,由于特征子集B中存在特征“年龄”,根据“年龄=18”,在“年龄”这里往左走,预测值为0.1;右分支到“身高”特征,特征子集B中存在“身高”,根据“身高=160”,在“身高”这里往右走,预测值为0.3。因此,可以确定,f({年龄=18,身高=160})=0.1*(20/100)+0.3*(80/100)=0.02+0.24=0.26;其中,20/100为缺失特征“收入”(左分支)所样本比例,0.1为“年龄=18”的预测值,80/100为缺失特征“收入”(右分支)所样本比例,0.3为“身高=160”的预测值。
承接上例,通过上述决策树模型f,确定特征子集C{身高=160}对应的预测值,即计算f({身高=160})的值,特征子集C中缺失特征为“收入”、“年龄”,估计f({身高=160})的值,实现方法如下:特征子集C在“年龄”这个节点(缺失),“年龄”节点对应的左右分支均要考虑,即0.1*(20/40)+0.2*(20/40)=0.15;即年龄这个分支,往上(“收入”节点)返回的值是0.15;在“身高”这个节点,正常取值为0.3,即“身高”这个右分支,往上(“收入”节点)返回的值是0.3;在“收入”这个节点,左右分支均要考虑,即0.15*(20/100)+0.3*(80/100)=0.03+0.24=0.27;因此,f({身高=160})=0.27。
结合上述可适用于树模型的估计函数,可以获取样本的特征集合所包括的特征子集的估计值,为了将树模型的估计函数应用到联邦树模型场景中,可以对联邦树模型对应的样本所包含的特征进行调整,并通过调整后的特征,构建伪树模型,并调用前述应用于树模型的估计函数,确定各特征子集的估计值,从而确定各特征对于样本的预测结果的贡献度。
接下来,参见图18,图18是本申请实施例提供的联邦树模型的数据处理方法的流程图,结合图18对本申请实施例提供的联邦树模型的数据处理方法进行说明。
在步骤401中,第一参与方统计待解释样本中第一特征的数量,以及参与联邦树模型建模的第二参与方的数量。
在实际实施时,为了便于区分,Guest方提供的特征可称为第一特征,Host方提供的特征可称为第二特征。假设有k(k≥1且k为整数)个Host方参与联邦树模型的建模。Guest方将Host方所有特征(H_0…H_m)作为匿名特征(anonymous feature)看待,即Guest方不知道host方各个特征的具体名字。可以用anonymous(简称a)代表Host方的特征对应的匿名特征,如a_0_0,a_0_1,a_0_2分别代表Host_0的第一个特征,Host_1的第一个特征,Host_2的第一个特征。Guest方有特征G_0,G_1…G_n,a_0_0,a_0_1…a_k_(m_k)共n+m_0+m_1+...+m_k个特征。
在步骤402中,第一参与方向第二参与方发送匿名特征获取请求,以使第二参与方根据所述匿名特征获取请求,返回各待解释样本对应的匿名特征,以及匿名特征对应的路由信息。
在实际实施时,第一参与方通过向各第二参与方发送匿名特征获取请求,并接收第二参与方返回的匿名特征以及匿名特征对应的路由信息。
在实际实施时,各第二参与方在接收到第一参与方发送的匿名特征获取请求后,第二参与方可以获取待解释样本中各第二特征对应的路由信息,可记作:X0_route=[result_0,result_1,……,result_k-1],X1_route=[result_0,result_1,……,result_k-1],X0_route表示样本X0中各Host方返回的路由信息。其中,第二参与方获取路由信息的具体实现过程如下所示:
开始{
输入样本X0,X1…Xn在Host方的特征
对于样本Xi in[X0,X1…Xn]
初始化路由结果记录result={},该记录表为空
初始化匿名特征关系记录表anonymous={},该记录表为空
执行:遍历树模型中的每一颗树,当前树的编号为t
初始化result[t]={}
遍历树中的每一个节点,当前节点的编号为n
判断该节点是否属于当前host,
如果节点属于当前host,
则继续判断样本X_i在该节点是往左还是往右
如果往左,记录result[t][n]=left
否则,记录result[t][n]=right
记录该节点对应分裂特征的匿名anonymous_:
anonymous[t][n]=anonymous_name
}结束,路由提取完成,每个host都将result发送至guest方,并发送匿名特征关系记录表anonymous。
举例说明,anonymous[t][n]=anonymous_name,该节点使用的特征为H_0,对应匿名为a_j_0,anonymous[t][n]=a_j_0。
在步骤403中,第一参与方根据样本所包括各第一特征,各第二参与方提供的匿名特征特征、以及各匿名特征对应的路由信息,在本地构建样本对应的伪树模型。
在实际实施时,针对单条训练样本,Guest方已知信息包括n个第一特征、k个匿名特征以及各匿名特征对应的路由信息。Guest方可以通过以上样本的已知信息,构建一个伪树模型,伪树模型用于确定样本的特征集合所包括的各特征子集的估计值。
在实际实施时,在纵向联邦树模型下,各参与方都拥有完整的树模型结构,但是树节点中的信息(特征,分裂值)只有其所有方才有,因此,在Guest方,Host方的节点内容为空,Guest只有属于自己的节点和叶子节点的信息。为了使用前述树模型的估计函数,Guest可以通过使用Host提供的路由信息,为样本构建伪树模型,使得前述树模型的估计函数可以顺利运行。
在实际实施时,假设输入样本X_0、guest原有树模型、host方路由X0_route=[result_0,result_1,……,result_k]、以及匿名关系记录表,首先样本X_0仅有guest特征,为X_0拓展特征,此处有m_0+m_1+...+m_k个匿名特征,为X_0按照匿名规则增加匿名特征a_0_0...a_k_(m_k),匿名特征的特征值都为1。
第一参与方实现伪树模型的伪代码如下所示:
开始{对于Guest的每一棵树,
执行:遍历每一个节点
如果该节点属于guest,跳过
如果该节点属于某个host_m_k
则为该节点的t替换为a_k_(m_k)
从路由表result_i中查询a_k_(m_k)对应的路由方向如果路由方向为left
则可以将d中分隔值替换为1.5
如果路由方向为right,
则可以将d中分隔值替换为0.5
}结束,第一参与方根据上述实现过程,完成伪树模型的构建,返回拓展的样本X_0以及伪树模型,这里,拓展的样本可以理解成,样本的特征包括第一特征以及各匿名特征。
示例性地,图19是本申请实施例提供的伪树模型构建方法示意图,参见图19,针对待解释样本H{Guest:年龄=10Host1:身高=160Host2:体重=60},其中,年龄是由guest方提供的特征,身高、体重是由host方提供的特征。图中,host1提供的“身高”特征,使用a_0_0代替,host2提供的“体重”特征,使用a_0_1代替,设置各Host方对应的匿名特征的值为“1”,如,Host1方对应的匿名特征a_0_0=1,同时,设置Guest方从第一个Host方接收到对应匿名特征a_0_0的路由信息为result_0[1]={0:left},即匿名特征a_0_0节点应该往左走,为了能够在遍历树模型时,在匿名特征a_0_0节点处往左走(假设设置的往左走的条件是匿名特征a_0_0的值小于匿名特征a_0_0节点处的分割值),可以设置匿名特征a_0_0处的分割值为1.5(只要比1大的值就可以)。同理,由于设置匿名特征a_0_1=1,同时Guest方从第二个Host方接收到对应匿名特征a_0_1的路由信息为result_1[1]={1:right},即在匿名特征a_0_1节点应该往右走,为了能够在匿名特征a_0_1=1处往右走(假设设置往右走的条件是,匿名特征a_0_1的值大于匿名特征a_0_1节点处的分割值),可以设置匿名特征a_0_0处的分割值为0.5,这样使用匿名特征在伪树模型中进行预测时,可以模拟联邦预测行为。
在步骤404中,第一参与方对样本包括的各第一特征,各匿名特征进行组合,得到多个特征子集,并通过样本对应的伪树模型,确定各特征子集对应的预测值。
在实际实施时,将每条待解释样本X0,X1…Xn中,Guest方提供的特征,与各Host方对应的匿名特征,组成待解释样本所对应的拓展样本X0',X1',……,Xn',获取拓展样本的所有特征子集,通过步骤403创建与样本对应的伪树模型,确定各特征子集对应的预测值。通过伪树模型获取特征子集的预测值的实现过程如下:接收单条待解释样本的Guest方提供的特征,样本对应的伪树模型,枚举的所有特征子集作为输入,对于每一个特征子集:对于伪树模型中的每一棵树,将Guest方提供的特征,对应的树,特征子集S输入至树模型估计函数;伪树中包含了运行树模型估计函数的所需要的向量将每一次运行结果加总,得到该特征子集的评分。
在步骤405中,第一参与方确定各特征在不包含自身的特征子集中的边际贡献值,将特征对应的多个边际贡献值相加,得到特征的总贡献值,并将总贡献值作为特征对样本预测结果的贡献信息。
在实际实施时,针对待解释样本,通过步骤404对各特征子集进行评分(即获取各特征子集对应的估计值)后,依照前述公式(1):
确定各特征对于样本的预测结果的贡献信息。其中,特征为Guest方提供的特征时,得到的贡献信息用于表示特征自身对样本预测结果的贡献信息;特征为对应Host方的匿名特征时,得到的贡献信息用于表示各匿名特征对样本预测结果的贡献信息。
在实际实施时,Guest方通过步骤405,获取每条样本各Guest方提供的特征的SHAP值,以及Host方各匿名特征对应的SHAP值。Host方不获得任何结果。
在步骤406中,第一参与方对待解释样本中第一特征以及各匿名特征进行组合,得到特征交互组,并确定特征交互组对应的至少一个交互边际贡献值,将各交互边际贡献值相加,得到特征交互组对应的交互贡献。
在实际实施时,第一参与方通过上述步骤401至步骤405,计算得到待解释样本中每个第一特征的贡献信息,以及各匿名特征的贡献信息后,可依照前述公式(3):
δi,j=fx(S∪{i,j})-fx(S∪{i})-fx(S∪{j})+fx(S)
确定待解释样本中任意两个特征之间的交互贡献值。其中,S表示是任一个不包含i、j的子集,S∪{i,j}表示包含特征i,j的特征子集,S∪{i}表示包含特征i的特征子集,S∪{j}表示包含特征j的特征子集,fx为对应联邦树模型的估计函数,用于确定各特征子集的预测值。
本申请实施例中Guest方通过一次通信从Host方获取所有待解释样本的路由信息,并在Guest方本地构建对应联邦树模型的伪树模型,对于所有特征子集的预测都可以在本地并行完成,而不需复杂的联邦学习预测流程,大大减少了通信量,使得在联邦场景下使用树算法解释多条样本与衡量贡献功能具有实用价值,并且提供了单样本的解释,补充了联邦场景下的缺失;同时,能够衡量Host方的各个特征的贡献信息,另外,还能够在保护各参与方数据隐私的情况下提供待解释样本中各特征贡献的解释,并且可以提供建模人员特征交互分析的功能。
下面继续说明本申请实施例提供的联邦树模型的数据处理装置555的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,图2A示出的是本申请实施例提供的第一参与方设备400的结构示意图,存储在存储器540的联邦树模型的数据处理装置555中的软件模块可以包括:
获取模块5551,用于获取目标节点在所述联邦树模型中的第一节点路由,所述目标节点与所述第一参与方设备提供的至少两个第一特征相对应;
接收模块5552,用于接收第二参与方设备发送的至少一个匿名特征,以及与各所述匿名特征对应的第二节点路由;其中,所述匿名特征与用于训练所述联邦树模型的第二特征相对应,所述第二节点路由,用于指示以所述匿名特征作为所述联邦树模型的分裂节点时,所述分裂节点对应的子节点路径;
模拟模块5553,用于基于所述第一节点路由及所述第二节点路由,模拟所述联邦树模型,得到所述联邦树模型对应的伪联邦树模型,并通过所述伪联邦树模型,对用作所述联邦树模型的训练样本的特征集合所包括的特征子集进行预测,得到相应的预测值;其中,所述特征集合包括:携带目标预测结果的所述至少两个第一特征、及至少一个所述第二参与方设备提供的所述第二特征;
确定模块5554,用于结合所述预测值及所述目标预测结果,确定所述特征集合中各特征对应所述目标预测结果的贡献信息。
在一些实施例中,所述接收模块,还用于发送携带样本标识的匿名特征获取请求至所述第二参与方设备;其中,所述匿名特征获取请求用于,所述第二参与方设备响应所述匿名特征获取请求,确定所述样本标识对应的所述第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二节点路由;接收到所述第二参与方设备返回的与所述样本标识对应的匿名特征、以及所述匿名特征对应的第二节点路由。
在一些实施例中,所述接收模块,还用于在本地创建匿名关系记录表,所述匿名关系记录表,用于记录用于训练所述联邦树模型的训练样本的样本标识、所述样本标识对应的所述第二参与方设备的匿名特征、以及所述匿名特征对应的第二节点路由;将接收到的与所述样本标识对应的匿名特征、以及所述匿名特征对应的第二节点路由存储于所述匿名关系记录表中。
在一些实施例中,所述确定模块,还用于从所述第一参与方设备提供的至少两个第一特征、以及至少一个所述第二参与方设备提供的第二特征中,选取至少两个特征;构建包括所述至少两个特征的特征交互组,并确定所述特征交互组对应的至少一个交互边际贡献值;基于所述至少一个交互边际贡献值,确定所述特征交互组对应所述目标预测结果的交互贡献信息。
在一些实施例中,所述确定模块,还用于确定所述特征集合的第一特征子集,所述第一特征子集包括所述至少两个特征中至少之一;确定所述特征集合的第二特征子集,所述第二特征子集与所述特征交互组为互补关系;获取所述第一特征子集对应的预测值、以及所述第二特征子集对应的预测值,并基于所述第一特征子集对应的预测值、以及所述第二特征子集对应的预测值,确定所述特征交互组对应的交互边际贡献值。
在一些实施例中,所述确定模块,还用于当所述交互边际贡献值的数量为多个时,对多个所述交互边际贡献值进行求和,得到所述特征交互组对应所述目标预测结果的交互贡献信息。
在一些实施例中,如图2B所示,图2B示出的是本申请实施例提供的第二参与方设备410的结构示意图,存储在存储器540的联邦树模型的数据处理装置555中的软件模块可以包括:
生成模块5555,用于针对用于训练所述联邦树模型的各第二特征,分别生成与各所述第二特征对应的匿名特征,并获取与各所述匿名特征对应的第二节点路由;所述第二节点路由,用于指示以所述匿名特征作为所述联邦树模型的分裂节点时,所述分裂节点对应的子节点路径;
发送模块5556,用于发送与各所述第二特征对应的匿名特征,以及与各所述匿名特征对应的第二节点路由至所述第一参与方设备;其中,所述第二节点路由用于,所述第一参与方设备基于所述第二节点路由,获取所述联邦树模型对应的伪联邦树模型,并通过所述伪联邦树模型,确定特征集合中各特征对应目标预测结果的贡献信息;其中,所述特征集合用作所述联邦树模型的训练样本,包括:所述第一参与方设备提供的携带目标预测结果的至少两个第一特征、及至少一个所述第二特征。
在一些实施例中,所述发送模块,还用于接收到所述第一参与方设备发送的携带样本标识的匿名特征获取请求;解析所述匿名特征获取请求,得到所述样本标识;确定所述样本标识对应的所述第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二节点路由;向所述第一参与方设备发送所述匿名特征以及所述第二节点路由。
在一些实施例中,所述发送模块,还用于根据所述样本标识,查找本地匿名关系记录表,得到所述样本标识对应的第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二路由;其中,所述匿名关系记录表,用于记录用于训练所述联邦树模型的训练样本的样本标识、所述样本标识对应的第二特征、所述第二特征对应的匿名特征、以及所述匿名特征对应的第二节点路由。
在一些实施例中,所述生成模块,还用于针对用于训练所述联邦树模型的各第二特征,分别进行哈希处理,得到各所述第二特征对应的哈希值,并将所述哈希值作为所述第二特征对应的匿名特征。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。
本申请实施例提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现本申请实施例提供的联邦树模型的数据处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3示出的联邦树模型的数据处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例能够通过第一参与方构建的伪联邦树模型,确定样本的各特征子集对应的预测值,从而确定各特征对目标预测结果的贡献信息。同时,第一参与方可以通过一次路由获取请求,从各Host方获取所有待解释样本的对应匿名特征的节点路由,并在第一参与方本地构建对应联邦树模型的伪树模型,对于所有特征子集的预测都可以在本地并行完成,而不需复杂的联邦学习预测流程,大大减少了通信量,使得在联邦场景下使用树算法解释多条样本与衡量贡献功能具有实用价值,并且提供了单样本的解释,补充了联邦场景下的缺失;同时,能够衡量各Host方的特征贡献信息,另外,还能够对全局特征重要度的衡量。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种联邦树模型的数据处理方法,其特征在于,基于联邦学习系统,所述联邦学习系统包括第一参与方设备及至少一个第二参与方设备,所述方法应用于第一参与方设备,所述方法包括:
获取目标节点在所述联邦树模型中的第一节点路由,所述目标节点与所述第一参与方设备提供的至少两个第一特征相对应;
接收所述第二参与方设备发送的至少一个匿名特征,以及与各所述匿名特征对应的第二节点路由;
其中,所述匿名特征与用于训练所述联邦树模型的第二特征相对应,所述第二节点路由,用于指示以所述匿名特征作为所述联邦树模型的分裂节点时,所述分裂节点对应的子节点路径;
基于所述第一节点路由及所述第二节点路由,模拟所述联邦树模型,得到所述联邦树模型对应的伪联邦树模型,并通过所述伪联邦树模型,对用作所述联邦树模型的训练样本的特征集合所包括的特征子集进行预测,得到相应的预测值;
其中,所述特征集合包括:携带目标预测结果的所述至少两个第一特征、及至少一个所述第二参与方设备提供的所述第二特征;
结合所述预测值及所述目标预测结果,确定所述特征集合中各特征对应所述目标预测结果的贡献信息。
2.根据权利要求1所述的方法,其特征在于,所述接收所述第二参与方设备发送的至少一个匿名特征,以及与各所述匿名特征对应的第二节点路由,包括:
发送携带样本标识的匿名特征获取请求至所述第二参与方设备;
其中,所述匿名特征获取请求用于,所述第二参与方设备响应所述匿名特征获取请求,确定所述样本标识对应的所述第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二节点路由;
接收到所述第二参与方设备返回的与所述样本标识对应的匿名特征、以及所述匿名特征对应的第二节点路由。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在本地创建匿名关系记录表,所述匿名关系记录表,用于记录用于训练所述联邦树模型的训练样本的样本标识、所述样本标识对应的所述第二参与方设备的匿名特征、以及所述匿名特征对应的第二节点路由;
将接收到的与所述样本标识对应的匿名特征、以及所述匿名特征对应的第二节点路由存储于所述匿名关系记录表中。
4.根据权利要求1所述的方法,其特征在于,在所述确定所述特征集合中各特征对应所述目标预测结果的贡献信息之后,所述方法还包括:
从所述第一参与方设备提供的至少两个第一特征、以及至少一个所述第二参与方设备提供的第二特征中,选取至少两个特征;
构建包括所述至少两个特征的特征交互组,并确定所述特征交互组对应的至少一个交互边际贡献值;
基于所述至少一个交互边际贡献值,确定所述特征交互组对应所述目标预测结果的交互贡献信息。
5.根据权利要求4所述的方法,其特征在于,所述确定所述特征交互组对应的交互边际贡献值,包括:
确定所述特征集合的第一特征子集,所述第一特征子集包括所述至少两个特征中至少之一;
确定所述特征集合的第二特征子集,所述第二特征子集与所述特征交互组为互补关系;
获取所述第一特征子集对应的预测值、以及所述第二特征子集对应的预测值,并基于所述第一特征子集对应的预测值、以及所述第二特征子集对应的预测值,确定所述特征交互组对应的交互边际贡献值。
6.根据权利要求4所述的方法,其特征在于,所述基于所述至少一个交互边际贡献值,确定所述特征交互组对应所述目标预测结果的交互贡献信息,包括:
当所述交互边际贡献值的数量为多个时,对多个所述交互边际贡献值进行求和,得到所述特征交互组对应所述目标预测结果的交互贡献信息。
7.一种联邦树模型的数据处理方法,其特征在于,基于联邦学习系统,所述联邦学习系统包括第一参与方设备及至少一个第二参与方设备,所述方法应用于第二参与方设备,所述方法包括:
针对用于训练所述联邦树模型的各第二特征,分别生成与各所述第二特征对应的匿名特征,并获取与各所述匿名特征对应的第二节点路由;
所述第二节点路由,用于指示以所述匿名特征作为所述联邦树模型的分裂节点时,所述分裂节点对应的子节点路径;
发送与各所述第二特征对应的匿名特征,以及与各所述匿名特征对应的第二节点路由至所述第一参与方设备;
其中,所述第二节点路由用于,所述第一参与方设备基于所述第二节点路由,获取所述联邦树模型对应的伪联邦树模型,并通过所述伪联邦树模型,确定特征集合中各特征对应目标预测结果的贡献信息;
其中,所述特征集合用作所述联邦树模型的训练样本,包括:所述第一参与方设备提供的携带目标预测结果的至少两个第一特征、及至少一个所述第二特征。
8.根据权利要求7所述的方法,其特征在于,所述发送与各所述第二特征对应的匿名特征,以及与各所述匿名特征对应的第二节点路由至所述第一参与方设备,包括:
接收到所述第一参与方设备发送的携带样本标识的匿名特征获取请求;
解析所述匿名特征获取请求,得到所述样本标识;
确定所述样本标识对应的所述第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二节点路由;
向所述第一参与方设备发送所述匿名特征以及所述第二节点路由。
9.根据权利要求8所述的方法,其特征在于,所述确定所述样本标识对应的所述第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二节点路由,包括:
根据所述样本标识,查找本地匿名关系记录表,得到所述样本标识对应的第二特征、所述第二特征对应的匿名特征以及所述匿名特征对应的第二路由;
其中,所述匿名关系记录表,用于记录用于训练所述联邦树模型的训练样本的样本标识、所述样本标识对应的第二特征、所述第二特征对应的匿名特征、以及所述匿名特征对应的第二节点路由。
10.根据权利要求7所述的方法,其特征在于,所述针对用于训练所述联邦树模型的各第二特征,分别生成与各所述第二特征对应的匿名特征,包括:
针对用于训练所述联邦树模型的各第二特征,分别进行哈希处理,得到各所述第二特征对应的哈希值,并将所述哈希值作为所述第二特征对应的匿名特征。
11.一种联邦树模型的数据处理装置,其特征在于,包括:
获取模块,用于获取目标节点在所述联邦树模型中的第一节点路由,所述目标节点与所述第一参与方设备提供的至少两个第一特征相对应;
接收模块,用于接收第二参与方设备发送的至少一个匿名特征,以及与各所述匿名特征对应的第二节点路由;其中,所述匿名特征与用于训练所述联邦树模型的第二特征相对应,所述第二节点路由,用于指示以所述匿名特征作为所述联邦树模型的分裂节点时,所述分裂节点对应的子节点路径;
模拟模块,用于基于所述第一节点路由及所述第二节点路由,模拟所述联邦树模型,得到所述联邦树模型对应的伪联邦树模型,并通过所述伪联邦树模型,对用作所述联邦树模型的训练样本的特征集合所包括的特征子集进行预测,得到相应的预测值;其中,所述特征集合包括:携带目标预测结果的所述至少两个第一特征、及至少一个所述第二参与方设备提供的所述第二特征;
确定模块,用于结合所述预测值及所述目标预测结果,确定所述特征集合中各特征对应所述目标预测结果的贡献信息。
12.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的联邦树模型的数据处理方法。
13.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至10任一项所述的联邦树模型的数据处理方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10任一项所述的联邦树模型的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210080616.9A CN114418120A (zh) | 2022-01-24 | 2022-01-24 | 联邦树模型的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210080616.9A CN114418120A (zh) | 2022-01-24 | 2022-01-24 | 联邦树模型的数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114418120A true CN114418120A (zh) | 2022-04-29 |
Family
ID=81278135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210080616.9A Pending CN114418120A (zh) | 2022-01-24 | 2022-01-24 | 联邦树模型的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114418120A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116051118A (zh) * | 2023-03-01 | 2023-05-02 | 支付宝(杭州)信息技术有限公司 | 行为时序模型的分析方法及装置 |
-
2022
- 2022-01-24 CN CN202210080616.9A patent/CN114418120A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116051118A (zh) * | 2023-03-01 | 2023-05-02 | 支付宝(杭州)信息技术有限公司 | 行为时序模型的分析方法及装置 |
CN116051118B (zh) * | 2023-03-01 | 2023-06-16 | 支付宝(杭州)信息技术有限公司 | 行为时序模型的分析方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qi et al. | Finding all you need: web APIs recommendation in web of things through keywords search | |
US10958748B2 (en) | Resource push method and apparatus | |
CN110837550A (zh) | 基于知识图谱的问答方法、装置、电子设备及存储介质 | |
CN111177473B (zh) | 人员关系分析方法、装置和可读存储介质 | |
CN104077723B (zh) | 一种社交网络推荐系统及方法 | |
Kardan et al. | Expert finding on social network with link analysis approach | |
CN112667877A (zh) | 一种基于旅游知识图谱的景点推荐方法及设备 | |
CN113326900A (zh) | 联邦学习模型的数据处理方法、装置及存储介质 | |
JP7103496B2 (ja) | 関連スコア算出システム、方法およびプログラム | |
CN112035549B (zh) | 数据挖掘方法、装置、计算机设备及存储介质 | |
CN112015896B (zh) | 基于人工智能的情感分类方法、以及装置 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
CN113821657A (zh) | 基于人工智能的图像处理模型训练方法及图像处理方法 | |
CN111768242A (zh) | 下单率预测方法、设备及可读存储介质 | |
CN112785005A (zh) | 多目标任务的辅助决策方法、装置、计算机设备及介质 | |
CN112115313B (zh) | 正则表达式的生成、数据提取方法、装置、设备及介质 | |
US20160371349A1 (en) | In-database connectivity components analysis of data | |
CN111557014B (zh) | 提供多个个人资料的方法及系统 | |
CN114418120A (zh) | 联邦树模型的数据处理方法、装置、设备及存储介质 | |
CN111444438A (zh) | 召回策略的准召率的确定方法、装置、设备及存储介质 | |
CN115878874A (zh) | 多模态检索方法、设备和存储介质 | |
KR102119518B1 (ko) | 인공지능을 이용하여 생성되는 스타일 공간에 기반한 상품 추천 방법 및 시스템 | |
CN114330704A (zh) | 语句生成模型更新方法、装置、计算机设备和存储介质 | |
CN111443973B (zh) | 备注信息的填入方法、装置、设备及存储介质 | |
CN118035056A (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 |