标签:组合 展望 方法 模型 搜索 AutoML 转载 优化
原文地址:
https://www.cnblogs.com/marsggbo/p/9309520.html
----------------------------------------------------------------------------------------------
以下内容是对AutoML技术现状与未来展望讲座的总结。
1.机器学习定义
-
《西瓜书》中的直观定义是:利用经验来改善系统的性能。(这里的经验一般是指数据)
-
Mitchell在《Machine Learning》一书中的较为形式化的定义是一个程序通过给它一些数据,它能够提升在某个任务上的某种度量。(如下图示)
下图很清楚明了的展示了机器学习所做的事情,不再赘述。
2.AutoML技术回顾
很多时候在某一领域使用机器学习得到了效果很好的模型,但是若要在另一个领域使用该模型则不一定适用,而且通常需要大量的专业知识。正是由于受到这样的限制,所以才有了AutoML技术的发展。
2.1 AutoML研究的主要场景
2.1.1 静态闭环AutoML
a. 介绍
第一个场景是静态闭环AutoML,该场景是目前用的最多的场景。该场景是给定数据和度量标准之后,通过AutoML选择出效果最好的模型。该过程没有任何的人工干预,都是算法自动选择的。
下图展示了机器学习的基本流程图,可以看到主要有数据预处理、特征处理、模型训练等过程,并且每个过程都包含多种方法。
b. 存在的问题
而AutoML的本质工作是将各个过程的方法进行选择、组合、优化。
但是AutoML存在如下问题:
- 由于我们通常并不知道所优化的参数和预期效果之间是什么样的显示表达,所以 目标函数形式未知。
- 由于可能的组合方式太多,所以 搜索空间巨大
- 正是由于组合方式太多,而且每一个组合都需要从头做数据预处理,特征处理,模型训练等操作,所以 函数计算代价巨大。
c. 解决办法
- 1.基础搜索方法
该方法其实就是网格搜索,即将各种参数排列成矩阵的形式,然后使用 笛卡尔积(A×B=(x,y)|x∈A∧y∈BA×B=(x,y)|x∈A∧y∈B) 将所有的组合可能遍历一遍。
该方法有两个缺陷:
- 随着超参数的规模越来越大,组合的可能性会指数增加,从而导致计算量大大增加。
- 有的参数重要,但是有的并不重要,但是网格搜索会无差别组合,所以在不重要参数上浪费大量时间和计算资源。所以通常会采用随机搜索的方法来增加搜索效率,并且不会存在指数爆炸,组合爆炸的问题。
- 2.基于采样的方法
上面介绍的网格搜索和随机搜索实现起来简单,而且使用比较多,但是它们搜索起来比较盲目。
所以有了基于采样的方法以期望避免搜索盲目。
该方法是基于某种策略去产生一组可能的参数候选组合,然后对候选组合进行评估。评估之后我们可以得到反馈,基于这个反馈我们会进一步优化搜索策略,以此迭代去解决优化问题。
这样的一个优化过程是一个黑盒函数,学术界也叫做“零阶优化”,因为在这一过程中我们只能获取函数值,无法获取到它的导数信息。
具体的实现方法有如下四种:
- 1) 基于模型的零阶优化
如图示,该方法也是通过采样,评估,反馈等迭代操作来得到优化结果,包含两个重要部件:一是用什么样的模型,而是采用什么样的采样策略。
而常用的优化方法有两种:贝叶斯优化和 随机坐标收缩。
贝叶斯优化是被研究的最多的一种方法之一,而最常见的是采用高斯过程来建模。但是高斯过程在求解的时候需要一个三次方操作,所以当数据点特别多的时候计算效率是非常低下的。所以就有贝叶斯神经网络来解决复杂度问题。
另外,高斯过程要求参数必须是连续空间的,而且还有一些其他的限制,所以需要用到随机森林来解决参数类型受限问题。
对应的参数选择策略标准有:
- 选择概率提升较大的点
- 选择提升幅度大的点
- 通过交叉熵选择
- GP_UCB(不了解。。。)
贝叶斯模型存在一个致命的错误,那就是它依赖于很强的模型假设(表示我们对函数空间的认知)。
为了解决贝叶斯的缺点,有人提出可以通过分类的方式来解决,即将好的点和坏的点区分开来,而不是对模型进行假设,该方法就是随机坐标收缩(RACOS, RAndomized Coordinate Shrinking)。
该方法采用的模型是使用框将好的点选中,坏的点在框外。而框需要满足两个条件:一是尽可能的随机,而是框要尽可能的“瘦”,最瘦就是瘦成一条垂直于坐标轴的直线。
- 2) 局部搜索
该方法是指从一个点出发,在它的邻域内进行搜索。
最常见的局部搜索方法是 爬山法。即寻找可能性最大的一个方向后,往该方向前进。该方法能够收敛,但是可能会陷在局部最优解或者停在比较平的地方。
为了解决陷在局部最优问题,迭代式局部搜索应运而生。它的思想是在找到局部最优点后,对局部最优点有一些扰动,然后重新开始一轮局部搜索。
- 3) 启发式算法
该类方法相较于前两种缺乏坚实的理论支撑,主要是根据对生物,自然界的观察,去模拟一些生物或者自然现象,从而进行优化。
- 4) 强化学习
该方法是有一种杀鸡用牛刀的感觉,因为强化学习自身的优化就是一个比较大的问题。
- 3.基于梯度的方法
2.1.2 外部知识辅助AutoML
该场景其实也是静态场景,只不过该场景会从其他任务迁移一些已经做过的知识来作为辅助。
标签:组合,展望,方法,模型,搜索,AutoML,转载,优化 来源: https://www.cnblogs.com/devilmaycry812839668/p/10800388.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。