《自动机器学习(AutoML)最新综述》
作者:互联网
这是一篇来自第四范式(4Paradigm)公司的关于 AutoML 的综述文章。第四范式是目前国内关于 AutoML 研究较早较深入的公司之一。AutoML 全称是 Automated Machine Learning,是 2014 年以来,机器学习和深度学习领域最炙手可热的领域之一。
本篇综述文章系统地对 AutoML 领域给出了综述,从出现原因、问题定义、问题构成、基本策略、高级策略、应用、及总结等方面进行了全面的介绍。下面是一些简要的笔记。
AutoML出现原因
机器学习的应用需要大量的人工干预,这些人工干预表现在:特征提取、模型选择、参数调节等机器学习的各个方面。AutoML 试图将这些与特征、模型、优化、评价有关的重要步骤进行自动化地学习,使得机器学习模型无需人工干预即可被应用。
AutoML问题定义
作者从机器学习和自动化两个角度给出了定义:
1. 从机器学习角度讲,AutoML 可以看作是一个在给定数据和任务上学习和泛化能力非常强大的系统。但是它强调必须非常容易使用;
2. 从自动化角度讲,AutoML 则可以看作是设计一系列高级的控制系统去操作机器学习模型,使得模型可以自动化地学习到合适的参数和配置而无需人工干预。
一个通用的 AutoML 定义如下:
AutoML的核心任务:
-
Better performance
-
No human assistance
-
Lower computation budgets
AutoML问题构成
AutoML 的主要问题可以由三部分构成:特征工程、模型选择、算法选择。
特征工程
特征工程在机器学习中有着举足轻重的作用。在 AutoML 中,自动特征工程的目的是自动地发掘并构造相关的特征,使得模型可以有最优的表现。除此之外,还包含一些特定的特征增强方法,例如特征选择、特征降维、特征生成、以及特征编码等。这些步骤目前来说都没有达到自动化的阶段。
上述这些步骤也伴随着一定的参数搜索空间。第一种搜索空间是方法自带的,例如PCA自带降维参数需要调整。第二种是特征生成时会将搜索空间扩大。
模型选择
模型选择包括两个步骤:选择一个模型,设定它的参数。相应地,AutoML的目的就是自动选择出一个最合适的模型,并且能够设定好它的最优参数。
算法选择
对于算法选择,AutoML 的目的是自动地选择出一个优化算法,以便能够达到效率和精度的平衡。常用的优化方法有 SGD、L-BFGS、GD 等。使用哪个优化算法、对应优化算法的配置,也需要一组搜索空间。
从全局看
将以上三个关键步骤整合起来看,一个完整的 AutoML 过程可以分成这么两类:一类是将以上的三个步骤整合成一个完整的 pipeline;另一类则是 Network Architecture Search,能够自动地学习到最优的网络结构。在学习的过程中,对以上三个问题都进行一些优化。
基本的优化策略
一旦搜索空间确定,我们便可以实用优化器(optimizer)进行优化。这里,AutoML 主要回答三个问题:
-
选择的优化器可以作用在哪个搜索空间上?
-
它需要什么样的反馈?
-
为了取得一个好的效果,它需要怎样的配置?
简单的优化搜索方式包括 Grid Search 和 Random Search。其中 Grid Search 被广泛使用。
从样本中进行优化的方法主要包括启发式搜索、derivative-free 优化、以及强化学习方法。梯度下降法是一种重要的优化策略。
https://blog.csdn.net/fangqingan_java/article/details/48946903
数值优化(Numerical Optimization)学习系列-无梯度优化(Derivative-Free Optimization) ———————————————— |
|
在实际应用中,有些目标函数的梯度不容易计算,即使使用有限差分等近似算法,也会因为噪声的存在导致结果不精确。无梯度优化算法(DFO-Derivative-Free Optimization)可以在不计算梯度的情况下进行问题的最优化,主要有两类思路,一是根据目标函数的样本进行拟合,对拟合函数进行最优化;二是用一些启发式算法。 1. 有限差分和误差 基于模型的方法 主要思路是,在第k步迭代时,基于该点进行模型近似,通过采样推导出模型中的参数,基于该模型进行最优化计算。
————————————————
坐标和模式搜索方法 坐标搜索方法(Coordinate SearchMethod) 模式搜索方法 每次搜索方向都是从一个“结构集”中选取,找到某个下降点,进行线搜索,否则修改步长,重复该过程。
|
|
其他DFO算法: 共轭方向算法 类似于共轭梯度方法,该方法的目标是最优化 f(x)=12xTAx−bTxf(x)=12xTAx−bTx,不同点在于共轭方向的计算仅仅依靠函数值得到,不依赖梯度的计算。
Parallel subspace property 通过该方法可以找到一系列共轭方向,并且沿着该方向可以得到最优解,以二维情况为例
Nelder-Mead 方法
Implicit Filtering方法 总结 |
|
Nelder–Mead algorithm ( NM算法 )其实是一种非常简单易懂的适用于在线最优化的算法。。。总的来说这个算法有些无脑。。。 收敛速度慢,效果一般般,因为适用范围较广(或者说unconstrained optimization,无固定模型也可以) 核心就是:向着最优的解收敛,不断抛弃更新现有的解
简介: n维空间中,由n+1个顶点,可以组成“最简单”的图形,叫单纯形。 NM算法就是先构造一个出师的,包含给定点的单纯形。 然后使用可能的三种手段(反射,扩展,压缩)去替换函数值最差的顶点。 在以上三种手段失效的时候,使用收缩。 直到该单纯形的半径足够的小。 (半径的定义可以有很多,比如两两点的距离,两两点构成的向量中最大的维度的值, 只要当“半径”趋近与0的时候,该单纯形趋于一个点即可)
以下来自wiki:
理解: Reflection:以最优点为中心,做最差点的反射点,来达到抛弃最差点的目的。 Expansion:扩大最优点的优势,尝试是否能够得到更优的解。 Contraction:收缩搜索范围。 Shrink:整体向着最优解收缩。 |
|
7.1 Description and Analysis of Implicit Filtering
7.1 Description and Analysis of Implicit Filtering The implicit filtering algorithm was originally formulated in [270], [251], and [271], as a difference-gradient implementation of the gradient projection algorithm [18] in which the difference increment is reduced in size as the iteration progresses. A different formulation for unconstrained problems with certain convexity properties was introduced at about the same time in [279]. From the point of view of this book, the simplex gradient is used in a direct way. The algorithmic description and analysis in this chapter uses the results from §6.2 directly. We will focus on unconstrained problems and derive the convergence results that implicit filtering shares with the search algorithms in Chapter 8. Implicit filtering, by using an approximate gradient directly, offers the possibility of improved performance with quasi-Newton methods and can be easily applied to bound constrained problems. We explore these two possibilities in §§7.2 and 7.4. In its simplest unconstrained form, implicit filtering is the steepest descent algorithm with difference gradients, where the difference increment varies as the iteration progresses. Because the gradient is only an approximation, the computed steepest descent direction may fail to be a descent direction and the line search may fail. In this event, the difference increment is reduced. |
|
|
评价策略
基本评价策略
在设计评价策略时,AutoML 主要回答三个问题:
-
这种策略能能够快速进行评价吗?
-
这种策略能够提供准确的评价吗?
-
这种策略需要怎样的反馈?
基本的评价策略包括:
1. 直接评价:直接在目标数据上进行评价,这是被使用最多的策略;
2. 采样:当数据样本量非常大时,采样一些样本进行评价;
3. Early Stop:当遇到一些极端情况使得网络表现效果不好时,可以考虑进行 early stop;
4. 参数重用:将之前学习过的参数重复利用在新任务上,这在两种任务配置差不多时可用;
5. 共轭评价:对于一些可量化的配置,可以用共轭评价法进行。
高级评价策略
高级评价策略主要包括两种:Meta-learning 和 Transfer Learning。
1. Meta-learning 法:从先前的学习经验中提炼出基本的参数和结构配置;
2. Transfer learning 法:从先前的学习经验中提炼出可以重用的一些知识。
应用
-
使用 Auto-sklearn 进行模型选择;
-
使用强化学习进行 Neural Architecture Search;
-
使用 ExploreKit 进行自动特征构建。
展望
未来可能的研究方向:
-
提高AutoML的效率;
-
更明确的问题定义;
-
发展基本和高级的搜索策略;
-
找到更适合的应用。
<style></style>
标签:机器,综述,梯度,算法,搜索,AutoML,方法,最优化 来源: https://www.cnblogs.com/cx2016/p/12899958.html