精华内容
下载资源
问答
  • AutoML

    2021-02-24 10:46:30
    目前一个优秀的机器学习和深度学习模型,离不开这几个方面: 一、优秀的数据预处理; 二、合适的模型结构和功能;...当然AutoML并不简单的进行暴力或者随机的搜索,其仍然需要机器学习方面的知识,例如贝叶斯优化、强
  • AutoML作为一个有效的工具可以帮助很多企业方便地实施和加速人工智能方面的应用落地。对于还不具备数据科学团队的公司来说,AutoML可以是全自动化的模型构建工具来使用,即便对于具备一定数据科学能力的公司,AutoML...
  • FLAML-快速和轻量级AutoML FLAML是一个轻量级的Python库,可自动,高效且经济地找到准确的机器学习模型。 它使用户不必为每个学习者选择学习者和超参数。 它既快速又经济。 简单轻巧的设计使其易于扩展,例如添加...
  • 亚历克斯 用于表格数据的最先进的自动机器学习python库 适用于任务: 二进制分类 回归 多类分类(正在进行中...) 基准结果 越大越好从 方案 特征 自动数据清理(自动清理) ... from automl_alex impor
  • AutoML是一个很宽泛的术语,理论上来说,它囊括从数据探索到模型构建这一完整的数据科学循环周期。但是,我发现这个术语更多时候是指自动的特征预处理和选择、模型算法选择和超参数调优,这些步骤处在数据科学流程的...
  • AutoKeras:基于Keras的AutoML系统。 它是由德克萨斯农工大学的开发的。 AutoKeras的目标是使所有人都能使用机器学习。 例 这是使用该软件包的简短示例。 import autokeras as ak clf = ak . ImageClassifier () ...
  • 谷歌AutoML调研报告

    2018-11-05 10:38:08
    谷歌AutoML调研报告 2017 年 5 月,谷歌大脑研究人员宣布创建了 AutoML,该 AI 系统能够创造自己的 AI 系统。最近,他们决定让 AutoML 攻克迄今为止对它来说最大的挑战,令人惊讶的是,AutoML 创造了一个非常厉害的...
  • AutoML4TS-源码

    2021-02-04 01:44:18
    AutoML4TS:自动化机器学习AutoML时间序列预测 AutoML4TS是用于基于经典回归模型预测时间序列数据的自动化工具。 它适用于不同的时间序列,例如季节性,非季节性,趋势,非趋势。 使用此工具时,用户无需在不同模型...
  • 个人以为,机器学习是朝着更高的易用性、更低的技术门槛、更敏捷的开发成本的方向去发展,且AutoML或者AutoDL的发展无疑是最好的证明。因此花费一些时间学习了解了AutoML领域的一些知识,并对AutoML中的技术方案进行...
  • 脑自动ML 该存储库包含与AutoML相关的模型和库的列表。
  • BTB(“Bayesian Tuning and Bandits”)是一个简单的、可扩展的后端,用于开发自动调整系统,如 AutoML 系统。 它提供了一个易于使用的界面,用于调整模型和在模型之间进行选择。 它目前正在几个 AutoML 系统中...
  • YOLOv4到AutoML 将YOLOv4 Darknet格式的txt文件转换为AutoML csv格式,以进行Cloud AutoML视觉对象检测。 Python 3.7或更高版本 注意:只能使用一个标签 用法: python3 convert.py [yolo_txts_path] [gs_path] ...
  • Awesome-AutoML 整理与AutoML相关的研究,工具,项目和其他资源的列表 自动贴图 AutoML是使用机器学习方法和过程来自动化机器学习系统并使之更易于访问的工具和技术。 它已经存在了几十年,所以它不是一个全新的...
  • 用于文本,图像和表格数据的AutoML AutoGluon自动执行机器学习任务,使您可以轻松地在应用程序中实现强大的预测性能。 仅需几行代码,您就可以在文本,图像和表格数据上训练和部署高精度的机器学习和深度学习模型。...
  • 使用H2O AutoML进行预测 Modeltime H2O为Modeltime预测生态系统提供了H2O后端。 主要算法是H2O AutoML ,它是为速度和规模而构建的自动机器学习库。 # Install Development Version devtools :: install_github( ...
  • 自动机器学习(AutoML)的目标是让领域专家即使没有统计学和机器学习方面的广泛知识也能自动构建机器学习应用,从而减少对数据科学家的需求。机器学习(ML)近年来的重要性与日俱增:自动语音识别、自动驾驶汽车和「...
  • 一个轻量级的AutoML工具包,拥有自动进行超参数搜索/模型搜索的功能,支持用户将任务部署在本地或分布式系统上;NNI也是非常友好的开源工具,用户可以方便地拓展自己的搜索算法
  • autocluster是用于执行集群任务的自动化机器学习(AutoML)工具箱。 报告和演示幻灯片可在和找到。 先决条件 Python 3.5或更高版本 也可以使用Linux OS或 如何开始? 首先,安装 : sudo apt-get install build-...
  • AutoGluon:用于深度学习的AutoML工具包AutoGluon使机器学习任务自动化,使您能够轻松地在应用程序中实现强大的预测性能。 仅需几行代码,您就可以训练和取消AutoGluon:用于深度学习的AutoML工具包AutoGluon使机器...
  • 用python调用H2O.ai实现机器学习建模和AutoML, Artificial Intelligence Made Easy with H2O.ai – Towards Data Science.
  • 很棒的AutoML和轻量级模型:高质量(最新)的AutoML作品和轻量级模型的列表,包括1.)神经体系结构搜索,2。)轻量级结构,3。)模型压缩,量化和加速,4。 )超参数优化,5.)自动化特征工程
  • 用于图上机器学习的autoML框架和工具包。 @THUMNLab正在积极开发中 随时打开或与我们联系如果您有任何意见或建议,请 ! 介绍 AutoGL是为研究人员和开发人员开发的,可以对图形数据集和任务快速进行autoML。 请参阅...
  • 使用AutoML技术检测接收信号的调制方案。 自动贴图 AutoML Procedure用于跟踪和测试生成的数据。 AutoKeras用于执行深度学习模型的AutoML。 参考 综合数据集 数据生成 数据表示接收方的星座接收信号。 数据是使用...
  • 【导读】机器学习中,调参是一项繁琐但至关重要的任务,因为它很大程度上影响了算法的性能。手动调参十分耗时,网格和随机搜索不需要人力,但需要很长的运行时间。因此,诞生了许多自动调整超参数的方法。...
  • Oboe和TensorOboe这套库是自动化的机器学习(AutoML)系统,它们使用协作过滤为用户指定的时限内的监督学习任务找到良好的模型。 之后可以执行进一步的超参数调整。 该名称来自乐器双簧管:在管弦乐队中,双簧管会...
  • AutoML简介

    千次阅读 2020-04-09 00:20:01
    AutoML的范围很广,可以包括从自动数据分析,自动特征工程,自动缩放,自动正则化,自动特征选择,自动模型选择,自动超参数优化等等。目前的研究方向,主要集中在CASH[1],既Combined Algorithm Selection and ...

    近年来机器学习有了大幅增长,自动化机器学习也有很大需求。本文将从传统机器学习和深度学习两个角度介绍。

    传统机器学习AutoML

    CASH

    AutoML的范围很广,可以包括从自动数据分析,自动特征工程,自动缩放,自动正则化,自动特征选择,自动模型选择,自动超参数优化等等。目前的研究方向,主要集中在CASH[1],既Combined Algorithm Selection and Hyperparameter Optimization。

    CASH问题最早由Auto-Weka[1]的作者Thornton提出,他同时提出了用贝叶斯优化 [2] 解决。

    贝叶斯优化

    在介绍贝叶斯优化之前,先回顾一下有哪些找极值的方法。最简单的当然是网格搜索和随机搜索。任何学过机器学习的人,都应该知道梯度下降。那么为什么这里不用梯度下降,而用贝叶斯优化呢?因为梯度下降要求目标函数是凸函数,可微分。我们并不知道机器学习算法的超参数是不是这样的函数,所以,我们用了更加通用的贝叶斯优化。他的好处是,不需要凸函数,不需要可微分。

    贝叶斯优化我们把我们要研究的这个黑盒函数叫做目标函数Objective Function。因为目标函数的开销大,我们要给他找一个近似函数,这个函数叫代理函数Surrogate Function。代理函数会计算出一条平均值曲线和对应的标准差(Standard Deviation)。有个代理函数,我们就可以找到一下个探索点。这个过程,用一个获取函数Acquisition Function里实现。

    贝叶斯优化,是在一个特定的搜索空间search space展开的。

    整个过程如下:

    1. 在搜索空间中,选几个初始点X
    2. 用目标函数计算初始点X对应的解y
    3. 更新代理函数
    4. 通过acquisition function获得下一个样本点。
    5. Goto 2
      中英文流程图如下:

    在这里插入图片描述
    下面是一个具体的例子:
    假如我们有如下的目标函数:

    在这里插入图片描述
    我们计算了x=0和1时的两个值,代理用他们拟合了平均值和方差如下:
    在这里插入图片描述

    上图中的蓝色线段为我们的目标函数,绿色的是通过代理函数拟合的平均值,绿色虚线是平均值减去或者加上标准差。或者说,代理函数认为真实函数的值的范围在绿色虚线范围内。

    这时,我们可以根据代理函数提供的信息,去寻找下一个点。这里,我们的代理函数用的算法是UCB (Upper Confidence Bound),他找下一个点的方法是找平均值和标准差的和。这里我们忽略beta,或者说我们让beta等于1。

    在这里插入图片描述

    这时,我们看到,最大值出现在5.5附近。我们用这个x,带入目标函数,求得对应的y。这样,我们就有了三个样本点了。这时,我们继续。

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    我们看到,经过4次迭代,贝叶斯优化已经很接近最大值了。

    比起其他的优化方法,贝叶斯优化掉用目标函数次数比较少。而我们知道,机器学习拟合函数(fit)是一个开销比较大的函数,如果是深度学习,那就更大了。

    比起梯度下降,贝叶斯优化不容易陷入局部最优解。

    Auto-Sklearn

    Auto-Sklearn[3]继承了Auto-Weka的贝叶斯优化,并在贝叶斯优化的基础上,提出了两个新的改进。

    在这里插入图片描述

    一个改进是meta-learning,Auto-Sklearn通过机器学习的方法,根据数据集的大小,数据集的目标等特征可以大致估计出应该选择的超参数。这样可以减小超参数的搜索空间,从而提高了效率。

    另一个改进是ensemble learning,通过ensemble,可以提高准确率。

    笔者安装了Auto-Sklearn,并用我们最常见的,Kaggle中的泰坦尼克和波斯顿房价做了实验,实验用的CPU是一块i7。两个数据库,都跑了一个小时。成绩score分布是0.76和0.85。这个表现,一般对准确率要求没那么高的场景,应该可以应付了。

    Auto-Skleran并不会处理任何的字符行的特征。所以,只能自行删除泰坦尼克里面的名字,船票等字符型特征。登船地点,性别也只能自行OneHot,或者转成布尔型。

    示例代码:

    import autosklearn.classification
    cls = autosklearn.classification.AutoSklearnClassifier()
    cls.fit(X_train, y_train)
    predictions = cls.predict(X_test)
    

    官网:
    https://automl.github.io/auto-sklearn/master/

    深度学习AutoML

    原生NAS

    Neural Architecture Search[4]是现在深度学习自动化的主要研究方向。原生的NAS用字符串表示深度模型,这样,就把深度学习模型里层(Layer)的预测,转化成了一个RNN的问题。NAS把这个RNN叫做控制器Controller。通过强化学习,控制器不断的调整自己的参数。

    在这里插入图片描述
    这样,就可以训练出串联模型了。
    在这里插入图片描述

    那么,如果模型有分叉怎么办呢?

    NAS的办法是,训练N-1个二分类,用来预测当前层(第N层),分别和前面的(N-1)成的哪个层相连接。

    在这里插入图片描述

    NAS发现了很多新的结构,比如:

    在这里插入图片描述

    上图中的第一个为原始的LSTM,后面两个为NAS发现的。

    NAS家族

    NAS出现以后,不同的学者提出了很多不同的NAS。香港浸会大学的he xin[5]等人对其进行了总结。这些新的NAS用了不同的控制器算法,有网格搜索、随机搜索、强化学习、遗传算法(EA)、贝叶斯优化、梯度下降等。在提高效率方面,也想出了Low Fidelity, Transfer Learning, Surrogate, Early Stopping等方法。

    Low Fidelity是指减少深度学习的数据量,使其更快收敛。Transfer Learning迁移学习保留了之前的层的参数,只训练新加入的层。Surrogate是指用代理函数。Early Stopping提前结束训练,也可以节省计算资源。

    下图是各种NAS的比较:

    在这里插入图片描述

    Network Morphism

    在NAS的时候,我们会不断的尝试新的网络结构。如果,我们可以让新的网络从已经训练过的网络学习参数,就可以大大的节省时间了。
    Network Morphism[6]很好的解决了这个问题。NM有人翻译成网络变形,也有翻译成网络态射的。网络变形把父网络的知识迁移到子网络,这样,子网络可以达到高于或者等于父网络的表现。
    在这里插入图片描述

    他主要包括线性变化,非线性变化,宽带变化,Kernal变化,子网变化等。

    线性变化

    在这里插入图片描述

    网络从第l-1层到第l+1层,线性变化的时候,其实就是乘了矩阵G。那么,我们把G分解成Fl和Fl+1就完成了变形。

    非线性变化

    非线性变化,无法像线性变化一样处理。在两个激活函数(φ)中间直接插入一个激活函数肯定不行。所以,有了一个Parametric Activation Function,或者叫P激活函数。

    在这里插入图片描述

    他的思路是,a的初始值是1,这样一开始P激活就退化成了Identity矩阵了。以后a的值会被训练出来。

    宽度独立变化

    在这里插入图片描述

    带浪线的是子网的函数,经过一系列变化,可以得到

    这时,我们只要让乘式两边其一为0,另一个为随机值即可。

    Kernal独立变化

    在这里插入图片描述

    Kernal变化比较简单,只需要做Padding。

    子网变化

    子网变化分为两步,第一步是不断的执行线性或者非线性变化,插入新的层。第二步产生分支,既把G等分。

    在这里插入图片描述

    AutoKeras

    AutoKeras是一款基于Keras的开源的AutoML框架。他采用了贝叶斯优化和网络变形等技术。目前,他支持CNN,RNN和简单的深度学习模型的搜索。

    只需要四行代码,就可以自动搜索出一个神经网络。

    import autokeras as ak
    
    clf = ak.ImageClassifier()
    clf.fit(x_train, y_train)
    results = clf.predict(x_test)
    

    具体可以参考其官网:
    https://autokeras.com/

    运用场景

    AutoML针对的是比较成熟的人工智能解决方案。这时,调参和神经网络的结构已经有了成熟的解决方案。这些场景包括传统的机器学习,图像识别,目标检测,文本识别等。

    对于语音等不成熟的人工智能解决方案,还无法使用AutoML。

    参考

    [1] C. Thornton, F. Hutter, H. Hoos, and K. Leyton-Brown. Auto-WEKA: combined selection and hyperparameter optimization of classification algorithms. In Proc. of KDD’13, pages 847–855, 2013.
    [2] E. Brochu, V. Cora, and N. de Freitas. A tutorial on Bayesian optimization of expensive cost functions, with application to active user modeling and hierarchical reinforcement learning. CoRR, abs/1012.2599, 2010.
    [3] Efficient and Robust Automated Machine Learning, Feurer et al., Advances in Neural Information Processing Systems 28 (NIPS 2015).
    [4] Zoph, Barret, and Quoc V. Le. “Neural Architecture Search with Reinforcement Learning.” arXiv: Learning (2016).
    [5] He, Xin, Kaiyong Zhao, and Xiaowen Chu. “AutoML: A Survey of the State-of-the-Art…” arXiv: Learning (2019).
    [6] Wei, Tao, et al. “Network morphism.” international conference on machine learning (2016): 564-572.

    原文

    https://ericwebsmith.github.io/2020/04/04/automl/

    展开全文
  • automl-源码

    2021-03-06 03:09:11
    automl
  • AutoML-源码

    2021-03-08 01:53:50
    AutoML

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,666
精华内容 8,266
关键字:

automl