分类模型的训练方法、预测方法及装置
技术领域
本公开涉及机器学习技术领域,具体地,涉及分类模型的训练方法、预测方法及装置。
背景技术
对于样本分类、交易检测等业务,可以利用经过机器学习训练好的模型来进行处理。以样本分类为例,可以利用单个模型来对样本进行预测,进而确定样本的分类。还可以基于集成学习的方式训练出多个子模型,由该多个子模型组成样本分类模型,并利用该样本分类模型来对样本进行预测并确定样本的分类。
在利用由多个子模型组成的样本分类模型对样本进行预测时,每一个子模型均需对样本进行预测,并输出相应的预测结果,再将所有的预测结果进行平均,得到平均结果,该平均结果即为该样本分类模型的最终预测结果。
上述由多个子模型组成的样本分类模型中,仅是简单的将该多个子模型的结果进行平均。然而,各个子模型的预测效果有差异,这样简单的平均会降低样本分类模型的预测效果。尤其是,当样本分类模型所包括的多个子模型中检测效果较差的子模型较多的情况下,则样本分类模型所得到的预测结果中综合了较多的效果较差的预测结果,这样导致样本分类模型输出的最终预测结果的效果较差。
发明内容
鉴于上述,本公开提供了一种分类模型的训练方法、预测方法及装置。利用该分类模型的训练方法、预测方法及装置,通过基于分类子模型的预测效果来确定样本分类模型的分类子模型组成以及对应的预测加权因子,可以使得分类子模型被分配合适的预测加权因子来提升样本分类模型的整体预测效果。
根据本公开的一个方面,提供了一种用于训练分类模型的方法,包括:利用训练样本集来训练出第一数目个第一分类子模型;使用所述第一数目个第一分类子模型来分别对测试样本集中的每个测试样本进行预测,以得到每个测试样本在各个第一分类子模型下的分类预测值;以及基于所述每个测试样本在各个第一分类子模型下的分类预测值,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型以及对应的预测加权因子。
可选地,在上述方面的一个示例中,基于所述每个测试样本在各个第一分类子模型下的分类预测值,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型以及对应的预测加权因子包括:执行下述循环过程,直到满足循环结束条件:针对当前模型加权因子池中的每个模型加权因子组,基于所述测试样本集中的每个测试样本在各个第一分类子模型下的分类预测值以及该模型加权因子组中对应的模型加权因子,确定候选样本分类模型在该模型加权因子组下的模型性能评估值,所述候选样本分类模型由所述第一数目个第一分类子模型组成,每个模型加权因子组包括所述第一数目个模型加权因子,每个模型加权因子对应于一个第一分类子模型,以及每个模型加权因子组中的模型加权因子之和等于1;在未满足所述循环结束条件时,使用遗传算法来对所述当前模型加权因子池进行更新,以得到更新后的模型加权因子池,其中,所述更新后的模型加权因子池被提供来作为下一循环过程的当前模型加权因子池;基于所确定出的各个模型加权因子组下的模型性能评估值,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型以及对应的预测加权因子。
可选地,在上述方面的一个示例中,所述候选样本分类模型的模型性能评估值确定过程是针对所述当前模型加权因子池中的每个未处理模型加权因子组执行的。
可选地,在上述方面的一个示例中,所述循环结束条件为以下条件中的一种:达到预定循环次数;所述当前模型加权因子池中的模型加权因子组的数量达到预设数量。
可选地,在上述方面的一个示例中,基于所确定出的各个模型加权因子组下的模型性能评估值,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型以及对应的预测加权因子包括:基于所确定出的各个模型加权因子组下的模型性能评估值,从所述当前模型加权因子池中选择模型性能评估值最佳的模型加权因子组;以及将所述第一数目个第一分类子模型确定为所述样本分类模型的第二分类子模型,并且将所选择的模型加权因子组的模型加权因子确定为对应的第二分类子模型的模型加权因子。
可选地,在上述方面的一个示例中,基于所确定出的各个模型加权因子组下的模型性能评估值,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型以及对应的预测加权因子包括:基于所确定出的各个模型加权因子组下的模型性能评估值,从所述当前模型加权因子池中选择模型性能评估值最佳的模型加权因子组;基于所选择的模型加权因子组中的各个模型加权因子,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型;以及对被确定为第二分类子模型的各个第一分类子模型的模型加权因子进行归一化处理,以得到对应的第二分类子模型的模型加权因子。
可选地,在上述方面的一个示例中,基于所选择的模型加权因子组中的各个模型加权因子,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型包括:从所述第一数目个第一分类子模型中选取模型加权因子大于预定阈值的第一分类子模型作为所述第二分类子模型。
可选地,在上述方面的一个示例中,所述遗传算法包括变异算法和交叉算法。
根据本公开的另一方面,还提供一种用于使用分类模型来进行分类预测的方法,所述样本分类模型包括多个第二分类子模型,每个第二分类子模型具有对应的模型加权因子,所述方法包括:使用所述多个第二分类子模型来对待分类样本进行预测,以得到所述待分类样本在各个第二分类子模型下的分类预测值;基于所得到的各个第二分类子模型下的分类预测值以及对应的模型加权因子,确定所述待分类样本在所述样本分类模型下的分类预测值,其中,所述样本分类模型是根据上述任一所述的用于训练样本分类模型的方法训练出的。
根据本公开的另一方面,还提供一种用于训练分类模型的装置,包括:模型训练单元被配置为利用训练样本集来训练出第一数目个第一分类子模型;模型预测单元被配置为使用所述第一数目个第一分类子模型来分别对测试样本集中的每个测试样本进行预测,以得到每个测试样本在各个第一分类子模型下的分类预测值;以及模型确定单元被配置为基于所述每个测试样本在各个第一分类子模型下的分类预测值,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型以及对应的预测加权因子。
可选地,在上述方面的一个示例中,所述模型确定单元包括:模型性能评估模块被配置为针对当前模型加权因子池中的每个模型加权因子组,基于所述测试样本集中的每个测试样本在各个第一分类子模型下的分类预测值以及该模型加权因子组中对应的模型加权因子,确定候选样本分类模型在该模型加权因子组下的模型性能评估值,所述候选样本分类模型由所述第一数目个第一分类子模型组成,每个模型加权因子组包括所述第一数目个模型加权因子,每个模型加权因子对应于一个第一分类子模型,以及每个模型加权因子组中的模型加权因子之和等于1;加权因子更新模块被配置为在不满足循环结束条件时使用遗传算法来对所述当前模型加权因子池进行更新,以得到更新后的模型加权因子池,其中,所述更新后的模型加权因子池被提供来作为下一循环过程的当前模型加权因子池;模型确定模块被配置为在满足循环结束条件时基于所确定出的各个模型加权因子组下的模型性能评估值,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型以及对应的预测加权因子,其中,所述模型性能评估模块和所述加权因子更新模块被配置为执行循环操作,直到满足所述循环结束条件。
可选地,在上述方面的一个示例中,所述模型性能评估模块被配置为针对所述当前模型加权因子池中的每个未处理模型加权因子组执行模型性能评估值确定过程。
可选地,在上述方面的一个示例中,所述模型确定模块包括:模型加权因子组选择子模块被配置为基于所确定出的各个模型加权因子组下的模型性能评估值,从所述当前模型加权因子池中选择模型性能评估值最佳的模型加权因子组;第一子模型组成确定子模块被配置为将所述第一数目个第一分类子模型作为所述样本分类模型的第二分类子模型;以及第一模型加权因子确定子模块被配置为并且将所选择的模型加权因子组的模型加权因子确定为对应的第二分类子模型的模型加权因子。
可选地,在上述方面的一个示例中,所述模型确定模块包括:模型加权因子组选择子模块被配置为基于所确定出的各个模型加权因子组下的模型性能评估值,从所述当前模型加权因子池中选择模型性能评估值最佳的模型加权因子组;第二子模型组成确定子模块被配置为基于所选择的模型加权因子组中的各个模型加权因子,从所述第一数目个第一分类子模型中确定出组成所述样本分类模型的第二分类子模型;以及第二模型加权因子确定子模块被配置为对被确定为第二分类子模型的各个第一分类子模型的模型加权因子进行归一化处理,以得到对应的第二分类子模型的模型加权因子。
可选地,在上述方面的一个示例中,所述第二子模型组成确定子模块被配置为:从所述第一数目个第一分类子模型中选取模型加权因子大于预定阈值的第一分类子模型作为所述第二分类子模型。
根据本公开的另一方面,还提供一种用于使用分类模型来进行分类预测的装置,所述样本分类模型包括多个第二分类子模型,每个第二分类子模型具有对应的模型加权因子,所述装置包括:预测单元被配置为使用所述多个第二分类子模型来对待分类样本进行预测,以得到所述待分类样本在各个第二分类子模型下的分类预测值;加权处理单元被配置为基于所得到的各个第二分类子模型下的分类预测值以及对应的模型加权因子,确定所述待分类样本在所述样本分类模型下的分类预测值,其中,所述样本分类模型是根据如上任一所述的用于训练样本分类模型的方法训练出的。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的用于训练分类模型的方法。
根据本公开的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的用于训练分类模型的方法。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的用于使用分类模型来进行分类预测的方法。
根据本公开的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的用于使用分类模型来进行分类预测的方法。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:
图1示出了根据现有技术的样本分类模型进行预测的过程示意图;
图2示出了根据本公开的实施例的用于训练分类模型的方法的流程图;
图3示出了根据本公开的实施例的样本分类模型的一个示例的结构示意图;
图4示出了根据本公开的实施例的基于分类预测值来确定样本分类模型的过程的一个示例的流程图;
图5示出了本公开的实施例的模型加权因子池的一个示例的示意图;
图6示出了本公开的实施例的利用变异算法更新后的模型加权因子池的一个示例的示意图;
图7示出了本公开的实施例的利用交叉算法更新后的模型加权因子池的一个示例的示意图;
图8示出了根据本公开的实施例的基于模型性能评估值来确定样本分类模型的过程的一个示例的流程图;
图9示出了根据本公开的实施例的基于模型性能评估值来确定样本分类模型的过程的一个示例的流程图;
图10示出了根据本公开的实施例的用于使用分类模型来进行分类预测的方法的流程图;
图11示出了根据本公开的实施例的用于训练分类模型的装置的方框图;
图12示出了根据本公开的实施例的模型确定单元的一个示例的方框图;
图13示出了根据本公开的实施例的模型确定模块的一个示例的方框图;
图14示出了根据本公开的实施例的模型确定模块的另一示例的方框图;
图15示出了根据本公开的实施例的用于使用分类模型来进行分类预测的装置的方框图;
图16示出了根据本公开的实施例的用于训练分类模型的方法的计算设备的方框图;和
图17示出了根据本公开的实施例的用于使用分类模型来进行分类预测的方法的计算设备的方框图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
如本文中使用的,术语“监督学习”是指给定的数据包含大量有标记样本,基于如此的训练数据构建模型,来对测试样本进行预测。其中样本表示为描述其特征的特征向量,所有样本均为有标记样本,附有表示其属性的标记信息(如标记为正样本或负样本)。监督学习为机器学习的一个研究领域,
如本文中使用的,术语“集成学习”是指通过将多个学习器进行结合,以期得到比单个学习期显著优越的繁华性能。集成学习为机器学习的一个研究领域,
如本文中使用的,术语“遗传算法”是指起源于对生物系统所进行的计算机模拟研究,是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种高效、并行、全局搜索的方法,能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最佳解。
如本文中使用的,术语“异常检测”是指通过对数据样本的分析,去发现数据中异常的样本。在诸如非法账户检测、欺诈交易检测等问题上有着广泛的应用。异常检测是机器学习的一个重要问题。
图1示出了根据现有技术的样本分类模型进行预测的过程示意图。如图1所示,样本分类模型由n个经过样本训练的子模型组成,即样本分类模型包括子模型1、…子模型i、…以及子模型n,n为正整数,i为大于1小于n的正整数。当利用该样本分类模型对一样本数据进行分类处理时,则将该样本数据输入至样本分类模型来确定该样本数据所属的分类。
具体地,在使用样本分类模型对样本数据进行分类预测时,该样本数据会被分别输入至每个子模型,每个子模型会输出针对该样本数据的分类预测值,由此得到n个分类预测值:分类预测值1、…分类预测值i、…以及分类预测值n。然后,对所得到的n个分类预测值进行平均计算,以得到该n个分类预测值的平均分类预测值。
所得到的平均分类预测值即为样本分类模型对样本数据的分类预测值,由此得到该样本数据的分类预测结果。
按照上述样本分类预测方案,如果该n个子模型中存在部分子模型的预测效果较差,则该部分子模型的较差预测效果的不利影响会被传导到样本分类模型的分类预测结果,从而使得样本分类模型的预测效果变差。
为了解决上述问题,本公开提供了样本分类模型的训练方法、预测方法及装置,在针对样本分类模型的训练方法中,在训练出第一数目个第一分类子模型后,每一个第一分类子模型对测试样本进行测试,得到每个测试样本在各个第一分类子模型下的分类预测值,基于该分类预测值便可以确定出各第一分类子模型的预测效果,则基于分类预测值可以从第一分类子模型中确定出组成样本分类模型的第二分类子模型和对应的预测加权因子。每一个第二分类子模型对应一个预测加权因子,每一个预测加权因子反映出所对应的第二分类子模型的预测效果。这样,通过基于分类子模型的预测效果来确定样本分类模型的分类子模型组成以及对应的预测加权因子,可以使得分类子模型被分配合适的预测加权因子来提升样本分类模型的整体预测效果。
下面将结合附图来详细描述根据本公开实施例的样本分类模型的训练方法、预测方法及装置。
图2示出了根据本公开的第一实施例的用于训练分类模型的方法的流程图。
如图2所示,在块210,利用训练样本集来训练出第一数目个第一分类子模型。
在本公开中,训练样本集中的每一样本对应有标签。例如,当所针对的样本分类是二分类时,样本的标签可以包括0和1,其中,标签0对应的样本为负样本,标签1对应的样本为正样本。
在本公开的一个示例中,第一数目可以是根据经验来设定,或者可以根据样本分类模型的应用场景来设定。例如,第一数目可以为10或者其它合适的数值。
在本公开中,第一分类子模型可以采用神经网络、随机森林、GBDT(GradientBoosting Decision Tree,梯度提升决策树)等模型中的至少一种。在一个示例中,第一分类子模型所采用的模型的组合可以是预先规定的,或者可以根据样本分类模型的应用场景来选择。
在训练出第一数目个第一分类子模型之后,在块220,使用第一数目个第一分类子模型来分别对测试样本集中的每个测试样本进行预测,以得到每个测试样本在各个第一分类子模型下的分类预测值。在本公开中,分类预测值例如可以是0到1之间的数值。
例如,测试样本集中包括有a个测试样本,训练出b个第一分类子模型,a和b均为正整数。针对测试样本集中的测试样本1,将该测试样本1分别输入至每个第一分类子模型,每个第一分类子模型会输出针对该测试样本1的分类预测值,这样可以得到针对测试样本1的b个分类预测值。第一分类子模型对其他的测试样本的预测过程可以参照上述测试样本1的预测过程。
在得到每个测试样本在各个第一分类子模型下的分类预测值后,在块230,基于每个测试样本在各个第一分类子模型下的分类预测值,从第一数目个第一分类子模型中确定出组成样本分类模型的第二分类子模型以及对应的预测加权因子。
在根据本公开的实施例的样本分类模型中,每个第二分类子模型被分配一个预测加权因子,预测加权因子用于反映出所对应的第二分类模型的预测效果。其中,预测加权因子可以为0到1之间的数值,并且分类子模型的预测效果越好,所对应的预测加权因子越大。
图3示出了根据本公开的实施例的样本分类模型的一个示例的结构示意图。如图3所示,经过训练的样本分类模型可以包括多个第二分类子模型,分别为第二分类子模型1、…、第二分类子模型i,这里的i为大于1的正整数。每个第二分类子模型均有对应的模型加权因子,第二分类子模型1对应模型加权因子1,第二分类子模型i对应模型加权因子i。
关于如何基于每个测试样本在各个第一分类子模型下的分类预测值确定出组成样本分类模型的第二分类子模型以及对应的预测加权因子,将在下面参考图4到图9详细描述。
根据本公开的实施例的样本分类模型训练方法,可以基于分类子模型的预测效果来确定样本分类模型的分类子模型组成以及对应的预测加权因子,并且针对预测效果较好的分类子模块分配较大的预测加权因子,从而使得预测效果较好的分类子模型在样本分类预测时提供更多的贡献,由此提高样本分类模型的预测效果。
图4示出了根据本公开的实施例的基于分类预测值来确定样本分类模型的过程的一个示例流程图。
在块220中得到每个测试样本在各个第一分类子模型下的分类预测值后,在块231,执行模型加权因子初始化处理,以得到初始模型加权因子池。其中,初始模型加权因子池包括至少一个初始模型加权因子组,其中,模型加权因子组中所包括的模型加权因子的数目与所训练出的分类子模型的数目相同。即,每个模型加权因子组包括第一数目个模型加权因子,并且,模型加权因子组中的模型加权因子与第一分类子模型是一一对应的关系,即每个模型加权因子对应于一个第一分类子模型。每一个模型加权因子组中的模型加权因子之和等于1。
图5示出了本公开的实施例的模型加权因子池的一个示例的示意图。如图5所示,模型加权因子池中包括有m个模型加权因子组,每一个模型加权因子组中包括有n个模型加权因子(假设样本分类模型包括n个分类子模型),例如,模型加权因子组1中所包含的模型加权因子为:w11、w12、…、w1i、…和w1n。n为第一数目,i为大于1且小于n的正整数,w1i表示模型加权因子组1中的第i个模型加权因子,即为第i个第一分类子模型的模型加权因子。另外,模型加权因子组1中的模型加权因子满足:w11+w12+…+w1i+…+w1n=1。
在如上完成模型加权因子池的初始化后,循环执行块232到块234的操作,直到满足循环结束条件。
在块232,针对当前模型加权因子池中的每个模型加权因子组,基于测试样本集中的每个测试样本在各个第一分类子模型下的分类预测值以及该模型加权因子组中对应的模型加权因子,确定候选样本分类模型在该模型加权因子组下的模型性能评估值。这里,候选样本分类模型由所训练出的第一数目个第一分类子模型组成,所确定出的模型性能评估值是针对该候选样本分类模型的预测效果的评估值。在第一次执行循环过程时,当前模型加权因子池为初始模型加权因子池。
具体地,假设所训练出的第一分类子模型包括n个第一分类子模型,测试样本集包括N个测试样本,并且针对第k个测试样本,在该n个第一分类子模型下的分类预测值为:表示第k个测试样本在第i个第一分类子模型下的分类预测值。对于模型加权因子组为:w1,w2,…,wi,…,wn,可以按照以下公式计算针对第k个测试样本在该模型加权因子组下的分类预测值Sk:
针对测试样本集中的每个测试样本,按照上述方式计算出对应的分类预测值,由此可以得到测试样本集在该模型加权因子组下的分类预测值:S1、S2、…、Sk、…、SN。然后,基于各测试样本的分类预测值,得到候选样本分类模型在该模型加权因子组下的模型性能评估值,即,针对测试样本集的整体模型性能评估值。例如,在得到各个测试样本的分类预测值,可以基于各种适合的评估指标来对样本分类模型进行模型性能评估。在本公开中,评估指标的示例可以包括但不限于AUC(area under the curve,ROC曲线下的面积)、F1-Score(F1分数)、Precision(准确率)或Recall(召回率)。一旦评估指标选定,则可以按照对应的评估指标计算公式来得到候选样本分类模型的模型性能评估值。在评估指标选定的情况下,如何基于各个测试样本的分类预测值来计算出样本分类模型的模型性能评估值,在本领域中是公知的,在此不再详细描述。
在如上针对当前模型加权因子池中的每个模型加权因子组,确定出候选样本分类模型的模型性能评估值后,在块233,判断是否满足循环结束条件。如果判断出不满足循环结束条件,则流程进行块234。如果判断出满足循环结束条件,则流程进行块235。
在本公开的一个示例中,循环结束条件可以是达到预定循环次数。在本公开的另一示例中,循环结束条件还可以是当前模型加权因子池中的模型加权因子组的数量达到预设数量。
在不满足循环结束条件时,在块234,使用遗传算法来对当前模型加权因子池进行更新,以得到更新后的模型加权因子池,该更新后的模型加权因子池被提供来作为下一循环过程的当前模型加权因子池。然后,流程返回至块232,执行下一循环过程。
在本公开的一个示例中,遗传算法可以包括变异算法、交叉算法或者其他适合的遗传算法。此外,在每一轮循环中,对当前模型加权因子池进行更新的遗传算法可以是从变异算法和交叉算法中随机选择的一种算法,或者可以是变异算法和交叉算法两种算法。
在一个示例中,可以预先设置变异算法的数值范围为数值范围a,交叉算法的数值范围为数值范围b,在需要对当前模型加权因子池进行更新时,随机生成一个数值,并判断该数值所属的数值范围,若该数值属于数值范围a,则确定使用变异算法对当前模型加权因子池进行更新,若该数值属于数值范围b,则确定使用交叉算法对当前模型加权因子池进行更新。
针对变异算法,可以从当前模型加权因子池中随机选取一个模型加权因子组作为待计算模型加权因子组,并将待计算模型加权因子组中的模型加权因子按大小顺序排列,从最大的指定数量个模型加权因子中随机选择至少一个模型加权因子,作为待变异模型加权因子。将待变异模型加权因子替换成其他数值,将替换后的模型加权因子组作为新增模型加权因子组,并添加至模型加权因子池中。
例如,当前模型加权因子池为图5所示的模型加权因子池,随机选取的待计算模型加权因子组为模型加权因子组1,模型加权因子组1中的模型加权因子按照从大到小的顺序排列为:w11、w12、w13、…、w1i、…、w1n。从最大的三个模型加权因子中随机选择w12作为待变异模型加权因子,并将w12替换为r2,则所得到的新增模型加权因子组所包括的模型加权因子为:w11、r2、…、w1i、…、w1n。将新增模型加权因子组添加至当前模型加权因子池,并进行更新,所得到的更新后的模型加权因子池为图6所示的模型加权因子池。
针对交叉算法,可以从当前模型加权因子池所包括的模型性能评估值最大的指定数量的模型加权因子组中随机选取两个模型加权因子组,作为待计算模型加权因子组。再从两个待计算模型加权因子组所包括的对应于同一第一分类子模型的模型加权因子中,随机选择一个模型加权因子,作为新增模型加权因子组中对应于该第一分类子模型的模型加权因子。这样,两个待计算模型加权因子组中的所有模型加权因子都经过交叉选择之后,选出的第一数目个模型加权因子便组成了新增模型加权因子组。
例如,当前模型加权因子池为图5所示的模型加权因子池,m个模型加权因子组中模型性能评估值最大的2个模型加权因子组为模型加权因子组1和模型加权因子组2,则将模型加权因子组1和模型加权因子组2确定为待计算模型加权因子组。从w11和w21中随机选择w21,从w12和w22中随机选择w12,从w1i和w2i中随机选择w2i,从w1n和w2n中随机选择w1n,其他相对应的两个模型加权因子之间也经过随机选择产生一个模型加权因子。最后所得到的新增模型加权因子组包括的模型加权因子为:w21、w12、…、w2i、…、w1n。将新增模型加权因子组添加至当前模型加权因子池,并进行更新,所得到的更新后的模型加权因子池为图7所示的模型加权因子池。
在满足循环结束条件时,在块235,基于所确定出的各个模型加权因子组下的模型性能评估值,从第一数目个第一分类子模型中确定出组成样本分类模型的第二分类子模型以及对应的预测加权因子,由此得到样本分类模型。
图8示出了根据本公开的实施例的基于模型性能评估值来确定样本分类模型的过程的一个示例的的流程图。
如图8所示,在块233判断为满足循环结束条件后,在块810,基于所确定出的各个模型加权因子组下的模型性能评估值,从当前模型加权因子池中选择模型性能评估值最佳的模型加权因子组。
接着,在块820,将第一数目个第一分类子模型确定为样本分类模型的第二分类子模型。
在块830,将所选择的模型加权因子组的模型加权因子确定为对应的第二分类子模型的模型加权因子。
在该示例中,分类子模型可以被分配合适的预测加权因子来使得样本分类模型的整体预测效果最佳,由此提升样本分类模型的预测效率。其中,分类子模型的预测效果越好,则所分配的预测加权因子越大。
图9示出了根据本公开的实施例的基于模型性能评估值来确定样本分类模型的过程的一个示例的流程图。
如图9所示,在块233判断为满足循环结束条件后,在块910,基于所确定出的各个模型加权因子组下的模型性能评估值,从当前模型加权因子池中选择模型性能评估值最佳的模型加权因子组。
在块920,基于所选择的模型加权因子组中的各个模型加权因子,从第一数目个第一分类子模型中确定出组成样本分类模型的第二分类子模型。例如,在本公开的一个示例中,基于所选择的模型加权因子组中的各个模型加权因子,从第一数目个第一分类子模型中确定出组成样本分类模型的第二分类子模型可以是从第一数目个第一分类子模型中选取模型加权因子大于预定阈值的第一分类子模型作为第二分类子模型。预定阈值可以是预先规定的。例如,预定阈值可以设置为1/n,该n为第一数目。或者,在本公开的另一示例中,基于所选择的模型加权因子组中的各个模型加权因子,从第一数目个第一分类子模型中确定出组成样本分类模型的第二分类子模型可以是从第一数目个第一分类子模型中选择模型加权因子最大的前R个第一分类子模型。
在块930,对被确定为第二分类子模型的各个第一分类子模型的模型加权因子进行归一化处理,以得到对应的第二分类子模型的模型加权因子。
例如,可以按照以下公式,对被确定为第二分类子模型的各个第一分类子模型的模型加权因子进行归一化处理:
其中,μ表示被确定为第二分类子模型的第一分类子模型的数量,μ不大于第一数目。w′i为被确定出的μ个第一分类子模型中的第i个归一化处理之前的模型加权因子,w″i为被确定出的μ个第一分类子模型中的第i个归一化处理之后的模型加权因子。经过归一化处理后,第二分类子模型的模型加权因子之和等于1。
在该示例中,样本分类模型不包括预测效果较差的第一分类子模型,从而可以消除预测效果较差的分类子模型对样本分类模型的预测效率的不利影响,由此提高了样本分类模型的预测准确率。
此外,要说明的是,在图3中示出的样本分类模型训练方法的实施例中,在每轮循环中,针对当前模型加权因子池中的所有模型加权因子组来确定候选样本分类模型的模型性能评估值。由于当前模型加权因子池是通过使用遗传算法来对上一模型加权因子池进行更新后得到的,当前模型加权因子池中可以包括上一模型加权因子池中的模型加权因子组,而针对上一模型加权因子池中的模型加权因子组,在上一循环中已经确定出候选样本分类模型的模型性能评估值。由此,在本公开的另一实施例中,在当前循环中,可以仅仅针对当前模型加权因子池中的新增加的模型加权因子组(对应于权利要求中的“未处理模型加权因子组”)来执行候选样本分类模型的模型性能评估过程。
图10示出了根据本公开的实施例的用于使用分类模型来进行分类预测的方法的流程图。
如图10所示,在块1010,使用样本分类模型中的各个第二分类子模型来对待分类样本进行预测,以得到待分类样本在各个第二分类子模型下的分类预测值。这里,样本分类模型是按照如上参照图2到图9描述的样本分类模型训练方法训练出。样本分类模型包括多个第二分类子模型,并且每个子二分类子模型具有对应的模型加权因子。
在块1020,基于所得到的各个第二分类子模型下的分类预测值以及对应的模型加权因子,确定待分类样本在样本分类模型下的分类预测值。
在本公开的一个示例中,可以按照以下公式,确定待分类样本在样本分类模型下的分类预测值:
其中,P为样本分类模型下的分类预测值,q为第二分类子模型的数量,wi为第i个第二分类子模型对应的模型加权因子,pi为待分类样本在第i个第二分类子模型下的分类预测值。
图11示出了根据本公开的实施例的用于训练分类模型的装置(在下文中简称为模型训练装置)1100的方框图。如图11所示,模型训练装置1100包括模型训练单元1110,模型预测单元1120和模型确定单元1130。
模型训练单元1110被配置为利用训练样本集来训练出第一数目个第一分类子模型。模型训练单元1110所执行的操作可以参考上面参照图2描述的块210的操作。
模型预测单元1120被配置为使用第一数目个第一分类子模型来分别对测试样本集中的每个测试样本进行预测,以得到每个测试样本在各个第一分类子模型下的分类预测值。模型预测单元1120所执行的操作可以参考上面参照图2描述的块220的操作。
模型确定单元1130被配置为基于每个测试样本在各个第一分类子模型下的分类预测值,从第一数目个第一分类子模型中确定出组成样本分类模型的第二分类子模型以及对应的预测加权因子。模型确定单元1130所执行的操作可以参考上面参照图2描述的块230的操作。
图12示出了根据本公开的实施例的模型确定单元的一个示例的方框图。
如图12所示,模型确定单元1130可以包括模型性能评估模块1131,加权因子更新模块1133和模型确定模块1135。
模型性能评估模块1131被配置为针对当前模型加权因子池中的每个模型加权因子组,基于测试样本集中的每个测试样本在各个第一分类子模型下的预测值以及该模型加权因子组中对应的模型加权因子,确定候选样本分类模型在该模型加权因子组下的模型性能评估值,候选样本分类模型由第一数目个第一分类子模型组成,每个模型加权因子组包括第一数目个模型加权因子,每个模型加权因子对应于一个第一分类子模型,以及每个模型加权因子组中的模型加权因子之和等于1。模型性能评估模块1131所执行的操作可以参考上面参照图3描述的块232的操作。在本公开的一个示例中,模型性能评估模块1210也可以被配置为针对当前模型加权因子池中的每个未处理模型加权因子组执行模型性能评估值确定过程。
加权因子更新模块1133被配置为在不满足循环结束条件时,使用遗传算法来对当前模型加权因子池进行更新,以得到更新后的模型加权因子池,在本公开中,更新后的模型加权因子池被提供来作为下一循环过程的当前模型加权因子池。在本公开的一个示例中,遗传算法包括变异算法和交叉算法。加权因子更新模块1133所执行的操作可以参考上面参照图3描述的块234的操作。
模型确定模块1135被配置为在满足循环结束条件时基于所确定出的各个模型加权因子组下的模型性能评估值,从第一数目个第一分类子模型中确定出组成样本分类模型的第二分类子模型以及对应的预测加权因子。在本公开中,模型性能评估模块和加权因子更新模块被配置为执行循环操作,直到满足循环结束条件。模型确定模块1135所执行的操作可以参考上面参照图3描述的块235的操作。
在本公开的一个示例中,模型确定单元1130还可以包括循环结束条件判断模块,该循环结束条件判断模块被配置为判断是否满足循环结束条件。在本公开的一个示例中,循环结束条件为以下条件中的一种:达到预定循环次数;当前模型加权因子池中的模型加权因子组的数量达到预设数量。循环结束条件判断模块所执行的操作可以参考上面参照图3描述的块233的操作。
图13示出了根据本公开的根据本公开的实施例的模型确定模块的一个示例的方框图。如图13所示,模型确定模块1135包括模型加权因子组选择子模块1137、第一子模型组成确定子模块1138和第一模型加权因子确定子模块1139。
模型加权因子组选择子模块1137被配置为基于所确定出的各个模型加权因子组下的模型性能评估值,从当前模型加权因子池中选择模型性能评估值最佳的模型加权因子组。模型加权因子组选择子模块1137所执行的操作可以参考上面参照图8描述的块810的操作。
第一子模型组成确定子模块1138被配置为将第一数目个第一分类子模型确定为样本分类模型的第二分类子模型。第一子模型组成确定子模块1138所执行的操作可以参考上面参照图8描述的块820的操作。
第一模型加权因子确定子模块1139被配置为将所选择的模型加权因子组的模型加权因子确定为对应的第二分类子模型的模型加权因子。第一模型加权因子确定子模块1139所执行的操作可以参考上面参照图8描述的块830的操作。
图14示出了根据本公开的根据本公开的实施例的模型确定模块的另一示例的方框图。如图14所示,模型确定模块1135包括模型加权因子组选择子模块1137’、第二子模型组成确定子模块1138’和第二模型加权因子确定子模块1139’。
模型加权因子组选择子模块1137’被配置为基于所确定出的各个模型加权因子组下的模型性能评估值,从当前模型加权因子池中选择模型性能评估值最佳的模型加权因子组。模型加权因子组选择子模块1137’所执行的操作可以参考上面参照图9描述的块910的操作。
第二子模型组成确定子模块1138’被配置为基于所选择的模型加权因子组中的各个模型加权因子,从第一数目个第一分类子模型中确定出组成样本分类模型的第二分类子模型。第二子模型组成确定子模块1138’所执行的操作可以参考上面参照图9描述的块920的操作。在本公开的一个示例中,第二子模型组成确定子模块1138’被配置为被配置为从第一数目个第一分类子模型中选取模型加权因子大于预定阈值的第一分类子模型作为第二分类子模型。
第二模型加权因子确定子模块1139’被配置为对被确定为第二分类子模型的各个第一分类子模型的模型加权因子进行归一化处理,以得到对应的第二分类子模型的模型加权因子。第二模型加权因子确定子模块1139’所执行的操作可以参考上面参照图9描述的块930的操作。
图15示出了根据本公开的实施例的用于使用分类模型来进行分类预测的装置(在下文中简称为模型预测装置)1500的方框图。如图15所示,模型预测装置1500可以包括预测单元1510和加权处理单元1520。
预测单元1510被配置为使用样本分类模型中的各个第二分类子模型来对待分类样本进行预测,以得到待分类样本在各个第二分类子模型下的分类预测值。预测单元1510所执行的操作可以参考上面参照图10描述的块1010的操作。这里,样本分类模型是按照如上参照图2到图9描述的样本分类模型训练方法训练出。样本分类模型包括多个第二分类子模型,并且每个子二分类子模型具有对应的模型加权因子。
加权处理单元1520被配置为基于所得到的各个第二分类子模型下的分类预测值以及对应的模型加权因子,确定待分类样本在样本分类模型下的分类预测值。加权处理单元1520所执行的操作可以参考上面参照图10描述的块1020的操作。
以上参照图1到图15,对根据本公开的样本分类模型的训练方法、预测方法及装置的实施例进行了描述。
本公开的样本分类模型的训练装置、预测装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本公开中,样本分类模型的训练装置、预测装置例如可以利用计算设备实现。
图16示出了根据本公开的实施例的用于训练分类模型的方法的计算设备1600的方框图。如图16所示,计算设备1600包括至少一个处理器1610、存储器1620、内存1630和通信接口1640,并且至少一个处理器1610、存储器1620、内存1630和通信接口1640经由总线1650连接在一起。至少一个处理器1610执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1610:利用训练样本集来训练出第一数目个第一分类子模型;使用第一数目个第一分类子模型来分别对测试样本集中的每个测试样本进行预测,以得到每个测试样本在各个第一分类子模型下的分类预测值;以及基于每个测试样本在各个第一分类子模型下的分类预测值,从第一数目个第一分类子模型中确定出组成样本分类模型的第二分类子模型以及对应的预测加权因子。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1610进行本公开的各个实施例中以上结合图1-9描述的各种操作和功能。
根据一个实施例,提供了一种例如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-9描述的各种操作和功能。
图17示出了根据本公开的实施例的用于使用分类模型来进行分类预测的方法的计算设备1700的方框图。如图17所示,计算设备1700包括至少一个处理器1710、存储器1720、内存1730和通信接口1740,并且至少一个处理器1710、存储器1720、内存1730和通信接口1740经由总线1750连接在一起。至少一个处理器1710执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1710:使用多个第二分类子模型来对待分类样本进行预测,以得到待分类样本在各个第二分类子模型下的分类预测值;基于所得到的各个第二分类子模型下的分类预测值以及对应的模型加权因子,确定待分类样本在所述样本分类模型下的分类预测值,样本分类模型是根据图2、图3、图8以及图9中任一实施例训练出来的。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1710进行本公开的各个实施例中以上结合图10描述的各种操作和功能。
根据一个实施例,提供了一种例如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图10描述的各种操作和功能。
针对上述图16和图17中所提供的一种例如机器可读介质的程序产品,具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。