一种实现模型优化的方法及装置与流程

文档序号:16628515发布日期:2019-01-16 06:20阅读:215来源:国知局
一种实现模型优化的方法及装置与流程

本申请涉及计算机技术领域,具体涉及一种实现模型优化的方法及装置。



背景技术:

在机器学习领域中,如何利用训练数据训练出一个更为优化的模型是一个重要问题。这其中涉及到两方面内容,一方面,针对某个算法如何对超参数进行选择以使训练出的模型在指定指标上表现优异,即超参数调优问题,超参数是在开始机器学习过程之前需要设置值的参数,通常情况下,需要对超参数进行优化,选择一组最优超参数,以提高学习的性能和效果;另一方面,在训练好的多个模型中如何选择某一模型使得该模型在应用中效果最好,即多模型选择问题。

针对超参数调优问题,目前常用的方法包括网格检索(gridsearch)和随机检索(randomsearch),这类方法是尽可能多的遍历超参数取值的组合,分别进行模型训练,得到最优超参数,但是,随着超参数数量的升高会存在严重的性能问题。为此,针对黑盒函数优化的方法也应用在超参数调优问题中,例如贝叶斯优化方法等,但是这类方法存在超参数初始化值影响超参数调优效果的问题。



技术实现要素:

有鉴于此,本申请实施例提供一种实现模型优化的方法及装置,以解决现有技术中超参数调优过程中,无法确定超参数初始化值的技术问题。

为解决上述问题,本申请实施例提供的技术方案如下:

一种实现模型优化的方法,所述方法包括:

获取训练数据集合的数据特征值,所述训练数据集合包括多条第一训练数据;

计算所述训练数据集合的数据特征值与各个样本数据集合的数据特征值之间的距离,将所述距离小于第一阈值的样本数据集合确定为所述训练数据集合的近似样本数据集合;

获取所述近似样本数据集合对应的目标算法的各个超参数的优选值,所述近似样本数据集合对应的目标算法的各个超参数的优选值是预先确定的;

利用所述训练数据集合对所述目标算法的各个超参数由初始值开始进行调整,获得符合预设标准的所述目标算法的各个超参数的值,所述目标算法的各个超参数的初始值为所述近似样本数据集合对应的目标算法的各个超参数的优选值;

生成所述目标算法对应的最优模型,所述目标算法对应的最优模型的各个超参数采用所述符合预设标准的所述目标算法的各个超参数的值。

在一种可能的实现方式中,所述方法还包括:

获取所述近似样本数据集合对应的目标算法的各个超参数的灵敏度值,所述近似样本数据集合对应的目标算法的各个超参数的灵敏度值是预先确定的;

将所述灵敏度值超过第二阈值的超参数确定为所述目标算法的目标超参数;

所述利用所述训练数据集合对所述目标算法的各个超参数由初始值开始进行调整,获得符合预设标准的所述目标算法的各个超参数的值,包括:

利用所述训练数据集合对所述目标算法的各个目标超参数由初始值开始进行调整,设置所述目标算法的其他超参数为默认值,获得符合预设标准的所述目标算法的各个超参数的值,所述目标算法的各个目标超参数的初始值为所述近似样本数据集合对应的目标算法的各个目标超参数的优选值。

在一种可能的实现方式中,当所述目标算法为多个时,所述生成所述目标算法的最优模型,包括:

生成各个所述目标算法的最优模型。

在一种可能的实现方式中,所述方法还包括:

将待处理数据分别输入每个所述目标算法的最优模型,获得每个所述最优模型输出的所述待处理数据的模型输出结果;

将多个所述待处理数据的模型输出结果进行投票,获得所述待处理数据的最终结果。

在一种可能的实现方式中,所述方法还包括:

将第二训练数据分别输入每个所述目标算法的最优模型,获得每个所述最优模型输出的所述第二训练数据的模型输出结果;

将携带有第一标签的第二训练数据以及多个携带有第二标签的第二训练数据作为第三训练数据,训练生成二级模型;所述第一标签为所述第二训练数据的实际结果,所述第二标签为所述第二训练数据的模型输出结果中的一个,每个携带有第二标签的第二训练数据与每个所述最优模型输出的所述第二训练数据的模型输出结果一一对应;

将待处理数据分别输入每个所述目标算法的最优模型,获得每个所述最优模型输出的所述待处理数据的模型输出结果;

将多个携带有第三标签的待处理数据输入所述二级模型,获得所述待处理数据的最终结果,所述第三标签为所述待处理数据的模型输出结果中的一个,每个携带有第三标签的待处理数据与每个所述最优模型输出的所述待处理数据的模型输出结果一一对应。

一种实现模型优化的装置,所述装置包括:

第一获取单元,用于获取训练数据集合的数据特征值,所述训练数据集合包括多条第一训练数据;

计算单元,用于计算所述训练数据集合的数据特征值与各个样本数据集合的数据特征值之间的距离,将所述距离小于第一阈值的样本数据集合确定为所述训练数据集合的近似样本数据集合;

第二获取单元,用于获取所述近似样本数据集合对应的目标算法的各个超参数的优选值,所述近似样本数据集合对应的目标算法的各个超参数的优选值是预先确定的;

优化单元,用于利用所述训练数据集合对所述目标算法的各个超参数由初始值开始进行调整,获得符合预设标准的所述目标算法的各个超参数的值,所述目标算法的各个超参数的初始值为所述近似样本数据集合对应的目标算法的各个超参数的优选值;

第一生成单元,用于生成所述目标算法对应的最优模型,所述目标算法对应的最优模型的各个超参数采用所述符合预设标准的所述目标算法的各个超参数的值。

在一种可能的实现方式中,所述装置还包括:

第三获取单元,用于获取所述近似样本数据集合对应的目标算法的各个超参数的灵敏度值,所述近似样本数据集合对应的目标算法的各个超参数的灵敏度值是预先确定的;

确定单元,用于将所述灵敏度值超过第二阈值的超参数确定为所述目标算法的目标超参数;

优化单元,具体用于利用所述训练数据集合对所述目标算法的各个目标超参数由初始值开始进行调整,设置所述目标算法的其他超参数为默认值,获得符合预设标准的所述目标算法的各个超参数的值,所述目标算法的各个目标超参数的初始值为所述近似样本数据集合对应的目标算法的各个目标超参数的优选值。

在一种可能的实现方式中,当所述目标算法为多个时,所述第一生成单元,具体用于生成各个所述目标算法的最优模型。

在一种可能的实现方式中,所述装置还包括:

第一输入单元,用于将待处理数据分别输入每个所述目标算法的最优模型,获得每个所述最优模型输出的所述待处理数据的模型输出结果;

第一获得单元,用于将多个所述待处理数据的模型输出结果进行投票,获得所述待处理数据的最终结果。

在一种可能的实现方式中,所述装置还包括:

第二输入单元,用于将第二训练数据分别输入每个所述目标算法的最优模型,获得每个所述最优模型输出的所述第二训练数据的模型输出结果;

第二生成单元,用于将携带有第一标签的第二训练数据以及多个携带有第二标签的第二训练数据作为第三训练数据,训练生成二级模型;所述第一标签为所述第二训练数据的实际结果,所述第二标签为所述第二训练数据的模型输出结果中的一个,每个携带有第二标签的第二训练数据与每个所述最优模型输出的所述第二训练数据的模型输出结果一一对应;

第二输入单元,还用于将待处理数据分别输入每个所述目标算法的最优模型,获得每个所述最优模型输出的所述待处理数据的模型输出结果;

第二获得单元,用于将多个携带有第三标签的待处理数据输入所述二级模型,获得所述待处理数据的最终结果,所述第三标签为所述待处理数据的模型输出结果中的一个,每个携带有第三标签的待处理数据与每个所述最优模型输出的所述待处理数据的模型输出结果一一对应。

一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的实现模型优化的方法。

一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的实现模型优化的方法。

由此可见,本申请实施例具有如下有益效果:

本申请实施例首先获取训练数据集合的数据特征值,计算训练数据集合的数据特征值与每个样本数据集合的数据特征值之间的距离,并将距离小于预设距离的样本数据集合确定为该训练数据集合的近似样本数据集合,由于针对样本数据集合已预先确定了对应的目标算法的各个超参数的优选值,而近似样本数据集合是从多个样本数据集合中确定的且与训练数据集合近似,因此,获取近似样本数据集合对应的目标算法的各个超参数的优选值,将其作为训练数据集合对应目标算法的各个超参数的初始值进行超参数调优,从而确定了超参数调优过程中的超参数初始化值。另外,本申请实施例还可以对训练数据集合对应的目标算法的各个超参数的初始值进行调整,获得各个超参数的最优值,以完成超参数调优过程,从而获得目标算法对应的最优模型。

附图说明

图1为本申请实施例提供的一种实现模型优化的方法的流程图;

图2为本申请实施例提供的一种超参数降维的方法的流程图;

图3为本申请实施例提供的一种确定待处理数据最终结果的方法的流程图;

图4为本申请实施例提供的另一种确定待处理数据最终结果的方法的流程图;

图5为本申请实施例提供的一种实现模型优化的装置结构图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。

为便于理解本申请提供的技术方案,下面先对本申请的背景技术进行说明。

发明人在对机器学习研究中发现,训练出一个较优的模型通常涉及两个方面,一方面,针对某个算法如何对超参数进行选择以使训练出的模型在执行指标上表现优异,即超参数调优问题;另一方面,在训练好的多个模型中如何选择某一模型使得该模型在应用中效果最好,即多模型选择问题。

针对超参数调优问题,目前常用的方法包括网格检索(gridsearch)和随机检索(randomsearch),这类方法在超参数数量较少,即在超参数维度较低的情况下,通过尽可能多的遍历超参数取值组合,得到最优参数,但是当超参数维度升高会存在严重的性能问题。为此,针对黑盒函数优化的方法也应用在超参数调优问题中,例如贝叶斯优化方法等,但是这类方法仍存在超参数初始化和超参数降维等问题需要解决。

而针对多模型选择问题,目前常用的方法是根据评估指标从多个算法中选择表现最优的模型作为最终训练模型,但是如果仅仅从多个模型中选择一个表现最优的模型,舍弃其余的模型,一方面浪费大量时间训练很多需要的模型;另一方面,在训练时表现最优的模型,但并不一定在实际应用中仍能达到最优效果。

基于此,本申请实施例提供了一种实现模型优化的方法,首先,获取训练数据集合的数据特征值,然后计算训练数据集合的数据特征值与数据库保存的各个样本数据集合的数据特征值之间的距离,将距离小于预设距离的样本数据集合确定为训练数据集合的近似样本数据集合,并将近似样本数据集合对应的目标算法的各个超参数的优选值作为训练数据集合对应的目标算法的各个超参数的初始值,从而实现了超参数调优过程中的超参数的初始化;另外,还可以对超参数初始值进行调整,获得各个超参数的最优值,解决了超参调优问题;此外,本申请实施例还提供了从多个最优模型输出结果中确定最终结果的算法,避免了仅利用一个最优模型导致最终结果不准确性的情况。

为便于本领域技术人员理解本申请的技术方案,下面将结合附图对本申请实施例提供的一种实现模型优化的方法进行说明。

参见图1,该图为本申请实施例提供的一种实现模型优化的方法的流程图,如图1所示,该方法可以包括:

s101:获取训练数据集合的数据特征值。

本实施例中,首先获取训练数据集合的数据特征值,其中,训练数据集合包括多条第一训练数据;数据特征值可以用于表征该训练数据集合的属性,例如,训练数据集合的数据量,数据类型(离散、连续)、数据缺失值数量(即训练数据集合中数据值为空值的个数)、离散数据熵、数据最大值、数据最小值等等。

为便于理解,例如,训练数据集合中包括10万条连续型第一训练数据,则该训练数据集合的数据量为10万、数据类型为1(例如0标识离散数据、1标识连续数据)、数据缺失值数量5、数据最大值为max、数据最小值为min。

另外,在获取训练数据集合的数据特征值之前,可以在数据库中构建大量的样本数据集合,每个样本数据集合可以包括多条样本数据,同理,每个样本数据集合也对应有各个数据特征值,例如,样本数据集合的数据量,数据类型(离散、连续)、数据缺失值数量、离散数据熵、连续数据最大值、最小值等等。

同时,每个样本数据集合均各自对应有至少一个目标算法,以及针对每个目标算法的各个超参数的优选值。例如,当目标算法为神经网络算法,该算法对应的超参数可以为卷积层数、残差层数、反卷积层数等等,针对每个超参数,每个样本数据集合均对应有各个超参数的优选值,如卷积层数为3、残差层数为5、反卷积层为3、池化层数为5。

当一个样本数据集合对应有多个目标算法时,针对每个目标算法均存在该目标算法对应的各个超参数的优选值。例如,样本数据集合1对应有目标算法1和目标算法2,则针对目标算法1,样本数据集合1对应有目标算法1中超参数1和超参数2的优选值分别为a和b;针对目标算法2,样本数据集合1对应有目标算法2中超参数3和超参数4的优选值分别为c和d。

类似的,每个样本数据集合均对应有目标算法的各个超参数的优选值,样本数据集合对应的目标算法的各个超参数的优选值是预先确定的。在实际应用中,样本数据集合对应的目标算法的各个超参数的优选值可以根据大量实验确定。

s102:计算训练数据集合的数据特征值与各个样本数据集合的数据特征值之间的距离,将距离小于第一阈值的样本数据集合确定为训练数据集合的近似样本数据集合。

本实施例中,计算训练数据集合的数据特征值与每个样本数据集合的数据特征之间的距离,并比较计算获得的距离与第一阈值的关系,当距离小于第一阈值时,表明训练数据集合与该样本数据集合相似,则将该距离对应的样本数据集合确定为训练数据集合的近似样本数据集合。当训练数据的数据特征值与多个样本数据集合的数据特征值之间的距离均小于第一阈值时,将多个样本数据集合确定为训练数据集合的近似样本数据集合。其中,第一阈值可以为某一固定值,也可以根据需要的近似样本数据集合的数量确定,例如需要5个近似样本数据集合,则将训练数据集合的数据特征值与每个样本数据集合的数据特征之间的距离进行排序,选取距离最近的前5个样本数据集合作为近似样本数据集合,则第一阈值可以为排序第6位的距离值。即第一阈值可以根据经验值或实际应用进行设定,本申请实施例对于第一阈值的设置不进行限定。

其中,在计算训练数据集合的数据特征值与样本数据集合的数据特征值之间的距离时,可以利用公式(1)获得:

其中,x为训练数据集合,y为某样本数据集合,xi为训练数据集合x中第i个数据特征值,yi为样本数据集合y中第i个数据特征值,d为训练数据集合x的数据特征值和样本数据集合y的数据特征值之间的距离。

利用上述公式,计算训练数据集合的数据特征值与每个样本数据集合的数据特征值之间的距离,并判断所获得距离是否小于第一阈值,如果小于,则将对应的样本数据集合确定为该训练数据集合的近似样本数据集合,执行s103。

s103:获取近似样本数据集合对应的目标算法的各个超参数的优选值。

本实施例中,获取每个近似样本数据集合对应的目标算法的各个超参数的优选值。由于近似样本数据集合是从多个样本数据集合中选择的,而每个样本数据集合均预先确定了该样本数据集合对应的目标算法中各个超参数的优选值,因此,近似样本数据集合对应的目标算法的各个超参数的优选值是预先确定的。在实际应用中,可以根据需要对哪些算法进行超参数调优来确定目标算法,以获得近似样本数据集合对应的这些目标算法的各个超参数的优选值。

在具体实现时,获取近似样本数据集合对应的目标算法的各个超参数的优选值,将其作为在超参数调优过程中,训练数据集合针对上述目标算法的超参数初始值,也就是说,可以将近似样本数据对应目标算法的各个超参数的优选值作为训练数据集合在进行超参数调优代入目标算法时各个超参数的初始值,实现超参数的初始化。

例如,近似样本数据集合对应目标算法1,且目标算法1的超参数1优选值为a、超参数2优选值为b,则在超参数调优时,训练数据集合针对目标算法1的超参数1的初始值为a、超参数2的初始值为b,从而实现对训练数据集合对应目标算法1中超参数的初始化。

s104:利用训练数据集合对目标算法的各个超参数由初始值开始进行调整,获得符合预设标准的目标算法的各个超参数的值。

通过上述操作,已确定训练数据集合对目标算法的各个超参数的初始值,本实施例中,为实现超参调优,可以利用训练数据集合对目标算法的各个超参数进行调整。在实现过程中,可以基于黑盒函数优化算法利用训练数据集合对目标算法的各个超参数由初始值开始进行调整,获得符合预设标准的目标算法的各个超参数的值。

在具体实现时,将训练数据集合中的数据代入目标算法,使得超参数从初始值开始进行调整,直至获得符合预设标准的目标算法的各个超参数的值,将其作为各个超参数的最优值。其中,目标算法的各个超参数的初始值为近似样本数据集合对应的目标算法的各个超参数的优选值,从而保证调优过程中是从普遍有效的初始值开始调整,保证超参数的稳定性。黑盒函数优化算法可以为贝叶斯优化算法等。预设标准可以根据黑盒函数优化算法的实际情况确定,例如模型某个评估指标的评估结果达到预设目标或者迭代次数达到预设数量等。

在实际应用时,基于黑盒函数优化算法利用训练数据集合可以同时对目标算法中的各个超参数进行调整,从而获得各个超参数的最优值。例如,将目标算法1中的超参数1和超参数2的初始值分别配置成a和b,利用训练数据集合同时对超参数1和超参数2进行调整,以获得超参数1和超参数2的最优值。

另外,也可以单独对某超参数进行调整,在调整的过程中,已进行调整的超参数代入最优值,未进行调整的其他超参数保持初始值不变,从而获得某超参数的最优值,依次进行直至获得每个超参数的最优值。例如,训练数据集合针对目标算法1的超参数1的初始值为a、超参数2的初始值为b,则基于黑盒函数优化算法利用训练数据集合对目标算法1中超参数1从a开始调整,直至获得目标算法1的超参数1的最优值a’,在对超参数1进行调整过程中,超参数2为初始值b保持不变;同理,在对超参数2进行从初始值b进行调整的过程中,超参数1为调整后的最优值a’,从而获得超参数2的最优值b’。

s105:生成目标算法对应的最优模型。

当确定了目标算法的各个超参数的最优值后,将各个超参数的最优值作为目标算法对应模型中各个超参数在实际应用时的值,从而将该目标算法对应的模型确定为最优模型。其中,目标算法对应的最优模型的各个超参数采用符合预设标准的目标算法的各个超参数的值。

例如,目标算法1的超参数1的最优值为a’、超参数2的最优值为b’,则将a’和b’代入目标算法1对应的模型得到最优模型。

本申请实施例首先获取训练数据集合的数据特征值,计算训练数据集合的数据特征值与每个样本数据集合的数据特征值之间的距离,并将距离小于预设距离的样本数据集合确定为该训练数据集合的近似样本数据集合,由于针对样本数据集合已预先确定了对应的目标算法的各个超参数的优选值,而近似样本数据集合是从多个样本数据集合中确定的且与训练数据集合近似,因此,获取近似样本数据集合对应的目标算法的各个超参数的优选值,将其作为训练数据集合对应目标算法的各个超参数的初始值进行超参数调优,从而确定了超参数调优过程中的超参数初始化值。另外,本申请实施例还可以对训练数据集合对应的目标算法的各个超参数的初始值进行调整,获得各个超参数的最优值,以完成超参数调优过程,从而获得目标算法对应的最优模型。

在实际应用中,当目标算法中的超参数数量较多时,在进行超参数调优时存在局限性,基于此,本申请实施例提供了一种减少所调整超参数数量的方法,从目标算法对应的多个超参数中选择符合条件的目标超参数,然后对目标算法的目标超参数进行调优,获得目标超参数的最优值,也就是说,对目标算法的超参数数量进行降维,仅对目标超参数进行调优。

为便于理解本申请实施例提供的减少超参数数量的方法,下面将结合附图对该方法进行说明。

参见图2,该图为本申请实施例提供的一种超参数降维的方法流程图,如图2所示,该方法可以包括:

s201:获取近似样本数据集合对应的目标算法的各个超参数的灵敏度值。

本实施例中,当通过s102确定出近似样本数据集合后,获取近似样本数据集合对应的目标算法的各个超参数的灵敏度值,也就是获得目标算法中每个超参数的灵敏度值,该灵敏度值用于表征该超参数对目标算法的影响程度。超参数对应的灵敏度值越高表示该超参数的变化对目标算法计算结果的变化影响越大;灵敏度值越低表示该超参数的变化对目标算法计算结果的变化影响越小。

每个样本数据集合均对应有目标算法的各个超参数的灵敏度值,样本数据集合对应的目标算法的各个超参数的灵敏度值是预先确定的。在实际应用中,样本数据集合对应的目标算法的各个超参数的灵敏度值也可以根据大量实验确定。每个样本数据集合均对应的目标算法的各个超参数的优选值和灵敏度值可以同时确定。这样,近似样本数据集合是从多个样本数据集合中确定的,则近似样本数据集合对应的目标算法的各个超参数的灵敏度值也是预先确定的。

s202:将灵敏度值超过第二阈值的超参数确定为目标算法的目标超参数。

在本实施例中,获得目标算法中各个超参数的灵敏度值后,比较每个超参数的灵敏度值与第二阈值的关系,当某超参数对应的灵敏度值超过第二阈值时,表明该超参数的变化对目标算法计算结果的变化影响较大,则将该超参数确定为目标算法的目标超参数,实现超参数的降维,减少后续调优的工作量。

可以理解的是,通过s102可以确定出多个近似样本数据集合,在比较某超参数的灵敏度值是否大于第二阈值时,可以先对多个近似样本数据集合对应的目标算法的各个超参数的灵敏度值进行平均,利用平均后的灵敏度值与第二阈值进行比较。例如,确定两个近似样本数据集合,近似样本数据集合1中目标算法1中超参数1的灵敏度为3.5、超参数2的灵敏度值为3.4;近似样本数据集合2中目标算法1中超参数1的灵敏度为3.9、超参数2的灵敏度值为3.2;则目标算法1中超参数1的平均灵敏度值为3.7、超参数2的平均灵敏度值为3.3,当第二阈值为3.5时,则超参数1确定为目标算法1的目标超参数。

其中,第二阈值可以为某一固定值,也可以根据需要的目标超参数的数量确定,例如需要5个目标超参数,则将目标算法的各个超参数的平均灵敏度值进行排序,选取平均灵敏度值最高的前5个超参数作为目标超参数,则第二阈值可以为排序第6位的平均灵敏度值。即第二阈值可以根据经验值或实际应用进行设定,本申请实施例对于第二阈值的设置不进行限定。

s203:利用训练数据集合对目标算法的各个目标超参数由初始值开始进行调整,设置目标算法的其他超参数为默认值,获得符合预设标准的目标算法的各个超参数的值。

通过上述操作,确定出目标算法的目标超参数后,利用训练数据集合对目标算法的各个目标超参数进行调优处理,在具体实现时,可以基于黑盒函数优化算法利用训练数据集合对目标算法的各个目标超参数由初始值开始进行调整,即将各个目标超参数初始化为近似样本数据集合对应的目标算法的各个目标超参数的优选值,并对每个目标超参数进行调整,而对于目标超参数外的其它超参数将其设置为默认值,不进行调整,以获得每个目标超参数的最优值。

在实际应用中,基于黑盒函数优化算法利用训练数据集合可以同时对目标算法中的各个目标超参数进行调整,从而获得各个目标超参数的最优值;也可以单独对某目标超参数进行调整,在调整的过程中,已进行调整的目标超参数代入最优值,未进行调整的其他目标超参数保持初始值不变,从而获得某目标超参数的最优值,依次进行直至获得每个目标超参数的最优值。

另外,当获得目标算法对应的目标超参数的最优值后,将目标算法对应的模型的各个目标超参数设置为最优值从而生成目标算法对应的最优模型。

通过本实施例提供的方法,当目标算法对应的超参数数量较多时,可以先对目标算法的超参数进行降维,将灵敏度值较高的超参数确定为目标超参数,然后对目标超参数进行调优处理,减少调优的超参数数量,提高优化效率,以获得对目标算法影响较大的目标超参数的最优值,进而生成目标算法对应的最优模型。

通过上述方法实施例可以确定目标算法对应的最优模型,当近似样本数据集合对应多个目标算法时,针对每个目标算法均进行图1或图2所述的方法,以生成每个目标算法对应的最优模型,从而确定出多个最优模型。

当确定出多个最优模型时,可以利用多个最优模型对待处理数据进行判断,获得多个模型数据结果,为确定待处理数据的最终结果,本申请实施例提供了两种确定待处理数据最终结果的方法,一种是,通过投票的方式从多个模型的输出结果中确定待处理数据的最终结果;另一种是,通过构建二级模型方式确定待处理数据的最终结果。

为便于理解上述两种方法,下面将结合附图对上述两种确定方法进行说明。

参见图3,该图为本申请实施例提供的一种确定待处理数据最终结果的方法流程图,如图3所示,该方法可以包括:

s301:将待处理数据分别输入每个目标算法的最优模型,获得每个最优模型输出的待处理数据的模型输出结果。

本实施例中,将待处理数据作为输入数据输入到每个目标算法对应的最优模型,获得每个最优模型针对待处理数据的模型输出结果。其中,待处理数据与训练数据集合中所包括的第一训练数据具有相同的属性特征。

例如,目标算法1的最优模型输出的待处理数据的模型输出结果为a、目标算法2的最优模型输出的待处理数据的模型输出结果为b、目标算法3的最优模型输出的待处理数据的模型输出结果为a。

在实际应用时,模型输出结果与目标算法对应的最优模型相关,例如,当最优模型为分类模型时,则模型输出结果为对待处理数据的分类结果;当最优模型为预测模型时,则模型输出结果为对待处理数据的预测结果。

s302:将多个待处理数据的模型输出结果进行投票,获得待处理数据的最终结果。

当获得针对待处理数据的多个模型输出结果时,通过投票方式获得待处理数据的最终结果,也就是,将获得票数最多的模型输出结果作为待处理数据的最终结果。

例如,由于目标算法1的最优模型的模型输出结果和目标算法3的最优模型的模型输出结果均为a,目标算法2的最优模型的模型数据结果为b,即a的票数为2,b的票数为1,则将a作为待处理数据的最终结果。

上述实施例描述了通过投票的方式确定待处理数据的最终结果,下面将说明通过构建二级模型的方法确定待处理数据最终结果的方法。

参见图4,该图为本申请实施例另一种确定待处理数据最终结果的方法流程图,如图4所示,该方法可以包括:

s401:将第二训练数据分别输入每个目标算法的最优模型,获得每个最优模型输出的所述第二训练数据的模型输出结果。

本实施例中,将第二训练数据作为输入数据分别输入到每个目标算法的最优模型中,以获得每个最优模型输出的针对第二训练数据的模型输出结果。其中,第二训练数据与第一训练数据具有相同的属性特征,且第二训练数据配置有实际结果的标签。

例如,目标算法1的最优模型输出的第二训练数据的模型输出结果为a、目标算法2的最优模型输出的第二训练数据的模型输出结果为b、目标算法3的最优模型输出的第二训练数据的模型输出结果为a。

s402:将携带有第一标签的第二训练数据以及多个携带有第二标签的第二训练数据作为第三训练数据,训练生成二级模型。

第一标签可以为第二训练数据的实际结果,第二标签可以为第二训练数据的模型输出结果中的一个,每个携带有第二标签的第二训练数据与每个最优模型输出的第二训练数据的模型输出结果一一对应。即当获得关于第二训练数据的多个模型输出结果时,将某一条第二训练数据携带有一个模型输出结果作为一条第三训练数据,将该第二训练数据携带又一个模型输出结果作为又一条第三训练数据,直到每个模型输出结果均包括在一条第三训练数据中,同时还可以将第二训练数据携带有实际结果也作为一条第三训练数据,以生成二级模型,也就是利用大量的第三训练数据训练生成二级模型,以确保二级模型输出结果的准确性。

例如,共有100条第二训练数据,三个最优模型,针对其中某一条第二训练数据可以生成四条第三训练数据:分别为携带有第一个最优模型的模型输出结果的第二训练数据、携带有第二个最优模型的模型输出结果的第二训练数据、携带有第三个最优模型的模型输出结果的第二训练数据以及携带有实际结果的第二训练数据,则一共可以生成400条第三训练数据。设第二训练数据的数量为n_train,最优模型的数量为m,则第三训练数据的数量为n_train*(m+1)。

利用第三训练数据,训练生成二级模型,从而使得二级模型能够准确输出输入数据的结果。

s403:将待处理数据分别输入每个目标算法的最优模型,获得每个最优模型输出的待处理数据的模型输出结果。

本实施例中,将待处理数据作为输入数据输入到每个目标算法对应的最优模型,获得每个最优模型针对待处理数据的模型输出结果。

s404:将多个携带有第三标签的待处理数据输入二级模型,获得待处理数据的最终结果。

通过s401和s402生成可以准确识别数据结果的二级模型后,将多个携带有第三标签的待处理数据输入至该二级模型中,以获得待处理数据的最终结果,从而保证二级模型输出的结果与任何单一模型的输出结果相比,准确性更高。其中,第三标签为待处理数据的模型输出结果中的一个,每个携带有第三标签的待处理数据与每个最优模型输出的待处理数据的模型输出结果一一对应。

类似的,例如,有三个最优模型,获得每个最优模型输出的待处理数据的模型输出结果,则输入二级模型的数据分别为:携带有第一个最优模型的模型输出结果的待处理数据、携带有第二个最优模型的模型输出结果的待处理数据、携带有第三个最优模型的模型输出结果的待处理数据,由二级模型可以得到待处理数据的最终结果。

通过上述实施例提供的确定待处理数据最终结果的方法,可以从多个最优模型的输出结果中确定最终结果,与现有技术中仅利用一个最优模型获得最终结果相比,提高了结果的准确性,且不需要抛弃其他的模型,得到的最优模型均得到了利用,提高了模型的使用率。

基于上述方法实施例,本申请还提供了实现模型优化的装置,下面将结合附图对该装置进行说明。

参见图5,该图为本申请实施例提供的一种实现模型优化的装置结构图,如图5所示,该装置可以包括:

第一获取单元501,用于获取训练数据集合的数据特征值,所述训练数据集合包括多条第一训练数据;

计算单元502,用于计算所述训练数据集合的数据特征值与各个样本数据集合的数据特征值之间的距离,将所述距离小于第一阈值的样本数据集合确定为所述训练数据集合的近似样本数据集合;

第二获取单元503,用于获取所述近似样本数据集合对应的目标算法的各个超参数的优选值,所述近似样本数据集合对应的目标算法的各个超参数的优选值是预先确定的;

优化单元504,用于利用所述训练数据集合对所述目标算法的各个超参数由初始值开始进行调整,获得符合预设标准的所述目标算法的各个超参数的值,所述目标算法的各个超参数的初始值为所述近似样本数据集合对应的目标算法的各个超参数的优选值;

第一生成单元505,用于生成所述目标算法对应的最优模型,所述目标算法对应的最优模型的各个超参数采用所述符合预设标准的所述目标算法的各个超参数的值。

在一种可能的实现方式中,所述装置还包括:

第三获取单元,用于获取所述近似样本数据集合对应的目标算法的各个超参数的灵敏度值,所述近似样本数据集合对应的目标算法的各个超参数的灵敏度值是预先确定的;

确定单元,用于将所述灵敏度值超过第二阈值的超参数确定为所述目标算法的目标超参数;

优化单元,具体用于利用所述训练数据集合对所述目标算法的各个目标超参数由初始值开始进行调整,设置所述目标算法的其他超参数为默认值,获得符合预设标准的所述目标算法的各个超参数的值,所述目标算法的各个目标超参数的初始值为所述近似样本数据集合对应的目标算法的各个目标超参数的优选值。

在一种可能的实现方式中,当所述目标算法为多个时,所述第一生成单元,具体用于生成各个所述目标算法的最优模型。

在一种可能的实现方式中,所述装置还包括:

第一输入单元,用于将待处理数据分别输入每个所述目标算法的最优模型,获得每个所述最优模型输出的所述待处理数据的模型输出结果;

第一获得单元,用于将多个所述待处理数据的模型输出结果进行投票,获得所述待处理数据的最终结果。

所述装置还包括:

第二输入单元,用于将第二训练数据分别输入每个所述目标算法的最优模型,获得每个所述最优模型输出的所述第二训练数据的模型输出结果;

第二生成单元,用于将携带有第一标签的第二训练数据以及多个携带有第二标签的第二训练数据作为第三训练数据,训练生成二级模型;所述第一标签为所述第二训练数据的实际结果,所述第二标签为所述第二训练数据的模型输出结果中的一个,每个携带有第二标签的第二训练数据与每个所述最优模型输出的所述第二训练数据的模型输出结果一一对应;

第二输入单元,还用于将待处理数据分别输入每个所述目标算法的最优模型,获得每个所述最优模型输出的所述待处理数据的模型输出结果;

第二获得单元,用于将多个携带有第三标签的待处理数据输入所述二级模型,获得所述待处理数据的最终结果,所述第三标签为所述待处理数据的模型输出结果中的一个,每个携带有第三标签的待处理数据与每个所述最优模型输出的所述待处理数据的模型输出结果一一对应。

需要说明的是,本实施例中各模块或单元的具体实现可以参见图1至图4所述方法的实现,本实施例在此不再赘述。

另外,本申请实施例还提供一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的实现模型优化的方法。

本申请实施例还提供一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的实现模型优化的方法。由上述实施例可知,本申请实施例首先获取训练数据集合的数据特征值,计算训练数据集合的数据特征值与每个样本数据集合的数据特征值之间的距离,并将距离小于预设距离的样本数据集合确定为该训练数据集合的近似样本数据集合,由于针对样本数据集合已预先确定了对应的目标算法的各个超参数的优选值,而近似样本数据集合是从多个样本数据集合中确定的且与训练数据集合近似,因此,获取近似样本数据集合对应的目标算法的各个超参数的优选值,将其作为训练数据集合对应目标算法的各个超参数的初始值进行超参数调优,从而确定了超参数调优过程中的超参数初始化值。另外,本申请实施例还可以对训练数据集合对应的目标算法的各个超参数的初始值进行调整,获得各个超参数的最优值,以完成超参数调优过程,从而获得目标算法对应的最优模型。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1