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

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

3天内不再提示

自动机器学习的优点与痛点

h1654155999.2342 来源:小金博士公众号 作者:小金博士公众号 2021-09-01 14:29 次阅读

自动机器学习综述

自从计算机时代开始,科学家和工程师们就一直想知道如何像人类一样,给计算机注入学习的能力。艾伦·图灵是第一批提出智能理论的科学家之一,该理论设想有一天计算机能够达到与人类同等的智能水平。从那时起,机器学习领域发生了一系列巨大的飞跃。我们已经看到机器学习在许多情况下击败或至少匹配特定的人类认知能力,例如在ResNet(一种深度残留的网络架构)的情况下超越了人类在图像识别方面的表现,或者微软的语音转录系统几乎达到人类水平的表现。

「机器学习优点」:机器学习的最大好处之一是,它可以应用于人类今天面临的几乎任何问题。然而,有了这些好处,也有一些挑战。

「痛点」:机器学习算法需要针对每个不同的现实场景进行配置和优化。这使得人工操作非常密集,并且从监督开发的人员那里花费了大量的时间。此手动流程也容易出错、效率不高且难于管理。更不用说配置和优化不同类型算法的专业知识的匮乏。 「自动机器学习初衷」:如果配置、调优和模型选择是自动化的,那么部署过程将更加高效,并且人们可以关注更重要的任务,例如模型可解释性、道德规范和业务结果。因此,机器学习模型构建过程的自动化具有重要的现实意义。 进入自动机器学习: 注:在自动机器学习的定义中,包括:

自动化工程特点

自动的模型选择和超参数调优

自动神经网络架构选择(NAS

自动部署

这篇文章将探索目前可用于上述每个自动化过程的框架,以帮助读者了解今天在自动化机器学习方面可能出现的情况。在探讨每个过程之前,让我们简要地讨论端到端机器学习流程,并指出每个过程在该流程中发生的位置。 从上面的图可以明显看出,机器学习流程不仅仅包括建模阶段。它还包括「问题定义、数据收集和部署」。这篇博文的重点仍将放在“「建模」”和“「部署」”阶段。这就是我们想从自动化的角度来探索的。如果建模和部署阶段可以自动化,那么专家就可以更多地关注问题定义、数据理解、遵守道德标准,并确保部署的模型为业务生成有影响的见解,而不会引起任何道德问题。 对于建模和部署阶段的每个部分,我们将探索来自开源社区、供应商(如谷歌、Microsoft和Amazon)和其他参与者的框架。

自动特征工程

通常情况下,机器学习算法的良好性能在很大程度上取决于模型使用的「特征的质量」。对于数据科学家来说,特征工程是一项非常手工和劳动密集型的任务,它涉及大量的试验和错误、深入的领域知识,以及(目前)机器不擅长的东西:直觉。自动化特征工程的目的是「迭代地创建新的特征集」,直到ML模型达到令人满意的准确度分数。现在让我们来框定我们试图自动化的过程。 功能工程流程通常是这样的:收集数据集,例如,从电子商务网站收集关于客户行为的数据集。作为一个数据科学家,你通常会喜欢创建新的功能,如果还没有在数据中,如:

“客户下单的频率”

“上次购买后的天数或小时数”

“顾客通常购买的商品类型”

其目的是创建一种算法,「自动从数据生成或综合这些类型的特征」。现在我们将列出并简要描述一些用于自动化特性工程的框架。请注意,在一种称为深度学习的专门机器学习形式中,通过深度学习模型层中的多重矩阵转换自动从图像、文本和视频中提取特征是很典型的。我们在这篇文章中讨论的特性工程类型主要涉及结构化的事务和关系数据集,尽管我们也将简要地讨论深度学习中的特性工程。

框架

「数据科学机器」是由麻省理工学院的Max Kanter和Kalyan Verramachaneni进行的一个研究项目。他们的研究论文概述了深度特征合成算法的内部工作原理,该算法使用原语的概念来为实体(数据中唯一的观察)和实体之间的关系生成特征。基本类型本质上是应用于数据的数学函数(sum、mean、max、min、average等),这些函数返回不区分大小写的数字结果,并且可以由人类解释为表示不同的东西。在我们的电子商务示例中,sum可用于计算针对特定客户的所有订单所花费的美元金额。以飞机票务平台为例,它可用于计算客户已购买的当年机票的数量。不同的用例但是相同的数学原语。这是在Featuretools Python库下开源的,可以尝试下载并试用它。Featuretools是由Feature Labs开发的,它将数据科学机器研究论文中的工作进行了操作化。Feature Labs是数据科学机器的创造者Max和Kalyan创建的一家公司

DataRobot使用一个称为模型蓝图的概念来实现自动化特征工程,该概念在机器学习管道中堆叠了不同的预处理步骤。特性工程部分不像在Featuretools中那样利用原语的概念。然而,它确实对数据应用了一些标准的预处理技术(基于所使用的ML算法,例如随机森林、逻辑回归等),如单热编码、输入、类别计数、在自由文本列中出现的n个字符标记、比率等。

H2O的无人驾驶人工智能是一个自动机器学习的平台。它可以用于自动化特性工程、模型验证、模型调优、模型选择和模型部署。在这一部分,我们将只讨论无人驾驶AI的自动特性工程部分。无人驾驶智能支持一系列的所谓的“transformers”,可以应用于一个数据集。

tsfresh是一个用于从时间序列数据中计算和提取特征的Python库。它提取了中位数、均值、样本熵、分位数、偏度、方差、值计数、峰数等特征。它没有泛化所有类型的数据集。它更针对于时间序列数据。但是,它可以与上面提到的其他工具一起使用。

自动化特性工程仍然是一项难以完成的任务。也有很多不支持自动化特性工程的争论,因为它会产生不正确的结果,或者用不透明的方式使用错误的标签对观察结果进行分类。因此,自动化特性工程需要谨慎对待,特别是在高度管制的环境中,比如金融服务,在每个决策过程中,可解释性和可说明性都是至关重要的。

自动选择模型和超参数调整

一旦特征被预处理,你需要找到一个机器学习算法来训练这些特征,并能够预测新观察的目标值。与功能工程不同,模型选择具有丰富的选择和选项。有「聚类模型、分类和回归模型、基于神经网络的模型、基于关联规则的模型」等等。每个算法适用于某个类的问题和自动模型选择这个模型我们可以过滤空间贯穿所有合适的模型为一个特定的任务,选择一个产生最高精度(如最低AIC)或最低误码率(例如RMSE)。 可以理解的是,没有一种机器学习算法在所有数据集上都表现得最好(No Free Lunch theory),有些算法需要进行超参数调优。事实上,在选择模型时,我们倾向于尝试不同的变量、不同的系数或不同的超参数。在回归问题中,存在一种方法,可以使用F-test、t-test、ajdusted R-squared等技术自动选择最终模型中使用的预测变量。这种方法称为逐步回归。但是这种方法容易出错。 自动选择模型的框架:

auto-sklearn是由Mathias Feurer, Aaron Klein, Katharina Eggensperger等人创建的Python库。这个库主要处理机器学习中的两个核心过程:从分类和回归算法的广泛列表中选择算法和超参数优化。这个库不执行特性工程,因为数据集特性是通过组合使用数学原语(如Featuretools)来创建新特性的。Auto-sklearn类似于Auto-WEKA和Hyperopt-sklearn。下面是auto-sklearn可以从决策树、高斯朴素贝叶斯、梯度增强、kNN、LDA、SVM、随机森林和线性分类器(SGD)中选择的一些分类器。在预处理步骤上,它支持以下几个方面:内核主成分分析,选择百分位数,选择率,一热编码,归位,平衡,缩放,特征聚集,等等。同样,从通过组合现有特性来丰富数据集的角度来看,这些都不能理解为特性工程步骤。

有些算法会自动地通过一系列不同的变量配置来优化某些指标。这类似于寻找可变的重要性。通常,通过理解变量存在的上下文和域,人们可以很好地完成这项工作。例如:“夏季销量增加”或“最昂贵的商品来自西伦敦居民”。这些变量可以由人类领域专家自然地暗示出来。然而,还有另一种方法来理解一个变量的重要性,那就是看这个变量在统计上有多重要。这是由决策树(使用所谓的基尼指数或信息增益)等算法自动完成的。随机森林也这样做,但与决策树不同,随机森林运行多个决策树,以创建引入了随机性的多个模型。

对于时间序列数据,我们倾向于讨论汽车。R中的arima包使用AIC作为优化指标。自动生成的算法。arima在后台使用Hyndman-Khandakar来实现这一点,在下面的OText书中有详细的解释。

如前所述,H2O无人驾驶AI可以用于自动化特征工程。它还可以用来自动训练多个算法在同一时间。这是由h2o实现的。automl包。它可以自动训练您的数据使用多种不同的算法与不同的参数,如GLM, Xgboost随机森林,深度学习,集成模型,等等。

DataRobot还可以用于同时自动训练多个算法。这是通过使用经DataRobot科学家调整过的模型实现的,因此能够使用预先设置的超参数运行几十个模型。它最终会选择一个准确率最高的算法。它还允许数据科学家手动干预和调整模型,以提高准确性。

微软在9月宣布了自己的自动化机器学习工具包。事实上,该产品本身被称为automatic ML,属于Azure机器学习产品。微软的自动ML利用协同过滤和贝叶斯优化来搜索机器学习的空间。Microsoft指的是数据预处理步骤、学习算法和超参数配置的组合。在上面讨论的许多模型选择技术中,ML学习过程中自动化的典型部分是超参数设置。微软的研究人员发现,只调优超参数有时可以与随机搜索相媲美,因此理想情况下,整个端到端流程应该是自动化的。

谷歌也在这个领域进行了创新,推出了谷歌云自动化。在Cloud AutoML谷歌中,通过只从用户获取标记数据并自动构建和训练算法,数据科学家能够训练计算机视觉、自然语言处理和翻译的模型。

Google CloudML

TPOT是用于自动化机器学习的Python库,它利用遗传编程优化机器学习管道。ML管道包括数据清理、特征选择、特征预处理、特征构建、模型选择和参数优化。TPOT库利用了scikit-learn中可用的机器学习库。

TPOT Machine Learning Pipeline

Amazon Sage Maker提供了建模、培训和部署的能力。它可以自动调整算法,为了做到这一点,它使用了一种叫做贝叶斯优化的技术

HyperDrive是微软的产品,是为全面的超参数探索而建立的。超参数搜索空间可以用随机搜索、网格搜索或贝叶斯优化来覆盖。它实现了一个调度器列表,您可以选择通过联合优化质量和成本来提前终止探索阶段。

神经网络结构选择

在机器学习的世界中,最乏味的任务之一就是设计和构建神经网络架构。通常情况下,人们会花费数小时或数天的时间尝试使用不同的超参数迭代不同的神经网络体系结构,以优化手头任务的目标函数。这非常耗时,而且容易出错。「谷歌引入了利用进化算法和强化学习实现神经网络搜索的思想」,以设计和寻找最优的神经网络结构。本质上,这是在训练创建一个层,然后堆叠这些层来创建一个深层的神经网络架构。近年来,这一领域的研究引起了广泛关注,并提出了许多研究论文。 以下是该领域所有研究论文的最新列表: http://www.ml4aad.org/automl/literat-on-neuralarchitecturesearch/。 值得注意的研究论文有:

NASNet-学习可扩展的图像识别的可转移的体系结构

The NASNet algorithm

AmoebaNet-基于AmoebaNet正则化演化的图像分类器体系结构搜索

ENAS-高效的神经结构搜索

自动部署

机器学习社区的很多关注都集中在学习算法的开发上,而不是端到端机器学习流程中最重要的部分,那就是ML模型的部署和产品化。在将机器学习模型部署到生产环境中存在许多固有的挑战。 有一些公司和开源项目正在尝试将这个过程自动化,并尽可能减少数据科学家的痛苦,因为他们不一定具备DevOps技能。以下是在这个领域工作的框架和公司的列表:

Seldon-提供了一些方法来包装用R、Python、Java和NodeJS构建的模型,并将其部署到Kubernetes集群中。它提供与kubeflow、IBM用于深度学习的fabric、NVIDIA TensorRT、DL推理服务器、Tensorflow服务等的集成。

Redis-ML-是Redis(内存中分布式键值数据库)中的一个模块,它允许将模型部署到生产环境中。它目前只支持以下算法:随机森林(分类和回归)、线性回归和逻辑回归。

Apache MXNet的模型服务器用于服务从MXNet或Open Neural Network Exchange (ONNX)导出的深度学习模型。

Microsoft机器学习服务允许您将模型作为web服务部署在可伸缩的Kubernetes集群上,并且可以将模型作为web服务调用。

可以使用Amazon SageMaker将模型部署到HTTPS端点,应用程序利用该端点对新数据观察进行推断/预测。

谷歌云ML还支持模型部署和通过对托管模型的web服务的HTTP调用进行推断。默认情况下,它将模型的大小限制为250 MB。

H2O通过利用Java mojo(优化的模型对象)的概念来支持模型的部署。mojo支持自动、深度学习、DRF、GBM、GLM、GLRM、K-Means、堆栈集成、支持向量机、Word2vec和XGBoost模型。它与Java类型环境高度集成。对于非java编程模型(如R或Python),可以将模型保存为序列化对象,并在推断时加载。

TensorFlow服务用于将TensorFlow模型部署到生产环境中。在几行代码中,您就可以将tensorflow模型用作预测的API。

如果您的模型已经被训练并导出为PMML格式,那么Openscoring可以帮助您将这些PMML模型作为推断的REST api提供服务。

创建GraphPipe的目的是将ML模型部署与框架特定的模型实现(例如Tensorflow、Caffe2、ONNX)解耦。

责任编辑:haq

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

    关注

    42

    文章

    4771

    浏览量

    100776
  • 计算机
    +关注

    关注

    19

    文章

    7494

    浏览量

    87966
  • AI
    AI
    +关注

    关注

    87

    文章

    30897

    浏览量

    269117
  • 机器学习
    +关注

    关注

    66

    文章

    8418

    浏览量

    132647

原文标题:前沿技术 | 自动机器学习综述

文章出处:【微信号:gh_f39db674fbfd,微信公众号:尖刀视】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    恩智浦eIQ Time Series Studio 工具使用全攻略

      基本介绍 eIQ Time Series Studio(简称eIQ TSS)是恩智浦半导体推出的一款专为嵌入式微控制器设计的基于时间序列的AI和机器学习开发套件。它集成了自动机器学习
    的头像 发表于 12-12 09:37 700次阅读
    恩智浦eIQ Time Series Studio 工具使用全攻略

    什么是机器学习?通过机器学习方法能解决哪些问题?

    来源:Master编程树“机器学习”最初的研究动机是让计算机系统具有人的学习能力以便实现人工智能。因为没有学习能力的系统很难被认为是具有智能
    的头像 发表于 11-16 01:07 408次阅读
    什么是<b class='flag-5'>机器</b><b class='flag-5'>学习</b>?通过<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法能解决哪些问题?

    i.MX处理器如何解决工业自动化三大:PLC、人机交互、机器

    工业自动化中PLC(可编程逻辑控制器)、HMI(人机交互)和工业机器人三大的解决方案,并深入介绍恩智浦i.MX系列应用处理器的特色设计,及其如何针对性地应对工业
    的头像 发表于 11-08 09:48 419次阅读
    i.MX处理器如何解决工业<b class='flag-5'>自动</b>化三大<b class='flag-5'>痛</b><b class='flag-5'>点</b>:PLC、人机交互、<b class='flag-5'>机器</b>人

    基于深度学习的三维云分类方法

    近年来,云表示已成为计算机视觉领域的研究热点之一,并广泛应用于自动驾驶、虚拟现实、机器人等许多领域。虽然深度学习技术在处理常规结构化的二维网格图像数据方面取得了巨大成功,但在处理不规
    的头像 发表于 10-29 09:43 462次阅读
    基于深度<b class='flag-5'>学习</b>的三维<b class='flag-5'>点</b>云分类方法

    光伏清洁机器人4G之,LoRa通讯取而代之?

    无人区的孤岛效应及复杂地形的重重挑战,传统4G通信网络难以稳定支撑光伏清洁机器人的高效运维。光伏清洁机器问题1.光伏电站通常缺乏4G网络覆盖,以及可能的电磁干扰
    的头像 发表于 09-03 14:36 312次阅读
    光伏清洁<b class='flag-5'>机器</b>人4G之<b class='flag-5'>痛</b>,LoRa通讯取而代之?

    探索AC自动机:多关键词搜索的原理与应用案例

    方法的效率会显著下降,尤其是在需要与词典进行详尽对比的场景中。本文将介绍的Aho-Corasick(AC)自动机作为多模式匹配中的经典算法,不仅能够处理大规模文本数据,还能确保搜索过程的实时性和准确性。 AC自动机:文本搜索的革命性工具 AC
    的头像 发表于 08-26 15:55 885次阅读
    探索AC<b class='flag-5'>自动机</b>:多关键词搜索的原理与应用案例

    机器学习算法原理详解

    机器学习作为人工智能的一个重要分支,其目标是通过让计算机自动从数据中学习并改进其性能,而无需进行明确的编程。本文将深入解读几种常见的机器
    的头像 发表于 07-02 11:25 1046次阅读

    深度学习与传统机器学习的对比

    在人工智能的浪潮中,机器学习和深度学习无疑是两大核心驱动力。它们各自以其独特的方式推动着技术的进步,为众多领域带来了革命性的变化。然而,尽管它们都属于机器
    的头像 发表于 07-01 11:40 1382次阅读

    电控发动机优点与工作原理

    随着汽车工业的不断发展和科技的进步,电控发动机逐渐成为现代汽车的核心部件。电控发动机以其高精度控制、高效能燃烧、低排放等优点,受到广泛关注和青睐。本文将对电控发动机
    的头像 发表于 06-20 11:33 1000次阅读

    自动停车机器人,如何快速构建?

    停车机器人是用于在停车场或车库等场所中进行车辆的自动停放和取车操作。随着智能交通和智能城市的发展,停车机器人在解决停车难、提高停车效率和减少停车空间浪费等方面具有广阔的应用前景。 ▲停车移动机
    的头像 发表于 06-20 11:25 255次阅读
    <b class='flag-5'>自动</b>停车<b class='flag-5'>机器</b>人,如何快速构建?

    动机电子控制系统的优点有哪些?

    的燃油喷射、点火、进气、排放等进行精确控制,以提高发动机的性能、降低油耗、减少排放和提高驾驶舒适性。以下是发动机电子控制系统的一些主要优点: 提高发动机性能:发
    的头像 发表于 06-17 10:25 931次阅读

    机器视觉运动控制一体机在喇叭跟随胶上的应用

    、圆、弧、连续线段、阵列、提前开关胶、手动示教、相机示教、胶工艺功能。 机器视觉纠偏 产品任意位置和角度摆放,视觉自动识别并完成胶、喷胶作业。 操作界面友好功能齐全 调试编程操
    发表于 04-16 17:37

    自动机器人激光焊接机主要用于哪些行业

    编辑:镭拓激光全自动机器人激光焊接技术应用于多个行业中发挥着越来越重要的作用,为制造业的升级转型提供了有力支持。随着技术的不断进步,其应用领域还将进一步扩大,以下是一些主要应用领域:汽车制造业:在
    的头像 发表于 03-19 11:08 783次阅读
    全<b class='flag-5'>自动机器</b>人激光焊接机主要用于哪些行业

    电梯物联网技术如何解决电梯管理的

    随着物联网技术的不断发展,电梯行业也迎来了新的变革。电梯物联网技术的应用为电梯管理带来了许多新的机遇和优势,同时也有效地解决了传统电梯管理中存在的各种。 本文梯云物联网将探讨电梯物联网技术如何解决电梯管理的
    的头像 发表于 03-19 10:09 534次阅读

    机器视觉软件有哪些 机器视觉软件的优点

    机器视觉软件是一种利用计算机视觉技术来模拟和弥补人眼视觉功能的软件系统。它可以通过对图像和视频进行分析,识别和理解目标物体,以实现自动化和智能化的任务。机器视觉软件广泛应用于工业生产、安防监控
    的头像 发表于 02-02 10:53 1585次阅读