Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Xu LIANG作者王威力、林亦霖校对王菁编辑王雨桐翻译

一文盘点AutoML库(附PPT等链接)

本文是Masashi Shibata针对AutoML演讲中的摘要。

自动化程度

Jeff Dean在ICML 2019上进行了有关AutoML的演讲,并将自动化分为4个级别

  1. 手动构造预测变量,不引入学习的步骤;
  2. 手工选择特征,学习预测。引入自动化参数调优(HPO)工具,例如Hyperopt,Optuna,SMAC3,scikit-optimize等;
  3. 手工构造算法,端到端学习特征和预测。除了HPO外,还有其他一些工具,例如featuretools,tsfresh,boruta等;
  4. 完全自动化。端到端学习算法,特征和预测。自动化算法(模型)选择工具,例如Auto-sklearn,TPOT,H2O,auto_ml,MLBox等。

参数自动优化的两种方法

广泛使用的优化方法有两种,一种是贝叶斯优化方法,它基于过去的结果搜索未知参数范围。典型的算法有TPE,SMAC,GP-EL等。

另一种方法是在训练时终止学习,从而高效地搜索参数例如逐层减半(Successive Halving),超带宽(Hyperband)等。

蓝色点表示训练将继续,红色点表示训练将停止。

AutoML库

我们可以将这些库分为贝叶斯优化算法和早停法算法。

综合考虑到质量和速度,我们推荐使用的两个库是Optuna和scikit-optimize。

自动化特征工程

TPOT和Auto-sklear在使用上仍然有局限性。因此,我们将特征工程分为两类,特征生成和特征选择

  • 特征生成
  • Featuretools: Deep feature synthesis
  • tsfresh
  • 特征选择
  • 3种方法: 包装法(Wrapper),过滤法(Filter),嵌入法(Embedded)
  • Scikit-lean 和Boruta

自动化算法(模型)选择

AutoML作为一个CASH问题(混合算法选择和超参优化),其中两个重要的问题是,没有一个适用于所有数据集的最优模型;一些模型对于参数很敏感。我们需要同时解决模型选择和超参调优的问题。

Optuna也可以解决CASH问题,如下图。

自动算法选择的比较如下:

  • Auto-sklearn
  • TPOT
  • h2o-3
  • auto_ml
  • MLBox

图七表示的是不同框架算法下,在分类数据集问题上的F1值。图八表示的不同框架算法下,在回归数据集上的均方误差(MSE)。其中箱型图分别表示上限、下四分位、中位、下四分位、下限,灰色圆圈表示异常值。

针对不同的任务推荐使用不同方法。

  • 回归任务:auto-sklearn(基于贝叶斯)
  • 分类任务:TPOT(基于遗传算法

自动化的神经体系结构搜索

自动神经体系结构搜索在学术界也是一个非常热门的话题,但在工业界并未得到广泛使用。

Reference

  • https://www.slideshare.net/c-bata/pythonautoml-at-pyconjp-2019
  • https://arxiv.org/pdf/1012.2599.pdf
  • https://arxiv.org/pdf/1810.05934.pdf
  • https://arxiv.org/pdf/1502.07943.pdf
  • https://arxiv.org/pdf/1808.06492.pdf

以下是日语幻灯片的链接:

https://www.slideshare.net/c-bata/pythonautoml-at-pyconjp-2019

原文标题:

An Overview of AutoML Libraries Used in Industry

原文链接:

https://towardsdatascience.com/overview-of-automl-from-pycon-jp-2019-c8996954692f

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

入门AutoML
6
相关数据
参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

分类数据技术

一种特征,拥有一组离散的可能值。以某个名为 house style 的分类特征为例,该特征拥有一组离散的可能值(共三个),即 Tudor, ranch, colonial。通过将 house style 表示成分类数据,相应模型可以学习 Tudor、ranch 和 colonial 分别对房价的影响。 有时,离散集中的值是互斥的,只能将其中一个值应用于指定样本。例如,car maker 分类特征可能只允许一个样本有一个值 (Toyota)。在其他情况下,则可以应用多个值。一辆车可能会被喷涂多种不同的颜色,因此,car color 分类特征可能会允许单个样本具有多个值(例如 red 和 white)。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

特征选择技术

在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择、属性选择或变量子集选择。 它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。

模型选择技术

模型选择是从给定数据的一组候选模型中选择统计模型的任务。对于具有类似预测或解释力的候选模型,最简单的模型最有可能是最佳选择(奥卡姆剃刀)。

遗传算法技术

遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。 遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解可抽象表示为染色体,使种群向更好的解进化。

F1值技术

为了能够评价不同算法的优劣,在Precision和Recall的基础上提出了F1值的概念,来对Precision和Recall进行整体评价。F1的定义如下: F1值 = 正确率 * 召回率 * 2 / (正确率 + 召回率)

结构搜索技术

深度学习提供了这样一种承诺:它可以绕过手动特征工程的流程,通过端对端的方式联合学习中间表征与统计模型。 然而,神经网络架构本身通常由专家以艰苦的、一事一议的方式临时设计出来。 神经网络架构搜索(NAS)被誉为一条减轻痛苦之路,它可以自动识别哪些网络优于手工设计的网络。

推荐文章
暂无评论
暂无评论~