Automl综述

AutoML

  • AutoML综述
    • AutoML的定义
    • 一个现有AutoML方法的通用框架
    • 高级AutoML技术
  • AutoML的几个应用实例
    • Auto-SKLearn:
    • NASNet:
    • ExploreKit
  • AotoML的4个研究方向
  • AutoML开源库

AutoML

AutoML综述

关于机器学习应用的方方面面,如特征工程,模型选择,参数调整都需要人工干预,那是否能让机器自身“improving automatically with experience”?,以实现机器学习解决方案的快速部署更新,并且使人们更多的关注应用和商业价值。
Automl综述_第1张图片

AutoML的定义

3个目标(最优性能,无人工干预,计算量小)

Automl综述_第2张图片

Definition 1 (Machine learning [1]). A computer program is said to learn from experience E with respect to some classes of task T and performance measure P if its performance can improve with E on T measured by P

Definition 2 (AutoML). AutoML attempts to construct machine learning programs (specified by E, T and P in Definition 1), without human assistance and within limited computational budgets

一个现有AutoML方法的通用框架

能涵盖不同的自动化任务(特征选择,模型选择,优化算法选择,NAS(neural architecture search))

Automl综述_第3张图片

  • 基于“what to automate and how to automate”对现有AutoML方法进行了有效的分类:

Automl综述_第4张图片

  • 基于上述框架对现有AutoML方法的深入分析:

    • learning process/learning tools

      我们关注哪个过程的学习

      我们可以用到的工具有哪些

      跟优化配置有关的有哪些

      AutoML对于自动生成原始特征并没有很大提升,因为这一过程极大的依赖于应用场景和人类经验。

Automl综述_第5张图片

  • optimizer

    优化器能应用在哪些搜索空间里

    优化器需要什么反馈

    生成一个最优配置需要更新多少次

Automl综述_第6张图片

  • evaluator

    能否进行快速评估?

    能否准确评估?

    需要什么样的反馈?

    Direct evaluation:结果准确但是计算量大

    Sub-sampling

    Early stop

    Parameter reusing

    Surrogate evaluator

高级AutoML技术

  • meta-learning:从一个具体的问题中抽取已有的知识,并用来解决现有问题

Automl综述_第7张图片

  • transfer-learning

Automl综述_第8张图片

AutoML的几个应用实例

Automl综述_第9张图片

Auto-SKLearn:

Automl综述_第10张图片

NASNet:

Automl综述_第11张图片

ExploreKit

不断的在已有特征的基础上产生候选特征,特征排序,特征评估选择,叠加

Automl综述_第12张图片

AotoML的4个研究方向

  • 特征生成:人类基于经验设计的特征提取方法cv方向(SIFT,HOG),nlp(TF-IDF),基于网络自动生成特征(SIFT->CNN,TF-IDF->RNN),新研究DSM,特征的自动生成还是一个热门研究的方向。

  • 技术:在基础的AutoML技术上,计算量较大,怎么实现配置和参数更新同步;在高级技术上,怎么优化meta-learning的学习策略,怎么将transfer-learning在更广的领域应用

  • 应用:本文的分析是基于监督学习进行的,基于其他领域的AutoML技术的应用的挑战还是有的

  • 理论:现有的优化方法对于AutoML计算效率的实际提升效果还有待确认;AutoML可以解决的问题还很有限

AutoML开源库

Benchmarking Automatic Machine Learning Frameworks

  • Auto-ml:

    • 优点:融合了ScikitLearn, XGBoost, TensorFlow, Keras, and LightGBM,支持时间类型数据

    • 缺点:扩展性差,无法对训练时间做限制

  • Auto-sklearn:

Automl综述_第13张图片

  1. 通过不同数据集的探究,采用meta-learning选出k个初始化配置进行算法模型的最佳初始化并对贝叶斯优化过程进行预热

  2. 通过贝叶斯优化自动构建模型集合

  3. 基于sklearn的表现较好的分类器和预处理方案精心设计一个高度参数化的机器学习框架

  4. 通过在不同数据集上的对比,auto-sklean的每个组件部分都表现稳定且性能良好

ML framework:15个分类器,14种特征预处理方法,和4个数据预处理方法,产生结构化的110 hyperparameters;超参数在组件被应用的时候才会用到(基于SMAC)

Automl综述_第14张图片

Automl综述_第15张图片

  • 优点:使用了meta-learning和基于SMAC3的贝叶斯优化,可以对运行时间做限制

  • 缺点:不支持nlp,不支持string分类特征,仅支持Linux系统

  • TPOT

    • 优点:基于sklean,可以对运行时间做限制,优化过程支持暂停和重启,模型支持导出修改

    • 缺点:不支持nlp,不支持string分类特征

  • h2o:分布式AutoML框架

    • 优点:可配置选择算法,运行时间,交叉验证;特征工程和超参数执行彻底的暴力搜索,支持格点搜索和随机搜索;支持框架内模型的保存和重载

    • 缺点:需配置的资源较多


参考资源:

  1. Taking the Human out of Learning Applications:A Survey on Automated Machine Learning
  2. Benchmarking Automatic Machine Learning Frameworks
  3. Efficient and Robust Automated Machine Learning

你可能感兴趣的:(深度学习)