AutoML - 机器学习模型自动调参
Auto ML

概念

AutoML听起来好像只是把ML给自动化起来。那么机器学习的哪些环节,还做不到完全自动化?

我们想象中的场景是:用户只需要提供数据,AutoML系统就可以通过数据学习到最佳表现的模型。

模型参数和模型超参数的区别

最优化算法的目标是求解模型的参数。而AutoML的目标是求解模型的超参数。

超参数是无法通过算法学习得到的参数; 超参数需要人为预先设置,而每组超参数会产生结构不同的模型; 超参数需要一定的调整去适应不同的应用场景; 这里宽泛意义上的超参数,可能是固定结构模型的传统意义超参,甚至可能是模型结构本身。

学习什么样的超参

自动调参方法

黑盒优化

GridSearch

RandomSearch

贝叶斯优化(BO)

基于高斯过程(Gaussian Process)的贝叶斯优化(Bayesian optimization).贝叶斯调优的原理是建立在高斯过程回归上,而高斯过程回归则是在求解目标函数的后验分布

适用于维度比较低的调参场景,一般10-20维就差不多了.

Acquisition Function,也就是收获函数

Multi-armed Bandit

hyperband 算法

开源框架

NNI

https://github.com/microsoft/nni

Google Vizier

https://github.com/tobegit3hub/advisor

MLBox

https://github.com/AxeldeRomblay/MLBox

auto-sklearn

https://github.com/automl/auto-sklearn

google-automl

https://github.com/google/automl/tree/master/efficientdet

google-automl_zero

https://github.com/google-research/google-research/tree/master/automl_zero

Ray-Tune

https://github.com/ray-project/ray/tree/master/python/ray/tune

optuna

Reference

AutoML-Zero

AUTOML: METHODS, SYSTEMS, CHALLENGES 本书已经初版了中文译版

meta-learning one blog

*****
Written by Lu.dev on 20 July 2019