0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分析四种自动化的机器学习工具包,更好地建立网络模型

如意 来源:机器之心 作者:Andre Ye 2020-09-22 14:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

AutoML 是当前深度学习领域的热门话题。只需要很少的工作,AutoML 就能通过快速有效的方式,为你的 ML 任务构建好网络模型,并实现高准确率。简单有效!数据预处理、特征工程、特征提取和特征选择等任务皆可通过 AutoML 自动构建。

自动机器学习(Automated Machine Learning, AutoML)是一个新兴的领域,在这个领域中,建立机器学习模型来建模数据的过程是自动化的。AutoML 使得建模更容易,并且每个人都更容易掌握。

在本文中,作者详细介绍了四种自动化的 ML 工具包,分别是 auto-sklearn、TPOT、HyperOpt 以及 AutoKeras。如果你对 AutoML 感兴趣,这四个 Python 库是最好的选择。作者还在文章结尾文章对这四个工具包进行了比较。

auto-sklearn

auto-sklearn 是一个自动机器学习工具包,它与标准 sklearn 接口无缝集成,因此社区中很多人都很熟悉该工具。通过使用最近的一些方法,比如贝叶斯优化,该库被用来导航模型的可能空间,并学习推理特定配置是否能很好地完成给定任务。

该库由 Matthias Feurer 等人提出,技术细节请查阅论文《Efficient and Robust Machine Learning》。Feurer 在这篇论文中写道:

我们提出了一个新的、基于 scikit-learn 的鲁棒 AutoML 系统,其中使用 15 个分类器、14 种特征预处理方法和 4 种数据预处理方法,生成了一个具有 110 个超参数的结构化假设空间。

auto-sklearn 可能最适合刚接触 AutoML 的用户。除了发现数据集的数据准备和模型选择之外,该库还可以从在类似数据集上表现良好的模型中学习。表现最好的模型聚集在一个集合中。

分析四种自动化的机器学习工具包,更好地建立网络模型

图源:《Efficient and Robust Automated Machine Learning》

在高效实现方面,auto-sklearn 需要的用户交互最少。使用 pip install auto-sklearn 即可安装库。

该库可以使用的两个主要类是 AutoSklearnClassifier 和 AutoSklearnRegressor,它们分别用来做分类和回归任务。两者具有相同的用户指定参数,其中最重要的是时间约束和集合大小。

更多 AutoSklearn 相关文档请查阅:https://automl.github.io/auto-sklearn/master/。

TPOT

TPOT 是另一种基于 Python 的自动机器学习开发工具,该工具更关注数据准备、建模算法和模型超参数。它通过一种基于进化树的结,即自动设计和优化机器学习 pipelie 的树表示工作流优化(Tree-based Pipeline Optimization Tool, TPOT),从而实现特征选择、预处理和构建的自动化。

分析四种自动化的机器学习工具包,更好地建立网络模型

图源:《Evaluation of a Tree-based Pipeline Optimization Tool for Automating Data Science》 。

程序或 pipeline 用树表示。遗传编程(Genetic Program, GP)选择并演化某些程序,以最大化每个自动化机器学习管道的最终结果。

正如 Pedro Domingos 所说,「数据量大的愚蠢算法胜过数据有限的聪明算法」。事实就是这样:TPOT 可以生成复杂的数据预处理 pipeline。

分析四种自动化的机器学习工具包,更好地建立网络模型

潜在的 pipelie(图源:TPOT 文档)。

TPOT pipeline 优化器可能需要几个小时才能产生很好的结果,就像很多 AutoML 算法一样(除非数据集很小)。用户可以在 Kaggle commits 或 Google Colab 中运行这些耗时的程序。

也许 TPOT 最好的特性是它将模型导出为 Python 代码文件,后续可以使用它。具体文档和教程示例参见以下两个链接:

TPOT 文档地址:https://epistasislab.github.io/tpot/。

TPOT 的教程示例地址:https://epistasislab.github.io/tpot/examples/

HyperOpt

HyperOpt 是一个用于贝叶斯优化的 Python 库,由 James Bergstra 开发。该库专为大规模优化具有数百个参数的模型而设计,显式地用于优化机器学习 pipeline,并可选择在多个核心和机器上扩展优化过程。

但是,HyperOpt 很难直接使用,因为它非常具有技术性,需要仔细指定优化程序和参数。相反,作者建议使用 HyperOpt-sklearn,这是一个融合了 sklearn 库的 HyperOpt 包装器。

具体来说,HyperOpt 虽然支持预处理,但非常关注进入特定模型的几十个超参数。就一次 HyperOpt sklearn 搜索的结果来说,它生成了一个没有预处理的梯度提升分类器:

如何构建 HyperOpt-sklearn 模型可以查看源文档。它比 auto-sklearn 复杂得多,也比 TPOT 复杂一点。但是如果超参数很重要的话,它可能是值得的。

文档地址:http://hyperopt.github.io/hyperopt-sklearn/

AutoKeras

与标准机器学习库相比,神经网络和深度学习功能更强大,因此更难实现自动化。AutoKeras 库有哪些功效呢?具体如下:

通过 AutoKeras,神经框架搜索算法可以找到最佳架构,如单个网络层中的神经元数量、层数量、要合并的层、以及滤波器大小或 Dropout 中丢失神经元百分比等特定于层的参数。一旦搜索完成,用户可以将其作为普通的 TF/Keras 模型使用;

通过 AutoKeras,用户可以构建一个包含嵌入和空间缩减等复杂元素的模型,这些元素对于学习深度学习过程中的人来说是不太容易访问的;

当使用 AutoKeras 创建模型时,向量化或清除文本数据等许多预处理操作都能完成并进行优化;

初始化和训练一次搜索需要两行代码。AutoKeras 拥有一个类似于 keras 的界面,所以它并不难记忆和使用。

AutoKeras 支持文本、图像和结构化数据,为初学者和寻求更多参与技术知识的人提供界面。AutoKeras 使用进化神经网络架构搜索方法来减轻研究人员的繁重和模棱两可的工作。

尽管 AutoKeras 的运行需要很长时间,但用户可以指定参数来控制运行时间、探索模型的数量以及搜索空间大小等。

AutoKeras 的相关内容参阅以下两个链接:

文档地址:https://autokeras.com/

教程地址:https://towardsdatascience.com/automl-creating-top-performing-neural-networks-without-defining-architecture-c7d3b08cddc

四个库各有特色,应该选哪个?

用户可以根据自己的需求选择合适的 Python 库,作者给出了以下几个建议:

如果你的首要任务是获取一个干净、简单的界面和相对快速的结果,选择 auto-sklearn。另外:该库与 sklearn 自然集成,可以使用常用的模型和方法,能很好地控制时间;

如果你的首要任务是实现高准确率,并且不需要考虑长时间的训练,则使用 TPOT。额外收获:为最佳模型输出 Python 代码;

如果你的首要任务是实现高准确率,依然不需要考虑长时间的训练,也可选择使用 HyperOpt-sklearn。该库强调模型的超参数优化,是否富有成效取决于数据集和算法;

如果你需要神经网络(警告:不要高估它们的能力),就使用 AutoKeras,尤其是以文本或图像形式出现时。训练确实需要很长时间,但有很多措施可以控制时间和搜索空间大小。
责编AJX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自动化
    +关注

    关注

    31

    文章

    5981

    浏览量

    90620
  • 模型
    +关注

    关注

    1

    文章

    3810

    浏览量

    52253
  • 机器学习
    +关注

    关注

    67

    文章

    8561

    浏览量

    137208
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    机器学习特征工程:缩放、编码、聚合、嵌入与自动化

    本文转自:DeepHubIMBA好模型的秘诀不在于更花哨的算法,而在于更好的特征。第1部分:数值特征1.1缩放多数机器学习算法对尺度敏感。一个取值范围在0到1,000,000的列,会在
    的头像 发表于 04-08 14:41 696次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>特征工程:缩放、编码、聚合、嵌入与<b class='flag-5'>自动化</b>

    强化学习会让自动驾驶模型学习更快吗?

    是一机器通过“试错”学会决策的办法。与监督学习不同,监督学习是有人提供示范答案,让模型去模仿;而强化
    的头像 发表于 01-31 09:34 814次阅读
    强化<b class='flag-5'>学习</b>会让<b class='flag-5'>自动</b>驾驶<b class='flag-5'>模型</b><b class='flag-5'>学习</b>更快吗?

    是德示波器DSOX1202A与电脑的四种连接方式及操作步骤详解

    是德科技(Keysight)DSOX1202A示波器作为高精度电子测量设备,广泛应用于电子工程、通信测试与自动化调试场景。为实现数据实时采集、波形分析与远程控制,用户需通过USB、LAN、GPIB或串口将示波器与电脑互联。本文将结合官方指南与实操经验,系统介绍
    的头像 发表于 01-13 17:48 1812次阅读
    是德示波器DSOX1202A与电脑的<b class='flag-5'>四种</b>连接方式及操作步骤详解

    嵌入式软件单元测试中AI自动化与人工检查的协同机制研究:基于专业工具的实证分析

    ‌ ‌摘要****‌ 本文系统探讨嵌入式软件相较于通用软件在单元测试层面的特殊性,分析其对高覆盖率、可追溯性与实时性验证的严苛需求,并以专业工具winAMS为技术载体,深入研究AI驱动的自动化测试在
    发表于 12-31 11:22

    自动化设备机器视觉检测光源产品的优势和劣势

    机器视觉光源,缺陷检测,自动化视觉检测机器视觉光源
    的头像 发表于 11-27 10:17 450次阅读
    <b class='flag-5'>自动化</b>设备<b class='flag-5'>机器</b>视觉检测光源产品的优势和劣势

    构建CNN网络模型并优化的一般建议

    :Dropout层随机跳过神经网络模型中某些神经元之间的连接,通过随机制造缺陷进行训练提升整个神经网络的鲁棒性。 6)指定合理的学习率策略:一旦神经
    发表于 10-28 08:02

    从入门到精通:基于开源代码的BLE四种模式开发详解

    通过分析BLE低功耗蓝牙的四种核心工作模式,结合可下载、可修改的开放源码,本教程为开发者提供一套系统、实用的开发学习路径。 BLE(Bluetooth Low Energy): 也称为
    的头像 发表于 10-09 18:00 673次阅读
    从入门到精通:基于开源代码的BLE<b class='flag-5'>四种</b>模式开发详解

    现代农业自动化的技术演进与应用

    自动化依赖多源传感网络(如土壤湿度、光照、温湿度传感器)实时采集环境数据,结合气象预报和作物生长模型,通过云端或边缘计算平台(如AI芯片)进行数据分析
    的头像 发表于 09-09 11:38 664次阅读

    天呐!耐达讯自动化Profibus 集线器让水质分析彻底“改头换面”

    悄然成为解决这一问题的关键角色。 耐达讯自动化Profibus 集线器是一专门用于 Profibus 网络的连接设备,它能够扩展网络节点数量,增强信号传输能力,提高
    的头像 发表于 08-26 15:29 712次阅读
    天呐!耐达讯<b class='flag-5'>自动化</b>Profibus 集线器让水质<b class='flag-5'>分析</b>彻底“改头换面”

    自动化测试如何绕过Cloudflare验证码?Python + Selenium 脚本实战指南!

    01什么是Cloudflare验证码Cloudflare提供网络工具,并提供一套全面的安全功能,以保护网站免受各种在线威胁。Cloudflare验证码是一用于区分人类用户和自动化机器
    的头像 发表于 08-15 10:01 1575次阅读
    <b class='flag-5'>自动化</b>测试如何绕过Cloudflare验证码?Python + Selenium 脚本实战指南!

    玉林在线自动测宽仪 自动化产线升级

    包包应用广泛,书包、背包、旅行包等,而包包带子更是其重要组成部分,在自动化包包产线中,在线自动测宽仪可自动检测带宽度,剔除不合格品。并且其是光电测量原理,与材质无关,因此可适用于各种
    发表于 07-23 15:23

    信而泰×DeepSeek:AI推理引擎驱动网络智能诊断迈向 “自愈”时代

    网络智能诊断平台。通过对私有网络数据的定向训练,信而泰打造了高性能、高可靠性的网络诊断模型,显著提升了AI辅助诊断的精准度与实用性。该方案
    发表于 07-16 15:29

    Nordic收购 Neuton.AI 关于产品技术的分析

    Nordic Semiconductor 于 2025 年收购了 Neuton.AI,这是一家专注于超小型机器学习(TinyML)解决方案的公司。 Neuton 开发了一独特的神经网络
    发表于 06-28 14:18

    RDMA简介3之四种子协议对比

    RDMA协议共有四种子协议,分别为InfiniBand、iWARP、RoCE v1和RoCE v2协议。这四种协议使用统一的RDMA API,但在具体的网络层级实现上有所不同,如图1所示,接下来将
    发表于 06-04 16:05

    机器人和自动化的未来(2)

    本文是第二届电力电子科普征文大赛的获奖作品,来自西南交通大学黄雯珂的投稿。3机器人与自动化的未来展望随着机器人和自动化技术的不断进步,未来的世界将会是一个高度
    的头像 发表于 04-26 08:33 931次阅读
    <b class='flag-5'>机器</b>人和<b class='flag-5'>自动化</b>的未来(2)