简介:什么是AutoML?
Machine Learning近年来已经取得了相当大的成功,一大批学科的前进都依赖于它。但是,这些成功都需要机器学习专家去执行以下任务:
- Preprocess the data(数据预加工)
- Select appropriate features(选择合适的特征)
- Select an appropriate model family(选择一个合适的模型族)
- Optimize model hyperparameters(优化超参数模型)
- Postprocess machine learning models(机器学习模型后处理)
- Critically analyze the results obtained(严谨地分析所得结果)
当任务的复杂度经常会令非机器学习专家头疼的时候,一大批机器学习的应用应运而生。这些现成的机器学习方法不需要专家的知识,同时可以简单的使用。我们将由此产生的领域称之为Targets progressive automation of machine learning,AutoML。
虽然它聚焦于让用户不需要专业的机器学习知识。AutoML同样为机器学习专家提供了新工具,比如:
- Perform architecture search over deep representations(在深度学习中执行框架搜索)
- Analyse the importance of hyperparameters(分析超参数的重要性)
通过编程中优化的范式,AutoML主张开发灵活的数据包。这些数据包可以通过数据驱动的方式自动实例化。
AutoML的一些例子
AutoML的目标是可以让机器学习的菜鸟来编写一些立即可用的软件。以下的一些例子说明了这是可行的:
- AutoWEKA
- 众所周和,Deep neural networks(深度神经网络)依赖于其中众多的超参数,并且模型优化程序在设置超参数方面取得的结论已经比人类的更好。(Bergstra et al, Snoek et al)
- Making a science of model search:一个复杂型计算机视觉框架可以自动进行实例化,并且可以产生3种类型的任务结果:face matching(人脸对比),face identification(人脸识别),object recognition(物体识别)
方法
AutoML用到了很多机器学习的学科,最显著的包括:
- Bayesian optimization(贝叶斯优化)
- Regression models for structured data and big data(结构化数据和大数据的回归模型)
- Meta learning(元学习)
- Transfer learning(迁移学习)
- Combinatorial optimization(组合优化)
超参数优化系统
当今一些使用贝叶斯优化来优化机器学习超参数的系统极大促进了AutoML。它们包括:
- Hyperopt, including the TPE algorithm
- Sequential Model-based Algorithm Configuration (SMAC)
- Spearmint
我们同样提供了两个函数包用来优化超参数:
- RoBO – Robust Bayesian Optimization framework
- SMAC3 – a python re-implementation of the SMAC algorithm