TF之AutoML框架:AutoML框架的简介、特点、使用方法详细攻略

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41185868/article/details/84062950

TF之AutoML框架:AutoML框架的简介、特点、使用方法详细攻略

      自动化机器学习,简单来说就是一种自动化任务的方法:预处理并清理数据、选择并构建适当的功能、选择合适的模型系列、优化模型超参数、后处理机器学习模型、批判性地分析所获得的结果。

         在机器学习自动化方面,谷歌的 AutoML 无疑地位稳固。AutoML 基于谷歌最新的图像识别技术神经架构搜索( Neural Architecture Search ,NAS)。NAS 是一种算法,会根据特定数据集搜索最佳神经网络架构,以在该数据集上执行特定任务。AutoML 是一套机器学习工具,可以轻松训练高性能深度网络,而无需用户掌握深度学习或 AI 知识,所有你需要的只是标记数据!

AutoML框架的简介

AutoML官网:https://www.automl.org/

     AutoML是为非ML专家提供机器学习的方法和过程,以提高ML的效率,加速机器学习的研究。ML近年来取得了相当大的成就,越来越多的学科依赖于它。然而,这一成功至关重要地依赖于人类学习专家执行手动任务。由于这些任务的复杂性常常超出非ML专家,ML的应用的快速增长产生了对现成的机器学习方法的需求,这些方法可以容易地使用且无需专家知识。我们称之为以机器学习自动化的渐进自动化为目标的研究领域。

     AutoML可以帮助选择模型并选择超参数。这个术语多被用来描述模型选择和/或超参数优化的自动化方法。这些方法适用于许多类型的算法,例如随机森林,梯度增强机器,神经网络等,AutoML库、研讨会、研究和竞赛都可以被囊括进这一领域。

理解:一般情况下,进行机器学习首先需要大量的训练数据,再由机器学习工程师/数据科学家对数据进行分析,设计算法形成训练模型;这需要大量的专业知识。但是,如果使用AutoML,就像是在使用一个工具,我们只需要将训练数据集传入AutoML,那么这个工具就会自动帮我们生成参数和模型,形成训练模型,这样即使不具备机器学习方面深入的专业知识也可以进行机器学习方面的工作。

1、AutoML库:包括auto-sklearn(将AutoWEKA扩展为python)、H2O AutoML和TPOT。 AutoML.org(以前称为ML4AAD,用于自动算法设计的机器学习)自2014年以来,一直被用在ICML等机器学习学术会议上。
(1)、在谷歌发布AutoML之前,业内已经存在不少AutoML库。其中最早的是2013年发布的AutoWEKA,其可以自动选择模型并选择超参数。
2、Cost:AutoML价格也并不算亲民,每小时收费20美元。
(1)、此外,一旦你开始训练,则无法导出模型,并且得用谷歌提供的API在云上运行你的网络,这些限制看起来都不是很方便

AutoML框架的特点

1、机器学习(Machine Learning, ML)近年来取得了相当大的成功,越来越多的学科需要依赖它。然而,这个成功的关键是需要人类机器学习工程师完成以下的工作:

  • 预处理数据
  • 选择适当的功能
  • 选择一个适当的模型选择系列
  • 优化模型超参数
  • 后处理机器学习模型
  • 严格分析所得的结果

2、AutoML借鉴了机器学习的许多学科,主要是:

  • 贝叶斯优化
  • 结构化数据和大数据的回归模型
  • Meta 学习
  • 转移学习
  • 组合优化

AutoML框架的使用方法

1、AutoML的主要问题可以由三部分构成:特征工程、模型选择、算法选择。

(1)、特征工程

特征工程在机器学习中有着举足轻重的作用。在AutoML中,自动特征工程的目的是自动地发掘并构造相关的特征,使得模型可以有最优的表现。除此之外,还包含一些特定的特征增强方法,例如特征选择、特征降维、特征生成、以及特征编码等。这些步骤目前来说都没有达到自动化的阶段。

上述这些步骤也伴随着一定的参数搜索空间。第一种搜索空间是方法自带的,例如PCA自带降维参数需要调整。第二种是特征生成时会将搜索空间扩大。

(2)、模型选择

模型选择包括两个步骤:选择一个模型,设定它的参数。相应地,AutoML的目的就是自动选择出一个最合适的模型,并且能够设定好它的最优参数。

(3)、算法选择

对于算法选择,AutoML的目的是自动地选择出一个优化算法,以便能够达到效率和精度的平衡。常用的优化方法有SGD、L-BFGS、GD等。使用哪个优化算法、对应优化算法的配置,也需要一组搜索空间。

AutoML VS AutoKeras 框架

  AutoML AutoKeras
家长 谷歌的TensorFlow Keras
花费 20 dollar/h free
开源 No Yes
基于云 yes(训练和评价) No
支持的模型 用于分类的卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM) 用于分类的卷积神经网路(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)
核心技术 带梯度策略更新的强化学习 高效神经架构搜索(参见《Efficient NeuralArchitecture Search via Parameter Sharing》

参考文章
分享一篇比较全面的AutoML综述
 

猜你喜欢

转载自blog.csdn.net/qq_41185868/article/details/84062950