AutoML简介

Posted by Young on October 20, 2017

简介:什么是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。它们包括:

我们同样提供了两个函数包用来优化超参数:

原文地址