《taking human out of learning applications: a survey on automated machine learning》
AutoML出现的原因
机器学习大量人工干预: 特征提取、模型选择、参数调节
autoML试图将这些与特征、模型、优化、评价有关的重要步骤进行自动化的学习
autoML问题定义
- 机器学习角度: autoML可以看做是在给定数据和任务上学习和泛化能力非常强的系统。他必须非常容易使用
- 自动化角度: autoML是设计一系列高级的控制系统去操作机器学习模型,使得模型可以自动地学习到合适的参数和配置而无需人工干预
通用的autoML定义:
autoML的核心任务:
- better performance
- no human assistance
- lower computation budgets
autoML问题构成
分为三个部分:特征工程、模型选择、算法选择
特征工程
自动地发掘并构造相关的特征,使得模型可以有最优的表现。
还包括一些特定的特征增强方法,如:特征选择、特征降维、特征生成、以及特征编码(这些目前都没有达到自动化的阶段)
伴随着一定的参数搜索空间:1.自带的,如:PCA自带降维参数需要调整
2. 特征生成时会将搜索空间扩大
模型选择
包括两个步骤:选择一个模型,设定它的参数。
autoML的目的就是自动选择出一个最合适的模型,并且能够设定好他的最优参数。
算法选择
autoML的目的是自动地选择出一个优化算法,以便能够达到效率和精度的平衡。
常用的优化方法有:SGD、L-BFGS、GD
全局看
将以上三个步骤整合起来,一个完整的autoML的过程可以分成这么两类:
- 将以上的三个步骤整合成一个完整的pipeline
- Network Architecture Search, 能够自动地学习到最优的网络结构
基本的优化策略
一旦搜索空间确定,我们便可以使用优化器(optimizer)进行优化。
- 选择的优化器可以作用在哪个搜索空间上?
- 他需要什么样的反馈?
- 为了取得一个好的效果,它需要怎样的配置?
简单的优化搜索方式包括:GridSearch 和 RandomSearch。
GridSearch被广泛使用。
评价策略
基本评价策略
在设计评价策略时,autoML主要回答三个问题:
- 这种策略能够快速进行评价吗?
- 这种策略能够提供准确的评价吗?
- 这种策略需要怎样的反馈?
基本的评价策略包括:
- 直接评价
- 采样: 当数据样本量非常大时,采样一些样本进行评价。
- early stop
- 参数重用
- 共轭评价:对于可量化的配置,可以用共轭评价法进行。
高级评价策略:
- meta-learning : 从先前的学习经验中提炼出基本的参数和结构配置
- transfer-learning : 从先前的学习经验中提炼出可以重用的一些知识
应用
- 使用Auto-sklearn进行模型选择
- 使用强化学习进行neural architecture search
- 使用explorekit进行自动特征构建
展望
未来可能的研究方向:
- 提高autoML效率
- 更明确的问题定义
- 发展基本和高级的搜索策略
- 找到更合适的应用