首页> 中国专利> 特征拓展方法、设备、介质及计算机程序产品

特征拓展方法、设备、介质及计算机程序产品

摘要

本申请公开了一种特征拓展方法、设备、介质及计算机程序产品,所述特征拓展方法包括:获取待预测样本,并基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点,进而获取各所述归属叶子节点的叶子节点信息和样本权重,并基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签,进而基于各所述叶子节点标签,对所述待预测样本进行特征拓展,获得目标拓展样本。本申请解决了在联邦场景下进行特征拓展时存在数据隐私泄露的技术问题。

著录项

  • 公开/公告号CN112529102A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 深圳前海微众银行股份有限公司;

    申请/专利号CN202011555574.7

  • 发明设计人 陈伟敬;范涛;陈天健;马国强;

    申请日2020-12-24

  • 分类号G06K9/62(20060101);G06N20/00(20190101);

  • 代理机构44287 深圳市世纪恒程知识产权代理事务所;

  • 代理人张志江

  • 地址 518000 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)

  • 入库时间 2023-06-19 10:19:37

说明书

技术领域

本申请涉及金融科技(Fintech)的机器学习技术领域,尤其涉及一种特征拓展方法、设备、介质及计算机程序产品。

背景技术

随着金融科技,尤其是互联网科技金融的不断发展,越来越多的技术(如分布式、人工智能等)应用在金融领域,但金融业也对技术提出了更高的要求,如对金融业对应待办事项的分发也有更高的要求。

随着计算机技术的不断发展,机器学习模型的应用也越来越广泛,而机器学习模型的模型效果通常与样本的特征维度息息相关,样本维度越高,则训练出来的机器学习模型的模型效果通常越好,目前,通常通过特征交叉来提升样本的特征维度,以进行特征拓展,但是,在联邦学习场景下进行特征交叉时,各联邦学习的参与方根据特征交叉结果和己方的本地隐私数据,容易反推出其他参与方的本地隐私数据,进而导致数据隐私泄露,所以在联邦场景下进行特征拓展时存在数据隐私泄露的问题。

发明内容

本申请的主要目的在于提供一种特征拓展方法、设备、介质及计算机程序产品,旨在解决现有技术中联邦场景下进行特征拓展时数据隐私容易泄露的技术问题。

为实现上述目的,本申请提供一种特征拓展方法,所述特征拓展方法应用于第一设备,所述特征拓展方法包括:

获取待预测样本,并基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点;

获取各所述归属叶子节点的叶子节点信息和样本权重,并基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签;

基于各所述叶子节点标签,对所述待预测样本进行特征拓展,获得目标拓展样本。

本申请还提供一种特征拓展装置,所述特征拓展装置为虚拟装置,且所述特征拓展装置应用于第一设备,所述特征拓展装置包括:

模型预测模块,用于获取待预测样本,并基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点;

标签生成模块,用于获取各所述归属叶子节点的叶子节点信息和样本权重,并基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签;

特征拓展模块,用于基于各所述叶子节点标签,对所述待预测样本进行特征拓展,获得目标拓展样本。

本申请还提供一种特征拓展设备,所述特征拓展设备为实体设备,所述特征拓展设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述特征拓展方法的程序,所述特征拓展方法的程序被处理器执行时可实现如上述的特征拓展方法的步骤。

本申请还提供一种可读存储介质,所述可读存储介质上存储有实现特征拓展方法的程序,所述特征拓展方法的程序被处理器执行时实现如上述的特征拓展方法的步骤。

本申请还提供一计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的特征拓展方法的步骤。

本申请提供了一种特征拓展方法、设备、介质及计算机程序产品,相比于现有技术采用的通过特征交叉来提升样本的特征维度的技术手段,本申请在获取待预测样本之后,首先基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点,其中,需要说明的是,由于样本在决策树的叶子节点对应样本的特征判定条件,所以叶子节点的信息可作为样本的扩展特征,进而获取各所述归属叶子节点的叶子节点信息和样本权重,并基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签,进而基于各所述叶子节点标签,对所述待预测样本进行特征拓展,即可实现对样本的特征拓展,获得目标拓展样本。其中,由于目标决策树模型集是基于联邦学习构建的,进而各归属叶子节点是基于联邦学习的各参与方的样本信息进行决策的,进而基于各归属叶子节点进行特征拓展,即可实现基于联邦学习的各参与方的样本信息进行特征拓展的目的,进而实现了在更高的样本维度上进行特征拓展的目的,且由于在整个特征拓展的过程中,联邦学习的第二设备只参与模型预测过程,而并不参与特征拓展过程,进而在进行特征拓展时不会泄露数据隐私,克服了在联邦学习场景下进行特征交叉时,各联邦学习的参与方根据特征交叉结果和己方的本地隐私数据,容易反推出其他参与方的本地隐私数据,进而导致数据隐私泄露的技术缺陷,所以,保护了在联邦场景下进行特征拓展时各联邦参与方的数据隐私不容易泄露。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请特征拓展方法第一实施例的流程示意图;

图2为本申请特征拓展方法第二实施例的流程示意图;

图3为本申请实施例方案涉及的硬件运行环境的设备结构示意图。

本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请实施例提供一种特征拓展方法,在本申请特征拓展方法的第一实施例中,参照图1,所述特征拓展方法包括:

步骤S10,获取待预测样本,并基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点;

在本实施例中,需要说明的是,所述特征拓展方法应用于纵向联邦学习场景,所述目标决策树模型集为目标决策树模型的集合,所述目标决策树模型集至少包括一目标决策树模型,所述目标决策树模型为具备树数量小于预设树数量阈值的树模型,所述目标决策树模型至少包括一目标决策树,其中,所述目标决策树模型包括基于纵向联邦学习构建的GBDT(Gradient Boosting Decision Tree,梯度提升迭代决策树)模型。

另外地,需要说明的是,由于特征拓展时需基于目标决策树的叶子节点记录的样本权重进行,而当目标决策树模型中的树数量过多时,则样本权重过小,进而将导致拓展特征进行加权时的效果较差,进而导致特征拓展的效果较差,所以,目标决策树模型中高的树数量需要小于预设树数量阈值,以保证特征拓展的效果。

获取待预测样本,并基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点,具体地,获取待预测样本,并对所述目标决策树模型中每一目标决策树模型中每一目标决策树均执行以下步骤:

将所述待预测样本输入目标决策树,并从所述目标决策树的根节点开始遍历,且当对所述目标决策树进行遍历时,若所述目标决策树的树节点属于第一设备,则由所述第一设备存储的该树节点的特征分裂值,确定所述待预测样本将流向该树节点的左孩子节点还是右孩子节点,若所述目标决策树的树节点属于第二设备,则向第二设备发送预测请求,由所述第二设备存储的该树节点的特征分裂值,确定所述待预测样本将流向该树节点的左孩子节点还是右孩子节点,直至确定所述待预测样本在目标决策树中对应的归属叶子节点,进而获得所述待预测样本对应的各归属叶子节点。

其中,所述目标决策树模型集至少包括一目标决策树模型,所述目标决策树模型至少包括一目标决策树,

所述基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点的步骤包括:

步骤S11,将所述待预测样本输入所述目标决策树,并开始遍历所述目标决策树,以判断所述目标决策树的根节点的归属;

在本实施例中,需要说明的是,所述目标决策树的每一树节点均包括节点标记,用于标识树节点的归属,也即,判断树节点是属于第一设备还是其他的第二设备,其中,所述第二设备的数量可以为多个,所述第一设备与各第二设备均为纵向联邦学习的参与方,所述目标决策树存储于所述第一设备中,所述待预测样本可由用户输入或者直接中预设本地数据库中提取。

将所述待预测样本输入所述目标决策树,并开始遍历所述目标决策树,以判断所述目标决策树的根节点的归属,具体地,将待预测样本输入所述目标决策树,并遍历所述目标决策树的根节点,以基于所述根节点中的节点标记判断所述根节点的归属。

步骤S12,若所述根节点属于所述第二设备,则向所述第二设备发送预测请求,并接收所述第二设备反馈的反馈结果,以基于所述反馈结果确定所述待预测样本的所属孩子节点;

在本实施例中,若所述根节点属于所述第二设备,则向所述第二设备发送预测请求,并接收所述第二设备反馈的反馈结果,以基于所述反馈结果确定所述待预测样本的所属孩子节点,具体地,若根节点属于第二设备,向所述第二设备发送预测请求,其中,所述预测请求中包括样本ID和特征编码,其中,所述样本ID为所述待预测样本的身份标识,所述特征编码为树节点对应的用于进行树节点分裂的特征的标识,进而所述第二设备在接收到所述样本ID和所述特征编码之后,所述第二设备可基于所述样本ID和所述特征编码获取对应的本地存储的特征分裂值以判断所述待预测样本的归属,也即,判断所述待预测样本是属于左孩子节点还是右孩子节点,获得判断结果,并将判断结果作为反馈结果向第一设备进行反馈,进而第一设备接收所述第二设备反馈的反馈结果,其中,所述反馈结果中包括判断所述待预测样本是属于左孩子节点还是右孩子节点的判断结果,并基于所述判断结果,确定所述待预测样本的所属孩子节点,例如,假设所述树节点A分裂对应的特征为年龄特征,特征分裂值为35,则证明年龄小于35岁的样本均在所述树节点A的左孩子节点,年龄大于或者等于35岁的样本均在所述树节点A的右孩子节点。

步骤S13,判断所述所属孩子节点是否属于叶子节点类型,若所述所属孩子节点属于所述叶子节点类型,则将所述所属孩子节点作为所述归属叶子节点;

在本实施例中,判断所述所属孩子节点是否属于叶子节点类型,若所述所属孩子节点属于所述叶子节点类型,则将所述所属孩子节点作为所述归属叶子节点,具体地,判断所述所属孩子节点是否为叶子节点,若所述所属孩子节点为叶子节点,则将所述所属孩子节点作为所述归属叶子节点。

步骤S14,若所述所属孩子节点不属于所述叶子节点类型,则继续遍历所述目标决策树,直至确定所述待预测样本对应的归属叶子节点;

在本实施例中,若所述所属孩子节点不属于所述叶子节点类型,则继续遍历所述目标决策树,直至确定所述待预测样本对应的归属叶子节点,具体地,若所述所属孩子节点不为叶子节点,则继续遍历所述目标决策树的所述所属孩子节点,直至确定所述待预测样本对应的归属叶子节点。

步骤S15,若所述根节点属于所述第一设备,基于所述第一设备中的特征分裂值,确定所述待预测样本的所述所属孩子节点,以确定所述待预测样本对应的归属叶子节点。

在本实施例中,若所述根节点属于所述第一设备,基于所述第一设备中的特征分裂值,确定所述待预测样本的所述所属孩子节点,以确定所述待预测样本对应的归属叶子节点,具体地,若根节点属于所述第一设备,则基于存储于所述第一设备中的所述根节点对应的特征分裂值,确定所述待预测样本的所述所属孩子节点,进而进行所述所属孩子节点是否属于叶子节点类型的判断,若所述所属孩子节点为叶子节点类型,则确定所述所属孩子节点为所述待预测样本对应的归属叶子节点,若所述所属孩子节点不为叶子节点类型,则继续遍历所述所属孩子节点,直至确定所述待预测样本对应的归属叶子节点。

步骤S20,获取各所述归属叶子节点的叶子节点信息和样本权重,并基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签;

在本实施例中,需要说明的是,在进行步骤S20之前,对每一目标决策树中各叶子节点进行编码,获得每一目标决策树中各叶子节点对应的叶子节点编码,其中,所述叶子节点编码为所述叶子节点的标识。

另外地,需要说明的是,当待预测样本由目标决策树的根节点输入时,在经历一系列的特征判断条件后,最终将落在所述目标决策树的一叶子节点,则该叶子节点与这一系列的特征判断条件存在对应关系,进而该叶子节点可用于进行待预测样本的特征拓展,其中,特征判断条件为用于判断待预测样本是属于树节点的左孩子节点还是右孩子节点的判断条件,其中,所述特征判断条件可以为特征分裂值。

另外地,需要说明的是,所述叶子节点信息包括归属叶子节点编码,其中,所述归属叶子节点编码为所述归属叶子节点的叶子节点编码,所述样本权重为所述待预测样本在所述目标决策树中的预测结果,所述叶子节点标签包括叶子节点表示向量,用于以向量的形式表示叶子节点对应的叶子节点信息和对应的样本权重。

获取各所述归属叶子节点的叶子节点信息和样本权重,并基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签,具体地,获取各所述归属叶子节点的归属叶子节点编码和样本权重,并将各所述归属叶子节点编码映射为叶子节点位置编码,进而依据每一所述归属叶子节点对应的叶子节点位置编码和对应的样本权重,以及各所述归属叶子节点的节点数量进行向量编码,获得各所述归属叶子节点对应的叶子节点表示向量,例如,假设所述归属叶子节点位置编码为1,归属叶子节点数量为3,样本权重为0.9,则生成叶子节点表示向量为(0.9,0,0)。

其中,所述叶子节点信息包括归属叶子节点编码,

所述基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签的步骤包括:

步骤S21,将各所述归属叶子节点编码映射为对应的叶子节点位置编码;

在本实施例中,将各所述归属叶子节点编码映射为对应的叶子节点位置编码,具体地,基于预设的归属叶子节点编码与叶子节点位置编码之间的映射关系,将各所述归属叶子节点编码映射为对应的叶子节点位置编码,例如,假设所述归属叶子节点编码为A1,其中,A表示归属叶子节点属于目标决策树模型的第一颗目标决策树,1表示归属叶子节点为第一颗目标决策树中的第一个叶子节点,进而基于预设的归属叶子节点编码与叶子节点位置编码之间的映射关系,确定对应的叶子节点位置编码为1。

步骤S22,基于各所述叶子节点位置编码和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签。

在本实施例中,基于各所述叶子节点位置编码和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签,具体地,依据各所述归属叶子节点的节点数量,对各所述叶子节点位置编码进行独热编码,获得各所述叶子节点位置编码对应的独热编码向量,并基于各所述样本权重,分别对各所述独热编码向量进行加权,获得各所述叶子节点标签,例如,假设所述节点数量为3,叶子节点位置编码为2,所述样本权重为0.9,则所述独热编码向量为(0,1,0),所述叶子节点标签为向量(0,0.9,0)。

其中,所述基于各所述叶子节点位置编码和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签的步骤包括:

步骤S221,依据各所述叶子节点编码进行独热编码,获得各所述归属叶子节点对应的独热编码向量;

在本实施例中,依据各所述叶子节点编码进行独热编码,获得各所述归属叶子节点对应的独热编码向量,具体地,将各所述归属叶子节点的节点数量作为独热编码向量长度,并依据所述独热编码向量长度,对各所述叶子节点编码进行独热编码,获得各所述归属叶子节点对应的独热编码向量。

其中,所述依据各所述叶子节点编码进行独热编码,获得各所述归属叶子节点对应的独热编码向量的步骤包括:

步骤A10,基于各所述归属叶子节点的节点数量,确定独热编码向量长度;

在本实施例中,需要说明的是,各所述归属叶子节点的节点数量与所述独热编码向量长度在数值上相等。

步骤A20,依据所述独热编码向量长度和各所述叶子节点编码进行独热编码,获得各所述独热编码向量。

在本实施例中,依据所述独热编码向量长度和各所述叶子节点编码进行独热编码,获得各所述独热编码向量,具体地,生成向量长度为所述独热编码向量长度的全0向量,进而对于每一所述叶子节点编码均执行以下步骤:

将所述叶子节点编码作为目标比特位位置,进而将所述全0向量中的目标比特位位置上的比特位值由0替换为1,获得所述叶子节点编码对应的独热编码向量,例如,假设所述全0向量为(0,0,0),所述叶子节点编码为3,则所述独热编码向量为(0,0,1)。

步骤S222,基于各所述样本权重,分别对各所述独热编码向量进行加权,获得各所述叶子节点标签。

在本实施例中,基于各所述样本权重,分别对各所述独热编码向量进行加权,获得各所述叶子节点标签,具体地,计算每一所述独热编码向量与对应的样本权重之间的乘积,获得各叶子节点表示向量,并将各所述叶子节点表示向量作为各所述叶子节点标签,其中,一所述样本权重对应一所述独热编码向量。

步骤S30,基于各所述叶子节点标签,对所述待预测样本进行特征拓展,获得目标拓展样本。

在本实施例中,需要说明的是,所述叶子节点标签包括叶子节点表示向量,所述待预测样本包括待预测样本表示向量,其中,所述待预测样本表示向量由各样本特征对应的特征值组成。

基于各所述叶子节点标签,对所述待预测样本进行特征拓展,获得目标拓展样本,具体地,将所述待预测样本表示向量与各所述叶子节点表示向量进行拼接,获得拓展样本表示向量,并将所述拓展样本表示向量作为所述目标拓展样本。

其中,所述待预测样本包括待预测样本表示向量,所述叶子节点标签包括叶子节点表示向量,所述目标拓展样本包括拓展样本表示向量,所述叶子节点信息包括归属叶子节点编码,

所述基于各所述叶子节点标签,对所述待预测样本进行特征拓展,获得目标拓展样本的步骤包括:

步骤S31,基于各所述归属叶子节点编码对应的编码顺序,将各所述叶子节点表示向量进行拼接,获得拓展特征表示向量;

在本实施例中,基于各所述归属叶子节点编码对应的编码顺序,将各所述叶子节点表示向量进行拼接,获得拓展特征表示向量,具体地,基于各所述归属叶子节点编码对应的编码顺序,将各所述叶子节点表示向量进行顺序拼接,获得拓展特征表示向量,其中,所述拓展特征表示向量即对应拓展的特征。

步骤A32,将所述拓展特征表示向量与所述待预测样本表示向量进行拼接,获得所述拓展样本表示向量。

在本实施例中,需要说明的是,由于独热编码向量为基于叶子节点信息确定的,进而拓展特征表示向量是基于叶子节点信息与样本权重构建的,进而相比于直接基于叶子节点信息构建的拓展特征,所述拓展特征表示向量中包括的特征信息更加丰富,其对应的所述拓展样本表示向量将对模型训练提供更高的贡献度,进而将提高模型构建效率和提高模型构建效果。

本申请实施例提供了一种特征拓展方法,相比于现有技术采用的通过特征交叉来提升样本的特征维度的技术手段,本申请实施例在获取待预测样本之后,首先基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点,其中,需要说明的是,由于样本在决策树的叶子节点对应样本的特征判定条件,所以叶子节点的信息可作为样本的扩展特征,进而获取各所述归属叶子节点的叶子节点信息和样本权重,并基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签,进而基于各所述叶子节点标签,对所述待预测样本进行特征拓展,即可实现对样本的特征拓展,获得目标拓展样本。其中,由于目标决策树模型集是基于联邦学习构建的,进而各归属叶子节点是基于联邦学习的各参与方的样本信息进行决策的,进而基于各归属叶子节点进行特征拓展,即可实现基于联邦学习的各参与方的样本信息进行特征拓展的目的,进而实现了在更高的样本维度上进行特征拓展的目的,且由于在整个特征拓展的过程中,联邦学习的第二设备只参与模型预测过程,而并不参与特征拓展过程,进而在进行特征拓展时不会泄露数据隐私,克服了在联邦学习场景下进行特征交叉时,各联邦学习的参与方根据特征交叉结果和己方的本地隐私数据,容易反推出其他参与方的本地隐私数据,进而导致数据隐私泄露的技术缺陷,所以,保护了在联邦场景下进行特征拓展时各联邦参与方的数据隐私不容易泄露。

进一步地,参照图2,基于本申请中第一实施例,在本申请的另一实施例中,所述目标决策树模型集至少包括一目标决策树,

在所述基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点的步骤之前,所述特征拓展方法还包括:

步骤B10,与所述第一设备关联的各第二设备进行样本对齐,获得第一样本数据;

在本实施例中,需要说明的是,所述第二设备可与所述第一设备进行通信连接,且所述第一设备与各所述第二设备可进行纵向联邦学习,且在本实施例中所述第一设备为数据使用方,各所述第二设备为数据提供方,所述第一设备包括样本对齐模块,所述第一设备与各所述第二设备进行纵向联邦。

与所述第一设备关联的各第二设备进行样本对齐,获得第一样本数据,具体地,通过所述样本对齐模块与所述第一设备关联的各第二设备进行样本对齐,以基于预设联邦多方交集算法进行交集处理,获得本次纵向联邦学习的待建模样本ID,进而将所述待建模样本ID与所述第一设备的本地样本ID进行交集处理,获得第一样本数据,进一步地,通过各所述第二设备将所述待建模样本ID与各所述第二设备的本地样本ID进行交集处理,各所述第二设备各自对应的获得第二样本ID,进而各所述第二样本ID获取各自的第二样表数据。

步骤B20,基于所述第一样本数据,通过与各所述第二设备进行交互以进行纵向联邦,计算特征分裂增益直方图,以构建所述目标决策树。

在本实施例中,需要说明的是,所述待建模样本ID对应的所有样本或者样本对应的标识在刚开始建模时均处于待构建的目标决策树的根节点,并以所述根节点作为当前待分裂节点,其中,所述当前待分裂节点中包括样本队列,所述样本队列中包括样本数据,所述样本数据包括第一样本数据和第二样本数据,所述特征分裂增益直方图用于基于预设增益计算公式寻找所述特征分裂增益直方图中的最大增益分裂点。

基于所述第一样本数据,通过与各所述第二设备进行交互以进行纵向联邦,计算特征分裂增益直方图,以构建所述目标决策树,具体地,对所述第一样本数据进行特征分箱,以将所述第一样本数据进行离散化,获得多个样本数据分箱,进一步地,计算所述待建模数据对应的一阶梯度集合和二阶梯度集合,进而基于所述一阶梯度集合、所述二阶梯度集合和预设梯度直方图算法计算所述当前待分裂节点中的样本队列的队首元素对应的特征分裂直方图,并基于预设增益计算公式,寻找所述特征分裂直方图中的最大增益分裂点,进而判断所述最大增益分裂点是否达预设停止分裂条件,若达到,则停止分裂,并将所述当前待分裂节点作为所述目标决策树的叶子节点,若未达到,则分裂所述当前待分裂节点,获得孩子节点,并继续进行分裂,直至所述待构建的目标决策树的所有节点均不可再分裂,获得目标决策树,其中,需要说明的是,若所述队首元素中的样本数据包括第一样本数据和第二样本数据,其中,所述第一样本数据属于所述第一设备,由第一设备进行对应的所述特征分裂直方图的计算,所述第二样本数据属于各所述第二设备,由各所述第二设备基于所述第一设备发送的加密的一阶梯度集合和加密的二阶梯度集合计算加密的特征分裂直方图,并所述加密的特征分裂直方图返回所述第一设备,由所述第一设备基于所述加密的特征分裂直方图进行所述最大分裂点的计算,其中,所述加密的方法包括加法同态加密方法。

步骤B21,对所述第一样本数据进行特征分箱,获得第一特征分箱数据,并生成所述纵向联邦对应的密钥对;

在本实施例中,对所述第一样本数据进行特征分箱,获得第一特征分箱数据,并生成所述纵向联邦对应的密钥对,具体地,对所述第一样本数据进行特征分箱,以对所述第一样本数据进行离散化,获得所述第一样本数据对应的第一样本分箱,也即,获得第一特征分箱数据,并通过预设密钥生成模块生成进行本次联邦学习所需的密钥对。

步骤B22,获取模型残差和所述第一特征分箱数据对应的数据标签,并基于所述模型残差和所述数据标签计算所述第一特征分箱数据对应的一阶梯度集合和二阶梯度集合;

在本实施例中,需要说明的是,所述一阶梯度集合包括所述第一特征分箱数据中每一条特征数据对应的一阶梯度,所述二阶梯度包括所述第一特征分箱数据中每一条特征数据对应的二阶梯度,其中,所述第一特征分箱数据中每一特征条数据均对应一数据标签、一样本ID和一特征编码,其中,所述样本ID为所述特征分箱数据的身份标签,例如,用户电话号码、用户身份证号等数据可设置为所述样本ID,所述特征编码标识了所述特征数据的类型,所述数据标签标记了所述第一特征分箱数据中的每一条数据,例如,假设所述第一样本数据为客户贷款还款记录数据,则所述数据标签基于所述客户贷款还款记录数据标识了所述客户的信誉度,也即,标识了所述客户的类型,例如,所述客户为好客户或者坏客户等,所述模型残差为在本次建模之前进行的上一次建模训练的模型残差,可从第一设备的本地数据库中提取。

获取模型残差和所述第一特征分箱数据对应的数据标签,并基于所述模型残差和所述数据标签计算所述第一特征分箱数据对应的一阶梯度集合和二阶梯度集合,具体地,获取模型残差和所述第一特征分箱数据对应的数据标签,进而基于所述模型残差和所述数据标签建立关于所述模型残差和所述数据标签的目标函数,进而对所述目标函数求取关于所述模型残差和所述数据标签的一阶偏导数和二阶偏导数,获得所述一阶梯度集合和所述二阶梯度集合。

步骤B23,基于所述一阶梯度集合和所述二阶梯度集合,通过与各所述第二设备进行交互以进行纵向联邦,计算所述特征分裂增益直方图,以构建目标决策树。

在本实施例中,所述特征分裂增益直方图包括第一特征分裂增益直方图和第二特征分裂增益直方图。

基于所述一阶梯度集合和所述二阶梯度集合,通过与各所述第二设备进行交互以进行纵向联邦,计算所述特征分裂增益直方图,以构建目标决策树,具体地,基于所述一阶梯度集合和所述二阶梯度集合,通过预设梯度直方图算法计算所述当前待分裂节点中的样本队列的队首元素对应的第一特征分裂直方图,并将所述一阶梯度集合和所述二阶梯度集合分别发送至各所述第二设备,以接收各所述第二设备基于所述一阶梯度集合和所述二阶梯度集合各自分别反馈的各所述第二特征分裂增益直方图,进而基于所述第一特征分裂增益直方图和各所述第二特征分裂增益直方图,通过预设增益计算公式,寻找所述特征分裂直方图中的最大增益分裂点,进而判断所述最大增益分裂点是否达预设停止分裂条件,若达到,则停止分裂,并将所述当前待分裂节点作为所述目标决策树的叶子节点,若未达到,则分裂所述当前待分裂节点,获得孩子节点,并继续进行分裂,直至所述待构建的目标决策树的所有节点均不可再分裂,获得目标决策树,

其中,所述特征分裂增益直方图包括第一特征分裂增益直方图和第二特征分裂增益直方图,

所述基于所述一阶梯度集合和所述二阶梯度集合,通过与各所述第二设备进行交互以进行纵向联邦,计算所述特征增益直方图,以构建目标决策树的步骤包括:

步骤B231,获取所述第一特征分箱数据对应的待分裂节点队列,并获取所述第一特征分箱数据对应的待分裂节点队列,基于所述一阶梯度集合、所述二阶梯度集合和所述待分裂节点的队首元素,计算所述第一特征分裂增益直方图;

在本实施例中,需要说明的是,所述待分裂节点队列中的元素包括待分裂节点和所述待分裂节点对应的样本分箱,所述样本分箱中包括所述第一设备和各所述第二设备的特征数据,每一所述特征数据对应有样本ID和特征编码。

获取所述第一特征分箱数据对应的待分裂节点队列,并获取所述第一特征分箱数据对应的待分裂节点队列,基于所述一阶梯度集合、所述二阶梯度集合和所述待分裂节点的队首元素,计算所述第一特征分裂增益直方图,具体地,获取所述第一特征分箱数据对应的待分裂节点队列,进而取出所述待分裂节点队列的队首元素,其中,所述队首元素包括多个样本特征分箱,进而将各所述样本特征分箱中特征数据对应的数据标签代入所述所述一阶梯度集合和所述二阶梯度集合并求和,获得各所述样本特征分箱对应的一阶梯度之和和二阶梯度之和,进而基于各所述样本特征分箱的样本数量、所述一阶梯度集合之和,以及所述二阶梯度之和,自动绘制所述第一特征分裂增益直方图,其中,所述第一特征分裂增益直方图中包括参与本次计算的每一第一样本分箱中所有样本一阶梯度之和、参与本次计算的每一第一样本分箱中所有样本二阶梯度之和以及参与本次计算的每一第一样本分箱的样本数量。

步骤B232,基于所述密钥对中的公钥,将所述一阶梯度集合和所述二阶梯度集合加密发送至各所述第二设备,并接收各所述第二设备反馈的加密第二特征分裂增益直方图;

在本实施例中,基于所述密钥对中的公钥,将所述一阶梯度集合和所述二阶梯度集合加密发送至各所述第二设备,并接收各所述第二设备反馈的加密第二特征分裂增益直方图,基于所述密钥对中的公钥,对所述一阶梯度集合和所述二阶梯度集合进行加密处理,获得加密的一阶梯度集合和加密的二阶梯度集合,进而将所述加密的一阶梯度集合和所述加密的二阶梯度集合发送至所述第二设备,进而接收所述第二设备反馈的加密后的所述第二特征分裂增益直方图,进而获得所述第二特征分裂增益直方图。

其中,所述第二特征分裂增益直方图通过所述第一设备基于所述密钥对中的私钥对加密的第二特征分裂增益直方图进行解密获得,其中,所述第二设备基于所述加密的所述一阶梯度集合、加密的所述二阶梯度集合统计计算所述第二设备中的第二特征分箱数据的各个样本分箱对应的加密的一阶梯度之和和加密的二阶梯度之和,其中,所述样本分箱中包括一个或者多个样本,进而基于每一样本分箱对应的样本数量、加密的一阶梯度之和和加密的二阶梯度之和绘制加密第二特征分裂增益直方图,其中,所述加密所述一阶梯度和所述二阶梯度的加密方法为加法同态加密算法,所以可基于加密的所述一阶梯度集合和加密的二阶梯度集合分别计算出加密的所述一阶梯度之和和加密的所述二阶梯度之和。

步骤B233,基于所述密钥对中的私钥,对各所述加密第二特征分裂增益直方图进行解密,获得各所述第二特征分裂增益直方图;

在本实施例中,需要说明的是,所述第二特征分箱数据可由所述第一设备向各所述第二设备发送的样本ID和特征编码进行确认,所述第二特征分裂增益直方图中包括参与本次计算的每一第二样本分箱的一阶梯度之和、参与本次计算的每一第二样本分箱的二阶梯度之和以及参与本次计算的每一第二样本分箱的样本数量,进行所述加密和所述解密的方法包括加法同态加密技术。

步骤B234,基于所述第一特征分裂增益直方图和各所述第二特征分裂增益直方图,获取最大增益分裂点,以构建所述目标决策树。

在本实施例中,基于所述第一特征分裂增益直方图和各所述第二特征分裂增益直方图,获取最大增益分裂点,以构建所述目标决策树,具体地,基于预设增益计算公式,遍历所述第一特征分裂增益直方图、各所述第二特征分裂增益直方图中的每一样本分箱,其中,所述样本分箱包括第一样本分箱和第二样本分箱,获得最大增益分裂点,进而基于所述最大增益分裂点,对所述待分裂节点进行分裂,获得孩子节点,进而对所述孩子节点继续执行分裂操作,直至待构建的所述目标决策树的所有节点不可再分裂,获得所述目标决策树,其中,待构建的所述目标决策树指的是未构建完成的所述目标决策树。

其中,所述基于所述第一特征分裂增益直方图和各所述第二特征分裂增益直方图,获取最大增益分裂点,以构建所述目标决策树的步骤包括:

步骤C10,基于所述第一特征分裂增益直方图和各所述第二特征分裂直方图,通过预设增益计算公式寻找最大增益分裂点;

在本实施例中,基于所述第一特征分裂增益直方图和各所述第二特征分裂直方图,通过预设增益计算公式寻找最大增益分裂点,具体地,基于所述预设增益计算公式,遍历所述第一特征分裂增益直方图和各所述第二特征分裂直方图,以获取所述最大增益分裂点,其中,所述预设增益计算公式如下所示,

其中,M为所述增益,所述G

步骤C20,判断所述待分裂节点是否达到预设停止分裂条件,若所述待分裂节点达到所述预设停止分裂条件,则将所述待分裂节点作为所述目标决策树的叶子节点;

在本实施例中,需要说明的是,所述预设停止分裂条件包括所述最大增益达到预设增益阈值、所述待分裂节点达到最大的树的深度等。

在本实施例中,判断所述待分裂节点是否达到预设停止分裂条件,若所述待分裂节点达到所述预设停止分裂条件,则计算分裂到所述待分裂节点的样本所占的样本权重,并将所述待分裂节点作为所述目标决策树的叶子节点,并将所述样本权重作为叶子信息记录在所述叶子节点中。

步骤C30,若所述待拆分节点未达到所述预设停止分裂条件,则基于所述最大增益分裂点,分裂所述待分裂节点,获得孩子节点;

在本实施例中,若所述待拆分节点未达到所述预设停止分裂条件,则基于所述最大增益分裂点,将所述样本分裂为左孩子样本和右孩子样本,并生成所述左孩子样本对应的左孩子节点和右孩子样本对应的右孩子节点,其中,所述孩子节点中记录了所述样本对应样本ID和特征编码,所述样本包括第一设备的第一样本和第二设备的第二样本。

步骤C40,对所述孩子节点进行分裂,直至所述待分裂节点对应的待分裂树的所有节点不可再分裂,获得所述目标决策树。

在本实施例中,对所述孩子节点进行分裂,直至所述待分裂节点对应的待分裂树的所有节点不可再分裂,获得所述目标决策树,具体地,对所述孩子节点进行是否达到预设停止分裂条件的判断,若孩子节点达到所述预设停止分裂条件,则将所述孩子节点作为叶子节点,若孩子节点未达到所述预设停止分裂条件,则继续进行节点分裂操作,直至待构建的所述目标决策树的所有节点均不可再分裂,获得所述目标决策树。

其中,所述基于所述第一特征分裂增益直方图、各所述第二特征分裂增益直方图,获取最大增益分裂点的步骤之后包括:

步骤B235,判断所述最大增益分裂点的归属,若所述最大增益点属于所述第一设备,则向各所述第二设备发送空值,并标记所述最大增益点属于所述第一设备;

在本实施例中,需要说明的是,所有所述分裂点均处于样本的取值范围之中,所述第一样本数据和所述第二样本数据为相同的客户群体的不同的特征对某一特征的关联数据,例如,所述第一样本数据可为银行存款与可贷款额度的关联数据,所述第二样本数据可为贷款还款记录信息与可贷款额度的关联数据,且所述第一样本数据和所述第二样本数据均属于第一设备和第二设备的秘密数据,不可公开。

步骤B236,若所述最大增益点属于特定第二设备,则接收所述特定第二设备发送的特征分裂值和特征编码,并标记所述最大增益点属于所述特定第二设备,向其它所述第二设备发送空值,其中,所述特定第二设备为所述各所述第二设备之一。

在本实施例中,需要说明的是,所述特征分裂值为所述最大增益分裂点对应的特征值,所述特征编码包括特征名和特征值,例如,假设所述特征编码为(贷款记录,8000),则所述贷款记录为所述特征名,所述特征值为8000,所述样本数据包括第一样本数据和第二样本数据。

本申请实施例提供了一种目标决策的构建方法,也即,与所述第一设备关联的各第二设备进行样本对齐,获得第一样本数据,进而基于所述第一样本数据,通过与各所述第二设备进行交互以进行纵向联邦,计算特征分裂增益直方图,以构建所述目标决策树。进而在构建由于目标决策树组成的目标决策树模型集之后,即可基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点,其中,需要说明的是,由于样本在决策树的叶子节点对应样本的特征判定条件,所以叶子节点的信息可作为样本的扩展特征,进而获取各所述归属叶子节点的叶子节点信息和样本权重,并基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签,进而基于各所述叶子节点标签,对所述待预测样本进行特征拓展,即可实现对样本的特征拓展,获得目标拓展样本。其中,由于目标决策树模型集是基于联邦学习构建的,进而各归属叶子节点是基于联邦学习的各参与方的样本信息进行决策的,进而基于各归属叶子节点进行特征拓展,即可实现基于联邦学习的各参与方的样本信息进行特征拓展的目的,进而实现了在更高的样本维度上进行特征拓展的目的,且由于在整个特征拓展的过程中,联邦学习的第二设备只参与模型预测过程,而并不参与特征拓展过程,进而在进行特征拓展时不会泄露数据隐私,进而为克服在联邦学习场景下进行特征交叉时,各联邦学习的参与方根据特征交叉结果和己方的本地隐私数据,容易反推出其他参与方的本地隐私数据,进而导致数据隐私泄露的技术缺陷奠定了基础。

参照图3,图3是本申请实施例方案涉及的硬件运行环境的设备结构示意图。

如图3所示,该特征拓展设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。

可选地,该特征拓展设备还可以包括矩形用户接口、网络接口、摄像头、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。

本领域技术人员可以理解,图3中示出的特征拓展设备结构并不构成对特征拓展设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及特征拓展程序。操作系统是管理和控制特征拓展设备硬件和软件资源的程序,支持特征拓展程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与特征拓展系统中其它硬件和软件之间通信。

在图3所示的特征拓展设备中,处理器1001用于执行存储器1005中存储的特征拓展程序,实现上述任一项所述的特征拓展方法的步骤。

本申请特征拓展设备具体实施方式与上述特征拓展方法各实施例基本相同,在此不再赘述。

本申请实施例还提供一种特征拓展装置,所述特征拓展装置应用于第一设备,所述特征拓展装置包括:

模型预测模块,用于获取待预测样本,并基于联邦学习构建的目标决策树模型集,通过与第二设备进行联邦决策交互,对所述待预测样本执行模型预测,确定所述待预测样本对应的各归属叶子节点;

标签生成模块,用于获取各所述归属叶子节点的叶子节点信息和样本权重,并基于各所述叶子节点信息和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签;

特征拓展模块,用于基于各所述叶子节点标签,对所述待预测样本进行特征拓展,获得目标拓展样本。

可选地,所述标签生成模块还用于:

将各所述归属叶子节点编码映射为对应的叶子节点位置编码;

基于各所述叶子节点位置编码和各所述样本权重,分别为各所述归属叶子节点生成对应的叶子节点标签。

可选地,所述标签生成模块还用于:

依据各所述叶子节点编码进行独热编码,获得各所述归属叶子节点对应的独热编码向量;

基于各所述样本权重,分别对各所述独热编码向量进行加权,获得各所述叶子节点标签。

可选地,所述标签生成模块还用于:

基于各所述归属叶子节点的节点数量,确定独热编码向量长度;

依据所述独热编码向量长度和各所述叶子节点编码进行独热编码,获得各所述独热编码向量。

可选地,所述特征拓展模块还用于:

基于各所述归属叶子节点编码对应的编码顺序,将各所述叶子节点表示向量进行拼接,获得拓展特征表示向量;

将所述拓展特征表示向量与所述待预测样本表示向量进行拼接,获得所述拓展样本表示向量。

可选地,所述模型预测模块还用于:

将所述待预测样本输入所述目标决策树,并开始遍历所述目标决策树,以判断所述目标决策树的根节点的归属;

若所述根节点属于所述第二设备,则向所述第二设备发送预测请求,并接收所述第二设备反馈的反馈结果,以基于所述反馈结果确定所述待预测样本的所属孩子节点;

判断所述所属孩子节点是否属于叶子节点类型,若所述所属孩子节点属于所述叶子节点类型,则将所述所属孩子节点作为所述归属叶子节点;

若所述所属孩子节点不属于所述叶子节点类型,则继续遍历所述目标决策树,直至确定所述待预测样本对应的归属叶子节点;

若所述根节点属于所述第一设备,基于所述第一设备中的特征分裂值,确定所述待预测样本的所述所属孩子节点,以确定所述待预测样本对应的归属叶子节点。

可选地,所述特征拓展装置还用于:

与所述第一设备关联的各第二设备进行样本对齐,获得第一样本数据;

基于所述第一样本数据,通过与各所述第二设备进行交互以进行纵向联邦,计算特征分裂增益直方图,以构建所述目标决策树。

本申请特征拓展装置的具体实施方式与上述特征拓展方法各实施例基本相同,在此不再赘述。

本申请实施例提供了一种可读存储介质,且所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的特征拓展方法的步骤。

本申请可读存储介质具体实施方式与上述特征拓展方法各实施例基本相同,在此不再赘述。

本申请实施例提供了一种计算机程序产品,且所述计算机程序产品包括有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的特征拓展方法的步骤。

本申请计算机程序产品具体实施方式与上述特征拓展方法各实施例基本相同,在此不再赘述。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号