之前的工作中也有多少接触过这个AutoML(Automated Machine Learning)的概念,简单来说就是把模型开发的标准过程模块化,都交给一些自动化的组件来完成,比如数据集的划分、特征衍生、算法选择、模型训练、调优、部署以及后续的监控,都“一条龙”地在AutoML实现。
从Google Cloud绘制的AutoML的工作原理图可以看出,我们使用者只需要给其提供数据源,以及好坏样本(或者不需要),然后后面的一切都交给AutoML组件去完成。
???? AutoML的关键节点
我们可以认识到AutoML大大降低了机器学习模型的开发门槛,但是我们还是需要了解这里面的原理的,这里涉及了机器学习的几个关键节点的内容,需要我们特别关注。
其中最为重要的是自动化特征工程了,一般缩写为“Auto FE”,主要是包括了预处理、特征选择、特征提取、元学习等等的操作,把每一个环节的处理逻辑写到脚本里,结合一些策略让逻辑更加科学,结果更加合理。
第二个就是自动化模型选择,也叫Automated Model Selection,简称AMS,就是根据实际的数据来选择合适的算法。因为大多数的算法都是有超参数的,这时候AutoML是需要进行自动化的超参数优化的,英文叫做Hyperparameter Optimization,简称HPO,在学习中了解到这块的知识研究还是蛮丰富的,主要有下面的一些方法:
基于贝叶斯优化的超参数优化 Bayesian Optimization
基于进化算法的超参数优化 Evolutionary Algorithms
基于本地搜索的超参数优化 Local Search
基于随机搜索的超参数优化 Random Search
基于粒子群优化算法的超参数优化 Particle Swarm Optimization
基于元学习的超参数优化 Meta Learning
基于迁移学习的超参数优化 Transfer Learning
还有一个概念就是NAS,即Neural Architecture Search(神经网络结构搜索),因为目前深度学习应用很广泛了,很多时候是需要搭建一个深度神经网络,这里面涉及的参数是真的多,按照传统的超参数优化的方法显得十分吃力,所以也有了这个NAS的概念,而关于NAS的研究方法,主要有下面几种:
基于进化算法的超参数优化 Evolutionary Algorithms
基于元学习的超参数优化 Meta Learning
基于迁移学习的超参数优化 Transfer Learning
基于本地搜索的超参数优化 Local Search
基于强化学习的超参数优化 Reinforcement Learning
基于Network Morphism
基于 Continuous Optimization优化
???? 市面上的AutoML产品
目前AutoML工具我们可以从两个途径来进行获取学习:
开源框架:如Auto-Keras、Auto-sklearn等开源工具
商业服务:如Google Cloud、Microsoft Azure等
从Awesome-AutoML-Papers(https://github.com/hibayesian/awesome-automl-papers#projects)里有一张AutoML工具的对比图,大家可以浏览一波。
名称 | 支持类型 | 编程语言 |
---|---|---|
AdaNet | NAS | Python |
Advisor | HPO | Python |
AMLA | HPO, NAS | Python |
ATM | HPO | Python |
Auger | HPO | Python |
Auto-Keras | NAS | Python |
AutoML Vision | NAS | Python |
AutoML Video Intelligence | Python | |
AutoML Natural Language | NAS | Python |
AutoML Translation | NAS | Python |
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rgzn-amjqxx/5188.html