CN113379065A - 一种基于多目标语法进化的自动机器学习方法 - Google Patents
一种基于多目标语法进化的自动机器学习方法 Download PDFInfo
- Publication number
- CN113379065A CN113379065A CN202110533873.9A CN202110533873A CN113379065A CN 113379065 A CN113379065 A CN 113379065A CN 202110533873 A CN202110533873 A CN 202110533873A CN 113379065 A CN113379065 A CN 113379065A
- Authority
- CN
- China
- Prior art keywords
- pipeline
- grammar
- machine learning
- evolution
- automatic machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于多目标语法进化的自动机器学习方法,通过定义搜索空间,自动生成管道(pipeline)并且通过迭代的方式优化得到最优管道(pipeline)。本发明方法基于多目标优化,避免了过拟合或者是某些指标表现不佳;通过定义搜索空间,使本方法能够适应特殊场景。
Description
技术领域
本发明涉及自动机器学习领域,具体涉及基于多目标语法进化的自动机器学习方法。
背景技术
AutoSklearn是一种开源的自动机器学习,它将scikit-learn的机器学习算子进一步硬编码,封装成具备超参数搜索空间的组件,并利用贝叶斯优化来完成数据预处理、特征预处理、模型预测的管道(pipeline)。
AutoSklearn这种将机器学习算子进行硬编码封装的方法,增加了维护成本,并且使用户难以使用自定义的机器学习算子进行建模;同时,AutoSklearn的贝叶斯优化在每一次迭代过程中需要重新计算代理模型的概率密度分布,导致算法只能串行迭代进行优化,无法充分利用并行的计算优势;最后,将建模管道限定在从数据预处理到特征预处理,再到模型预测这样三步操作的模板,在一些建模场景下可能并不适用,例如不需要进行数据预处理,或者特征预处理需要两步甚至多步才能完成。
TPOT是一种开源的自动机器学习工具,它利用遗传算法,将scikit-learn的机器学习管道(pipeline)编码为了一种线性表达,并利用遗传算法中的交叉,变异等方法来生成新的管道(pipeline),计算不同管道的适应度,保留适应度高的管道(pipeline),最终达到了搜索优化的目的。
TPOT使用了遗传算法,可以在每一次种群计算适应度的过程中应用并行计算,并且没有限定管道(pipeline)的编码必须按照某些固定的步骤进行。但是TPOT使用的是线性管道,不能处理带有分支的情形,例如,当数据中有多种类型的变量需要分别处理时,TPOT无法生成带有分叉结构的建模管道,对不同的变量做不同的处理,限制了只能使用数值类型的训练数据。同时,TPOT在优化目标上选择的是单目标优化,容易造成模型过拟合,或是在其他指标上表现不佳。
发明内容
针对背景技术中存在的问题,本发明的目的是提供一种基于多目标语法进化的自动机器学习方法,通过定义的数据集,自动生成建模管道并且通过迭代的方式优化得到最优建模管道。
为实现上述目的,本发明提供了一种基于多目标语法进化的自动机器学习方法,包括以下步骤:
步骤S1:通过定义语法,确定搜索空间;
具体的,所述语法是上下文无关语法。
具体的,所述语法中语法的非终止符为建模流程中的高层决策,语法的终止符为建模流程中的低层决策。
具体的,所述高层决策是数据预处理、算子(例如分类器)等。所述低层决策是超参数、正则化因子的值等。
步骤S2:初始化生产概率,所有生成式中服从均匀分布σ0;
步骤S3:判断是否达到最大代数,如果是进入步骤S4,如果不是进入步骤S5;
步骤S4:输出管道(pipeline);
步骤S5:管道(pipeline)采样,生成新的管道;
步骤S6:评估管道(pipeline);
具体的,管道(pipeline)的评估方法包括单个训练/测试的模型验证,或更复杂的交叉验证。
步骤S7:选择最优管道(pipeline);
具体的,选择最优管道(pipeline)的算法是NSGA-II算法(非支配排序的遗传算法)。
步骤S8:更新概率分布σi,进入步骤S3。
具体的,更新概率分布的公式为:
本发明的有益效果是:
(1)使用语法进化算法可以并行地生成管道和评估管道。
(2)搜索空间可以灵活配置,可以适应特殊的建模场景。
(3)通过定义的语法,能够使用自己的机器学习算子。
(4)通过生成式构成的语法树可以处理带有分支处理的管道流程。
(5)多目标优化可以根据多个目标函数寻找最优解,避免了某些指标表现不佳。
(6)多目标优化可以通过优化训练集和验证集的准确率之差可以避免过拟合。
附图说明
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的限定。
图1为基于多目标语法进化的自动机器学习方法的示意图。
图2为算法1训练结果示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
需要注意的是,在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以有其他实施方式以及其变形,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本发明是基于多目标语法进化的自动机器学习方法,通过定义搜索空间,自动生成管道(pipeline)并且通过迭代的方式优化得到最优管道(pipeline)。具体步骤如下:
步骤S1:通过定义语法,确定搜索空间。
一个特定机器学习问题的搜索空间可以定义为解决该问题的所有可能管道(pipeline)的集合。两个不同的管道(pipeline)可以为一个特定的步骤使用不同的算法,也可以为一个步骤使用相同的算法,若一个步骤为相同算法,不同管道(pipeline)在这个算法上的超参数是不同的。此外,步骤之间可以嵌套,形成层次结构。为了表示待解决问题的所有可能管道(pipeline),并捕捉它们的层次性质,本方法使用上下文无关语法来描述建模管道(pipeline)。语法的非终止符为建模流程中的高层决策(例如数据预处理、分类器等),而语法的终止符为建模流程中的低层决策(例如正则化因子的值)。通过这种方式,在搜索空间中定义了能够表示不同管道(pipeline)的结构:
(1)<Pipeline>:=<Prep><Encoder><Select><Class>
(2)<Prep>:=Impute(<mode>)|MinMaxScaler|StandardScaler
(3)<mode>:=“mean”|”knn”
(4)<Encoder>:=OneHot|TargetEncoder(<regularization>)
(5)<regularization>:=f(0.01,1.0)
(6)<Select>:=<Ratio>|<SFM>
(7)<Ratio>:=NanRatio(<threshold>)|ModeRatio(<threshold>)
(8)<threshold>:=f(0.9,0.99)
(9)<SFM>:=SelectFromLGB(<top-k>)|SelectFromLR(<top-k>)
(10)<top-k>:=i(60,70,80,90)
(11)<Class>:=NaiveBayes|LR(<reg>,<penalty>)|SVM(<kernel>)
(12)<reg>:=f(0.01,10)
(13)<penalty>:=“l1”|“l2”
(14)<kernel>:=“linear”|“rbf”
通过语法定义,确定搜索空间的方法,能灵活配置,可适应特殊的建模场景;通过生成式构成的语法树可以处理带有分支处理的管道流程。这种方法还可以使用自己的机器学习算子。
进一步的,使用语法进化算法可以并行地生成管道和评估管道。
步骤S2:初始化生产概率,所有生成式中一开始服从概率均匀分布σ0。
生成式是类似<mode>:=“mean”|“knn”这样的东西,这个表示mode这个参数可以取值“mean”或者“knn”,一开始它作为一个随机变量是服从均匀分布的,也就是“mean”和“knn”取值可能都是0.5。
步骤S3:判断是否达到最大代数,如果是进入步骤S4,如果不是进入步骤S5。
最大代数是指遗传算法中population(种群)进行繁衍的代数。
步骤S4:输出管道(pipeline)。
达到最大代数,迭代结束,得到最优的管道(pipeline)。
步骤S5:管道(pipeline)采样,生成新的管道。
根据每个语法生成式的概率分布对指定搜索空间进行采样来生成多个管道(pipeline)。
所述采样是随机变量取一个确定值的计算机描述过程。比如服从[0,1]均匀分布的随机变量,抽样的结果就是抽出一个[0,1]间的数。
步骤S6:评估管道(pipeline)。
对每个管道(pipeline)进行评估,可以包括单个训练/测试的模型验证,或更复杂的交叉验证。
单个训练/测试的验证指的是在训练集上训练模型,在测试集上验证模型,验证模型就是计算模型的一些指标,比如accuracy准确率。交叉验证是机器学***均值,一般来讲使用交叉验证评估模型的结果会更加稳定可信。
步骤S7:选择最优管道(pipeline)。
我们设定管道(pipeline)的性能评价指标为多个目标,并使用NSGA-II算法(非支配排序的遗传算法)来选择哪些管道(pipeline)是较优的。
多目标优化可以根据多个目标函数寻找最优解,例如训练集和验证集的准确率,甚至可以优化训练集和验证集的准确率之差。优化训练集和验证集的准确率之差的好处是可以避免过拟合。
NSGA-II算法是一种多目标寻优策略算法。当存在多个目标时,由于目标之间存在冲突无法比较,所以很难找到一个解使得所有的目标函数同时最优,即一个解可能对于某个目标函数是最好的,但对于其他的目标函数却不是最好的,甚至是最差的。所以对于多目标优化问题中,需要寻找帕累托最优解。NSGA-II算法是一种多目标寻优策略,主要是用来根据适应度,筛选出种群中的优秀个体,并进行排序。
步骤S8:更新概率分布σi,进入步骤S3。
通过步骤S7得到的排序结果获得新的population(种群),并使用评估得到的管道(pipeline)性能来修改概率分布,以便最大化生成性能较好管道(pipeline)的概率。
为了取得更好的效果,引入学习因子α修改概率分布,公式如下:
公式中σi是本次概率分布,是本次评估管道(pipeline)性能来得到的概率分布,σi-1是上次的概率分布,α是学***衡。较大的α,促进管道在当前较好的管道组合附近进行深度开发,而小的α促进算法探索更多其他管道组合的可能性,通常建议设置为0.01–0.05。将学习因子α设置为0.01–0.05的好处是为了不要过度开发。
算法1总结了这种语法进化算法的优化过程,程序中将算法命名为Orca。
图2为算法1在上述语法中的训练结果。图中Step1:Preprocessing、Step2:Encoder、Step3:Selector、Step4:Classifier分别对应语法中的Prep、Encode、Select、Class。图中虚线部分表示迭代过程中求解过的管道组合,其中一条线的准确率(Accuracy)92%,为最终收敛得到的建模管道,图中用点划线表示。Accuracy(准确率)是机器学习领域判断分类结果好坏的一个经典指标。
为了验证本发明的效果,在开源的三个数据上做了测试,发现我们的方案在最终效果上均优于AutoSklearn和TPOT,评测结果主要从参考文献(A.M.De Silva,P.H.W.Leong,Grammatical evolution,SpringerBriefs Appl.Sci.Technol.5(9789812874108)(2015)25–33,ISSN 21915318,doi:10.1007/978-981-287-411-5_3.)中获取,我们在相同条件下进行了测试。
表中ORCA为本算法,从表中可知,本算法在三个数据上都优于AutoSklearn、TPOT。
本发明方法中的步骤可根据实际需要进行顺序调整、合并和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于多目标语法进化的自动机器学习方法,其特征在于包括以下步骤:
步骤S1:通过定义语法,确定搜索空间;
步骤S2:初始化生产概率,所有生成式中服从概率均匀分布;
步骤S3:判断是否达到最大代数,如果是进入步骤S4,如果不是进入步骤S5;
步骤S4:输出管道;
步骤S5:管道采样,生成新的管道;
步骤S6:评估管道;
步骤S7:选择最优管道;
步骤S8:更新概率分布,进入步骤S3。
2.根据权利要求1所述的基于多目标语法进化的自动机器学习方法,其特征在于步骤S1中所述语法是上下文无关语法。
3.根据权利要求1所述的基于多目标语法进化的自动机器学习方法,其特征在于步骤S1中所述语法中语法的非终止符为建模流程中的高层决策,语法的终止符为建模流程中的低层决策。
4.根据权利要求1所述的基于多目标语法进化的自动机器学习方法,其特征在于步骤S6对管道的评估方法包括单个训练/测试的模型验证,或更复杂的交叉验证。
5.根据权利要求1所述的基于多目标语法进化的自动机器学习方法,其特征在于步骤S7选择最优管道的算法是NSGA-II算法。
7.根据权利要求6所述的基于多目标语法进化的自动机器学习方法,其特征在于α的取值为0.01–0.05。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110533873.9A CN113379065A (zh) | 2021-05-17 | 2021-05-17 | 一种基于多目标语法进化的自动机器学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110533873.9A CN113379065A (zh) | 2021-05-17 | 2021-05-17 | 一种基于多目标语法进化的自动机器学习方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113379065A true CN113379065A (zh) | 2021-09-10 |
Family
ID=77571044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110533873.9A Pending CN113379065A (zh) | 2021-05-17 | 2021-05-17 | 一种基于多目标语法进化的自动机器学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113379065A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510221A (zh) * | 2009-02-17 | 2009-08-19 | 北京大学 | 一种用于信息检索的查询语句分析方法与*** |
CN103413462A (zh) * | 2013-07-18 | 2013-11-27 | 北京航空航天大学 | 一种综合考虑空域拥堵和航班延误的空中交通网络流量优化方法 |
CN103646019A (zh) * | 2013-12-31 | 2014-03-19 | 哈尔滨理工大学 | 一种多个机器翻译***融合的方法及装置 |
CN104503381A (zh) * | 2014-11-20 | 2015-04-08 | 昆明理工大学 | 一种手机的生产装配过程的优化调度方法 |
CN106102079A (zh) * | 2016-06-08 | 2016-11-09 | 西安电子科技大学 | 基于改进pso的c‑ran载波迁移资源需求预测方法 |
CN107516135A (zh) * | 2017-07-14 | 2017-12-26 | 浙江大学 | 一种支持多源数据的自动化监督性学习方法 |
CN110533263A (zh) * | 2019-09-11 | 2019-12-03 | 绍兴建元电力集团有限公司 | 一种基于改进nsga-ii算法的电-气-热综合***多目标优化方法 |
CN111459988A (zh) * | 2020-05-25 | 2020-07-28 | 南京大学 | 一种机器学习流水线自动化设计的方法 |
-
2021
- 2021-05-17 CN CN202110533873.9A patent/CN113379065A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510221A (zh) * | 2009-02-17 | 2009-08-19 | 北京大学 | 一种用于信息检索的查询语句分析方法与*** |
CN103413462A (zh) * | 2013-07-18 | 2013-11-27 | 北京航空航天大学 | 一种综合考虑空域拥堵和航班延误的空中交通网络流量优化方法 |
CN103646019A (zh) * | 2013-12-31 | 2014-03-19 | 哈尔滨理工大学 | 一种多个机器翻译***融合的方法及装置 |
CN104503381A (zh) * | 2014-11-20 | 2015-04-08 | 昆明理工大学 | 一种手机的生产装配过程的优化调度方法 |
CN106102079A (zh) * | 2016-06-08 | 2016-11-09 | 西安电子科技大学 | 基于改进pso的c‑ran载波迁移资源需求预测方法 |
CN107516135A (zh) * | 2017-07-14 | 2017-12-26 | 浙江大学 | 一种支持多源数据的自动化监督性学习方法 |
CN110533263A (zh) * | 2019-09-11 | 2019-12-03 | 绍兴建元电力集团有限公司 | 一种基于改进nsga-ii算法的电-气-热综合***多目标优化方法 |
CN111459988A (zh) * | 2020-05-25 | 2020-07-28 | 南京大学 | 一种机器学习流水线自动化设计的方法 |
Non-Patent Citations (1)
Title |
---|
SHAWN YOU: "深度解析AutoML框架——TPOT:一键生成ML代码,解放双手", pages 200 - 201, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/85974357/> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8489526B2 (en) | Controlling quarantining and biasing in cataclysms for optimization simulations | |
US11334791B2 (en) | Learning to search deep network architectures | |
CN113051769B (zh) | 基于非对称损失与混合智能优化算法的功率曲线建模方法 | |
CN116204445B (zh) | 测试用例生成方法、装置、代码测试方法、设备及介质 | |
CN116596044B (zh) | 基于多源数据的发电负荷预测模型训练方法及装置 | |
Liu et al. | Deep Boltzmann machines aided design based on genetic algorithms | |
CN114328048A (zh) | 一种磁盘故障预测方法及装置 | |
CN104732067A (zh) | 一种面向流程对象的工业过程建模预测方法 | |
CN111126560A (zh) | 一种基于云遗传算法优化bp神经网络的方法 | |
US20190325983A1 (en) | Method and system for performing molecular design using machine learning algorithms | |
CN116756536B (zh) | 数据识别方法、模型训练方法、装置、设备及存储介质 | |
Saha et al. | Exploiting linear interpolation of variational autoencoders for satisfying preferences in evolutionary design optimization | |
CN113379065A (zh) | 一种基于多目标语法进化的自动机器学习方法 | |
CN114925808B (zh) | 一种基于云网端资源中不完整时间序列的异常检测方法 | |
CN115599918A (zh) | 一种基于图增强的互学习文本分类方法及*** | |
KR102340046B1 (ko) | 태스크 추정 모델의 학습 방법 및 장치, 태스크 수행 모델의 최적화 방법 및 장치 | |
CN112600208B (zh) | 一种区域分布式能源***的多能流潮流计算方法及*** | |
CN114818369A (zh) | 一种连续式跨声速风洞部段设计方法及***及装置及介质 | |
CN112712178A (zh) | 一种基于遗传算法的贝叶斯网络结构学习的方法及*** | |
Lourenço et al. | Evolving energy demand estimation models over macroeconomic indicators | |
Shramenko et al. | Studying Mixed Normalization Strategies of Lambda Terms. | |
Mitran et al. | Patterns of Convergence and Bound Constraint Violation in Differential Evolution on SBOX-COST Benchmarking Suite | |
Małkowski et al. | Graph autoencoder with constant dimensional latent space | |
US20230012643A1 (en) | Method for predicting c-axis length of lithium compound crystal structure, method for building learning model, and system for predicting crystal structure having maximum c-axis length | |
CN116151921A (zh) | 大规模多目标优化的股票产品推送方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |