机器学习算法的参数调优方法及系统与流程

专利2022-06-29  249


本发明属于机器学习领域。



背景技术:

现有机器学习算法相关参数调优技术主要包括网格搜索和遗传算法,其中,网格搜索是对每一个参数设定一些候选值,在寻找多个参数的最优组合时,对每一种候选值的组合进行遍历,训练多个模型,取其中表现最优的模型中的参数组合作为结果,例如公开号为cn107844837a的发明专利《针对机器学习算法进行算法参数调优的方法及系统》。

遗传算法是选取一定数量的候选解,将其抽象为染色体,通过适应度评判选取候选解中的一些较优解,让它们进行自由组合和突变,产生下一代种群,将下一代种群作为新的候选解;不断进行迭代,例如公开号为cn201811038917.5的发明专利《一种超参数调优方法、装置及设备》。

使用网格搜索进行参数调优,不足之处在于:参数的候选值是人为设定的,做不到完全“自动化”;候选值的选取依靠经验,需要用户具有相关背景知识,并且没有充分利用用户数据集;需要训练众多模型,时间代价大,在参数数目众多时这一缺陷尤为明显。

使用遗传算法进行参数调优,不足之处在于:由于需要考虑对具体问题的解和染色体的抽象关系(及编码、解码过程),遗传算法的编程实现较为复杂;遗传算法本身包含众多超参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验;没有能够及时利用用户数据集的特征,故算法的搜索速度比较慢,要得要较精确的解需要较多的训练时间;算法对初始种群的选择有依赖性;算法的并行机制的潜在能力没有得到充分的利用。

所以现有机器学习算法相关参数调优方法的不足之处在于:需要用户提前设定一些候选值,做不到“自动化”,且需要用户具有相关背景知识;采用“遍历”思路,时间开销大。



技术实现要素:

针对以上不足,本发明提供一种具有自动化、快速高效及具有普适性的机器学习算法的参数调优方法及系统。

本发明的一种机器学习算法的参数调优方法,所述方法包括:

s1、输入用户数据集和待调参数算法,提取用户数据集的特征;

s2、在神经网络数据库中,找到待调参数算法的神经网络,将s1提取的特征输入该神经网络中,该神经网络输出待调参数算法的参数;

所述神经网络数据库包括根据各种机器学习算法建立及训练好的神经网络,具体构建方法为:

构建适用于机器学习算法的数据集的知识库;

提取知识库中每个数据集的特征;

找到在各数据集上运行各机器学习算法的最优参数;

建立每个机器学习算法的神经网络,利用数据集的特征和对应的最优参数作为训练集对对应的神经网络进行训练,获得训练好的神经网络。

作为优选,所述方法还包括:

s3、使用局部优化器找到s2输出参数的局部极值,作为机器学习算法的进一步优化参数。

作为优选,构建神经网络数据库时,利用网格搜索的方法找到在各数据集上运行各机器学习算法的最优参数。

本发明还提供一种机器学习算法的参数调优系统,所述系统包括:

特征计算器,用于输入用户数据集,提取用户数据集的特征;

调优模块,与特征计算器连接,用于输入待调参数算法,根据待调参数算法,在神经网络数据库中找到待调参数算法对应的神经网络,将特征计算器提取的特征输入到该神经网络中,该神经网络输出待调参数算法的参数;

所述神经网络数据库包括根据各种机器学习算法建立及训练好的神经网络,具体构建方法为:

构建适用于机器学习算法的数据集的知识库;

提取知识库中每个数据集的特征;

找到在各数据集上运行各机器学习算法的最优参数;

建立每个机器学习算法的神经网络,利用数据集的特征和对应的最优参数作为训练集对对应的神经网络进行训练,获得训练好的神经网络。

作为优选,所述系统还包括:

局部优化器,与调优模块连接,用于找到调优模块输出参数的局部极值,作为机器学习算法的进一步优化参数。

作为优选,构建神经网络数据库时,利用网格搜索的方法找到在各数据集上运行各机器学习算法的最优参数。

本发明的有益效果,本发明避免了如下问题:(1)需要预先设定“候选值”;(2)需要用户具有背景知识;(3)时间开销过大;本发明使得参数调优过程自动化、充分利用经验数据、更加快速高效,并且是一种具有普适性的方法。

自动化:现有调参方法需要用户根据数据集的特征来设置参数的初始值并进行微调,这需要一定的背景知识。本发明是为零门槛用户设计的,是一个黑盒模型。操作十分简便,过程全部自动化,对用户的背景知识没有要求。

快速高效:本发明能够充分利用“前人经验”。其中的神经网络将会自动地“归纳”出知识库中各数据集“数据集特征”和“最优参数”之间的关系,并且,知识库规模越大,这一“归纳”效果就越好。它可以在处理新的数据集时综合地考虑之前的所有情况,使得知识库中的经验数据最大限度地发挥自己的价值。

快速高效:现有方法会经历多次“试错”的过程,即将多种参数组合都分别运行待调参算法,然后取最优的参数组合,再收缩搜索的范围,并将该过程反复多次。现有参数调优方法时间瓶颈就在于待调参算法的运行过程。本发明中,“试错”的过程只出现在最后一步:使用局部优化器找局部极值的过程中,“试错”次数远小于现有方法。作为结果,本发明拥有更加快速的运行时间,并且,用户数据集越大,速度的优势就越明显。

普适性:只要能收集到足够的数据集,并用合理的方法确定这些数据集运行待调参算法的最优参数,本发明就可以适用于对任意学习算法(分类、聚类、回归)的参数调优上。具有非常大的可扩展性。

附图说明

图1为本发明机器学习算法的参数调优系统的原理示意图;

图2为神经网络数据库构建的原理示意图。

具体实施方式

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

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

如图1所示,本实施方式的机器学习算法的参数调优系统包括一个特征计算器、调优模块、神经网络数据库和局部优化器;

将用户数据集输入至特征计算器,特征计算器使用某些规则计算出一个数据集的“特征”。关于数据集“特征”。一切可以代表数据集特点的数值或统计量,都可以作为数据集的特征。比如说,数据集中样本的条目数量、属性的维度个数、离散属性的比率、数据集的信息熵等等。本实施方式调优系统中的特征计算器就能够完成对一个数据集计算出这些统计量的功能。

神经网络数据库包含了一系列训练好的神经网络,每一个神经网络拟合了数据集的特征和某一种机器学习算法在该数据集上运行时最优参数之间的关系。神经网络的数目与系统可以进行参数调优算法数目相同。

本实施方式的神经网络数据库是在用户使用阶段,拟合了数据集特征和最优参数的神经网络是已经训练好的,所以需要在交付用户前,完成神经网络的训练。本实施方式的神经网络数据库构建方法为:

构建适用于机器学习算法的数据集的知识库;

提取知识库中每个数据集的特征;

找到在各数据集上运行各机器学习算法的最优参数;

建立每个机器学习算法的神经网络,利用数据集的特征和对应的最优参数作为训练集对对应的神经网络进行训练,获得训练好的神经网络。

在神经网络数据库的构建阶段,需要为每一种机器学习方法构建一个神经网络。以下的介绍以svm分类算法为例。关于和svm分类算法相关的系统构建过程,如图2所示。需要准备很多适用于svm分类算法的数据集,称它们为知识库。对每个数据集进行两个操作:首先是计算特征;然后使用某种可靠的搜索方法,找到在该数据集上运行svm的最优参数,本实施方式使用细粒度的网格搜索,提取出众多“特征”和“最优参数”的组合,它们组成了训练神经网络的数据集。再用它训练神经网络即可。

本实施方式的调优模块与特征计算器连接,将待调参数算法输入至调优模块,根据待调参数算法,在神经网络数据库中找到待调参数算法对应的神经网络,将特征计算器提取的特征输入到该神经网络中,该神经网络输出待调参数算法的参数;

本实施方式的调优模块将计算出的特征放入相应的神经网络进行计算。如果神经网络在之前训练得足够好,它的输出结果(预测的最优参数)将会位于实际的最优值附近。使用局部优化器找到神经网络预测结果附近的局部极值,进一步提升参数表现。局部优化器的输出结果就是系统输出。

本实施方式的调优系统交付用户后,调优工作是自动完成的。从用户的视角看,输入待调参算法的名称和用户数据集后,等待片刻,便可获得在待调参算法在用户数据集上运行的最优参数。当用户想在用户数据集上运行待调参算法时,使用本实施方式的调优系统给出的输出作为待调参算法的超参数,即可获得令人满意的结果。本实施方式的系统对用户来说是一个黑盒结构,简单易用。

本实施方式避免了当前十分耗时且不稳定的人工调参,能够大幅提升机器学习模型的易用性和稳定性。

本实施方式的一种机器学习算法的参数调优方法,包括:

s1、输入用户数据集和待调参数算法,提取用户数据集的特征;

s2、在神经网络数据库中,找到待调参数算法的神经网络,将s1提取的特征输入该神经网络中,该神经网络输出待调参数算法的参数;

所述神经网络数据库包括根据各种机器学习算法建立及训练好的神经网络,具体构建方法为:

构建适用于机器学习算法的数据集的知识库;

提取知识库中每个数据集的特征;

找到在各数据集上运行各机器学习算法的最优参数;

建立每个机器学习算法的神经网络,利用数据集的特征和对应的最优参数作为训练集对对应的神经网络进行训练,获得训练好的神经网络。

本实施方式的机器学习算法的参数调优方法还包括:

s3、使用局部优化器找到s2输出参数的局部极值,作为机器学习算法的进一步优化参数。

虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其他所述实施例中。


技术特征:

1.机器学习算法的参数调优方法,其特征在于,所述方法包括:

s1、输入用户数据集和待调参数算法,提取用户数据集的特征;

s2、在神经网络数据库中,找到待调参数算法的神经网络,将s1提取的特征输入该神经网络中,该神经网络输出待调参数算法的参数;

所述神经网络数据库包括根据各种机器学习算法建立及训练好的神经网络,具体构建方法为:

构建适用于机器学习算法的数据集的知识库;

提取知识库中每个数据集的特征;

找到在各数据集上运行各机器学习算法的最优参数;

建立每个机器学习算法的神经网络,利用数据集的特征和对应的最优参数作为训练集对对应的神经网络进行训练,获得训练好的神经网络。

2.根据权利要求1所述的机器学习算法的参数调优方法,其特征在于,所述方法还包括:

s3、使用局部优化器找到s2输出参数的局部极值,作为机器学习算法的进一步优化参数。

3.根据权利要求1所述的机器学习算法的参数调优方法,其特征在于,构建神经网络数据库时,利用网格搜索的方法找到在各数据集上运行各机器学习算法的最优参数。

4.机器学习算法的参数调优系统,其特征在于,所述系统包括:

特征计算器,用于输入用户数据集,提取用户数据集的特征;

调优模块,与特征计算器连接,用于输入待调参数算法,根据待调参数算法,在神经网络数据库中找到待调参数算法对应的神经网络,将特征计算器提取的特征输入到该神经网络中,该神经网络输出待调参数算法的参数;

所述神经网络数据库包括根据各种机器学习算法建立及训练好的神经网络,具体构建方法为:

构建适用于机器学习算法的数据集的知识库;

提取知识库中每个数据集的特征;

找到在各数据集上运行各机器学习算法的最优参数;

建立每个机器学习算法的神经网络,利用数据集的特征和对应的最优参数作为训练集对对应的神经网络进行训练,获得训练好的神经网络。

5.根据权利要求4所述的机器学习算法的参数调优系统,其特征在于,所述系统还包括:

局部优化器,与调优模块连接,用于找到调优模块输出参数的局部极值,作为机器学习算法的进一步优化参数。

6.根据权利要求4所述的机器学习算法的参数调优系统,其特征在于,构建神经网络数据库时,利用网格搜索的方法找到在各数据集上运行各机器学习算法的最优参数。

技术总结
一种机器学习算法的参数调优方法及系统,具有自动化、快速高效及具有普适性,属于机器学习领域。本发明包括:S1、输入用户数据集和待调参数算法,提取用户数据集的特征;S2、在神经网络数据库中,找到待调参数算法的神经网络,将S1提取的特征输入该神经网络中,该神经网络输出待调参数算法的参数;所述神经网络数据库包括根据各种机器学习算法建立及训练好的神经网络,具体构建方法为:构建适用于机器学习算法的数据集的知识库;提取知识库中每个数据集的特征;找到在各数据集上运行各机器学习算法的最优参数;建立每个机器学习算法的神经网络,利用数据集的特征和对应的最优参数作为训练集对对应的神经网络进行训练,获得训练好的神经网络。

技术研发人员:王宏志;欧龙燊;张恺欣;霸晨民;陈泊舟
受保护的技术使用者:哈尔滨工业大学
技术研发日:2020.01.14
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-15578.html

最新回复(0)