掌桥专利:专业的专利平台
掌桥专利
首页

基于stacking集成学习算法的联邦学习建模方法

文献发布时间:2024-04-18 19:58:53


基于stacking集成学习算法的联邦学习建模方法

技术领域

本发明涉及机器学习技术领域,具体涉及一种基于stacking集成学习算法的联邦学习建模方法、系统、终端及介质。

背景技术

运行在联邦学习系统中的传统机器学习模型通常都是由一个单一的算法构成,例如决策树、逻辑回归、支持向量机等等,这些模型通常只能学习一种特定的结构,而且容易受到数据集的限制。传统使用的单个基模型,结构单一、容易受到数据集的限制,也容易出现过拟合或欠拟合,影响数据模型的效果。

发明内容

针对现有技术中的缺陷,本发明实施例提供的一种基于stacking集成学习算法的联邦学习建模方法、系统、终端及介质,通过联邦学习和stacking集成学习方法的结合,可以很好地保护用户的隐私、提高模型的准确率及扩大数据范围。

第一方面,本发明实施例提供的一种基于stacking集成学习算法的联邦学习建模方法,包括:

获取多个参与终端准备的联邦数据集;

接收各个参与终端将训练好的基础模型应用于本地数据集或者联邦数据集生成基础模型预测结果;

利用stacking集成学习方法将基础模型预测结果聚合成一个元数据集;

采用一个元模型整合所有的基础模型,利用元数据集训练所述元模型;

在联邦学习的框架下对元模型进行评估和优化,并对元模型进行迭代训练。

第二方面,本发明实施例提供的一种基于stacking集成学习算法的联邦学习系统,包括:数据获取模块、接收模块、数据聚合模块、元模型训练模块和元模型优化模块;

所述数据获取模块用于获取多个参与终端准备的联邦数据集;

所述接收模块接收各个参与终端将训练好的基础模型应用于本地数据集或者联邦数据集生成基础模型预测结果;

所述数据聚合模块利用stacking集成学习方法将基础模型预测结果聚合成一个元数据集;

所述元模型训练模块采用一个元模型整合所有的基础模型,利用元数据集训练所述元模型;

所述元模型优化模块在联邦学习的框架下对元模型进行评估和优化,并对元模型进行迭代训练。

第三方面,本发明实施例提供的一种智能终端,包括处理器、输入设备、输出设备和存储器,所述处理器分别与输入设备、输出设备和存储器连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述实施例描述的方法。

第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述实施例描述的方法。

本发明的有益效果:

本发明实施例提供的一种基于stacking集成学习算法的联邦学习建模方法,联邦学习和Stacking方法的结合可以在数据隐私性保护、提高模型准确率、扩大数据范围等方面发挥优势。

本发明实施例提供的一种基于stacking集成学习算法的联邦学习系统、终端及介质,与基于stacking集成学习算法的联邦学习建模方法出于相同的发明构思,具有相同的技术效果,在此不再赘述。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1示出了本发明第一实施例所提供的一种基于stacking集成学习算法的联邦学习建模方法的流程图;

图2示出了本发明另一实施例所提供的一种基于stacking集成学习算法的联邦学习系统的结构框图;

图3示出了本发明另一实施例所提供的一种智能终端的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

如图1所示,本发明第一实施例所提供的一种基于stacking集成学习算法的联邦学习建模方法,包括以下步骤:

获取多个参与终端准备的联邦数据集;

接收各个参与终端将训练好的基础模型应用于本地数据集或者联邦数据集生成基础模型预测结果;

利用stacking集成学习方法将基础模型预测结果聚合成一个元数据集;

采用一个元模型整合所有的基础模型,利用元数据集训练所述元模型;

在联邦学习的框架下对元模型进行评估和优化,并对元模型进行迭代训练。

Stacking:指的是一种集成学习(Ensemble Learning)方法,它将多个不同的模型组合成一个更强大的模型。Stacking的基本思想是将多个不同的基模型的预测结果作为新的训练数据,然后再使用一个元模型(Meta-model)来对这些预测结果进行拟合,从而得到最终的预测结果。

联邦学习本质上是一种分布式机器学习技术,或机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现AI协作。

在本实施例中,在联邦学习的框架下对元模型进行评估和优化的方法包括:

利用AUC曲线分别对元模型和基础模型进行性能评估得到评估结果,将评估结果进行对比;

若元模型的性能提升未达到预期,则向各个参与终端发送数据集特征工程优化的指令及调整各自的基础模型的指令。

具体地,利用元数据集训练元模型的方法包括:

将元数据集分为训练集和验证集,用训练集训练元模型,得到训练好的元模型,元模型可以是任意类型的模型,如神经网络、线性回归等;

用验证集验证训练好的元模型,输出元模型的预测结果。

以下采用具体的例子对上述方法进行详细的说明:

假设有两个参与方A和B,想要结合联邦学习和stacking方法来建立一个模型,建模的具体流程如下:

①数据准备:A和B需要准备各自的数据集,并在本地设备上对数据集进行预处理、特征工程等处理。A和B根据不同的业务场景、数据特征提取对数据集进行处理。

②基础模型训练:每个参与方使用联邦的数据集共同训练多个基础模型(学习器)。例如,A训练了基础模型M1、M2和M3,而B训练了M4、M5和M6,A和B共同训练了M7、M8和M9。这些基础模型可以是任意类型的模型,如决策树、逻辑回归、神经网络等。

③预测结果收集:每个参与方将训练好的基础模型应用于本地或者联邦数据集并生成预测结果。例如,A使用M1、M2和M3产生了预测结果P1、P2和P3,B使用M4、M5和M6产生了预测结果P4、P5和P6,A和B的联邦学习模型产生了预测结果P7、P8和P9。

④模型聚合:参与方A和B将M1至M9的预测结果上传到中央服务器,然后利用Stacking方法将预测结果聚合成一个元数据集。例如,元数据集包含了A的P1、P2和P3以及B的P4、P5和P6,以及A和B共有的P7、P8和P9。

⑤元模型训练:利用元数据集和标签信息,训练一个元模型来整合所有的基础模型。元模型可以是任意类型的模型,如神经网络、线性回归等。

⑥元模型评估和优化:在联邦学习的框架下,对元模型进行评估和优化,并对元模型进行迭代训练,以进一步提高模型的准确率和鲁棒性。

元模型评估:评估方法可采用交叉验证方法,划分出训练集和验证集,以评估元模型在不同数据分布下的性能表现。根据问题类型,选择适当的性能指标来衡量元模型的预测能力,比如:准确率、精确度、召回率、F1分数、KS值、AUC值等,在本实施例中采用的AUC值来衡量。泛化能力可以确保元模型在不同的参与方数据上都有好的表现,避免过拟合。比较元模型与单独的本地模型性能,确认元模型的优势。

元模型的优化:在构建元模型时,可以考虑选择对联邦学习任务特别有用的特征或者进行特征工程,以提升元模型的表现。对于元模型中可能存在的超参数,进行调参以找到最佳的参数组合,可以使用网格搜索等技术。在stacking过程中,可以尝试不同的基模型组合方式,以及不同的元模型,如决策树、随机森林、神经网络等。对于基模型的预测结果,可以尝试分配不同的权重,以最大化元模型的预测性能。在stacking中容易发生过拟合,可以考虑使用正则化方法,如dropout、L2正则化等。在联邦学习中,元模型可能在不同的参与方间进行模型融合。确定模型融合的策略,如平均、加权平均、投票等。迭代优化元模型,可以使用类似于梯度下降的方法,逐步改进模型。优化元模型时,要考虑业务目标,使模型在关注的指标上取得更好的效果。在模型上线后,持续监控元模型的性能,随着数据分布的变化,进行必要的调整和优化。本发明实施例提供的一种基于stacking集成学习算法的联邦学习建模方法,联邦学习和Stacking方法的结合可以在数据隐私性保护、提高模型准确率、扩大数据范围等方面发挥优势。联邦学习可以通过本地设备上训练模型,避免了将数据传输到中央服务器的风险,从而保护用户的隐私,同时,Stacking可以利用不同设备上的模型集成多个预测结果,提高模型的准确率。

在上述的第一实施例中,提供了一种基于stacking集成学习算法的联邦学习建模方法,与之相对应的,本申请还提供一种基于stacking集成学习算法的联邦学习系统。请参考图2,其为本发明第二实施例提供的一种基于stacking集成学习算法的联邦学习系统的结构框图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

如图2所示,本发明另一实施例提供的一种基于stacking集成学习算法的联邦学习系统,包括:数据获取模块、接收模块、数据聚合模块、元模型训练模块和元模型优化模块,数据获取模块用于获取多个参与终端准备的联邦数据集,接收模块接收各个参与终端将训练好的基础模型应用于本地数据集或者联邦数据集生成基础模型预测结果,数据聚合模块利用stacking集成学习方法将基础模型预测结果聚合成一个元数据集;元模型训练模块采用一个元模型整合所有的基础模型,利用元数据集训练所述元模型,元模型优化模块在联邦学习的框架下对元模型进行评估和优化,并对元模型进行迭代训练。基础模型可以是任意类型的模型,比如:决策树、逻辑回归模型、神经网络模型。

在本实施例中,元模型优化模块包括:评估对比单元和优化单元;评估对比单元利用AUC曲线分别对元模型和基础模型进行性能评估得到评估结果,将评估结果进行对比,优化单元用于在元模型的性能提升未达到预期时,向各个参与终端发送数据集特征工程优化的指令及调整各自的基础模型的指令。

元模型训练模块包括训练单元和验证单元,将元数据集分为训练集和验证集,训练单元将训练集训练元模型,得到训练好的元模型,验证单元用验证集验证训练好的元模型,输出元模型的预测结果。

本发明实施例提供的一种基于stacking集成学习算法的联邦学习系统,联邦学习和Stacking方法的结合可以在数据隐私性保护、提高模型准确率、扩大数据范围等方面发挥优势。

如图3所示,示出了本发明另一实施例的智能终端的结构示意图,该终端包括处理器、输入设备、输出设备和存储器,所述处理器分别与输入设备、输出设备和存储器连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述实施例描述的方法。

应当理解,在本发明实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备可以包括显示器(LCD等)、扬声器等。

该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器、输入设备、输出设备可执行本发明实施例提供的方法实施例所描述的实现方式,也可执行本发明实施例所描述的系统实施例的实现方式,在此不再赘述。

在本发明还提供一种计算机可读存储介质的实施例,计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,程序指令当被处理器执行时使所述处理器执行上述实施例描述的方法。

所述计算机可读存储介质可以是前述实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

相关技术
  • 基于stacking集成学习算法的时空数据预测建模方法
  • 基于stacking集成学习算法的时空数据预测建模方法
技术分类

06120116512841