Azure - 自动化机器学习AutoML Azure使用详解

2023-10-31 17:01

本文主要是介绍Azure - 自动化机器学习AutoML Azure使用详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、AutoML是如何工作的?
  • 二、何时考虑AutoML?
  • 三、AutoML助力训练与集成过程
  • 四、实战案例
  • 五、总结

自动化机器学习,简称为AutoML,旨在将机器学习模型的开发中繁琐且重复的任务自动化。这使得数据科学家、分析师以及开发人员能够构建高度可扩展、高效和高性能的ML模型,且不牺牲模型的质量。Azure 机器学习的AutoML功能是基于Microsoft Research团队的前沿技术而开发的。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

file

一、AutoML是如何工作的?

在训练阶段,Azure 机器学习启动多个并行管道,分别尝试不同的算法和参数组合。这个服务会不断尝试多种与特征选择相匹配的ML算法,并为每一次迭代产生一个经过评分的模型。当模型的评分更接近优化目标时,该模型便会被认为更“适合”于数据。当满足预定的终止条件时,训练过程便会结束。

要在Azure机器学习中设计并执行一个AutoML训练实验,您可以按照以下步骤进行:

file

  1. 明确您要解决的ML问题类型:如分类、预测、回归、计算机视觉或NLP。

  2. 决定是选择基于代码的体验还是基于Web的无代码体验:

    • 对于偏好代码的用户,可以利用Azure 机器学习 SDKv2 或 Azure 机器学习 CLIv2。例如,有一个教程指导如何使用AutoML与Python来训练物体检测模型。
    • 对于倾向于少量代码或无代码的用户,可以在Azure 机器学习工作室 (https://ml.azure.com) 通过Web界面来操作。例如,有一个教程介绍如何在Azure机器学习中使用AutoML构建分类模型。
  3. 指明训练数据的来源:Azure 机器学习支持多种数据输入方式。

  4. 配置AutoML的参数,包括决定模型迭代的次数、超参数设定、高级的数据预处理/特征生成策略以及用于评估模型优劣的指标。

  5. 提交您的训练任务。

  6. 分析训练结果。

二、何时考虑AutoML?

当您希望通过Azure机器学习来训练和优化模型,特定于多种目标指标时,AutoML是一个理想的选择。它能够规范化机器学习的开发流程,使不同背景的用户都能够有效地解决各种机器学习问题。

AutoML对于以下目的具有明显优势:

  • 为非编程背景的人员提供机器学习解决方案。
  • 节约开发和训练时间。
  • 整合数据科学的最佳实践。
  • 提供多种解决方案以适应不同场景。
  1. 分类:分类是一种监督学习方法,其中模型根据训练数据进行预测,以确定新数据的类别。Azure机器学习提供了专为此类任务设计的特征工程,例如深度神经网络文本特征化工具。分类的目的是基于已有的数据经验,预测新数据的归属类别。例如,手写识别、对象分类等。
    file
  2. 回归:与分类相似,回归也是监督学习中的一种常见方法。但不同于分类的是,回归旨在预测一个连续的输出值,而不是类别标签。例如,根据特定的车辆特性预测汽车价格。
    file
  3. 时序预测:预测未来趋势和模式是各种业务领域中的关键组件。使用AutoML,您可以获得高质量的时序预测。
    file
  4. 计算机视觉:AutoML为计算机视觉任务提供支持,从简单的图像分类到复杂的对象检测和分割都可以应对。您可以利用Azure机器学习的强大功能,如大规模操作、模型部署和集成。
    file
  5. 自然语言处理(NLP):AutoML在NLP任务中同样展现出卓越的能力。无论是文本分类还是命名实体识别,通过Azure机器学习的Python SDK,您都可以轻松地实现NLP模型的自动化训练。
    file
    总之,无论您是ML专家、开发人员,还是来自其他背景的用户,AutoML都可以为您提供有效、高效的机器学习解决方案。

三、AutoML助力训练与集成过程

训练数据
借助自动化机器学习(AutoML),您可以提交训练数据以构建模型,并指定执行的模型验证方式。在训练过程中,AutoML 通过使用验证数据和相应的算法来优化超参数,寻找与训练数据最匹配的模型配置。但由于在优化过程中反复使用相同的验证数据,可能导致模型对此数据产生偏见。为确保最终选择的模型未受此偏见影响,AutoML 允许使用独立的测试数据集进行评估。

特征工程

指的是根据数据领域的知识创造能增强机器学习算法性能的特征。Azure 机器学习提供了一系列缩放和规范化的方法简化这一过程,统称为特征化。在自动机器学习实验中,系统会默认进行特征化,但您也可以根据自己的数据进行调整。此外,还支持其他特征工程技术,如编码和转换。在Azure机器学习工作室或Python SDK中,都可以选择启用或自定义特征化。

集成模型
在自动化机器学习中也得到了支持。系综学习结合多个模型的优点,通常能获得更好的结果。AutoML 利用投票和堆叠的方法来结合模型。此外,Caruana算法用于决定系综中的模型组合,从而确保系综的性能是最优的。

ONNX格式
Azure 机器学习还允许使用AutoML来创建Python模型并将其转换为ONNX格式,这使得模型能在不同的平台和设备上执行。ONNX还提供了C#运行时,所以您可以直接在C#应用程序中使用生成的模型,这避免了网络延迟等潜在问题。

四、实战案例

实战案例可以参考官方案例:https://learn.microsoft.com/zh-cn/azure/machine-learning/tutorial-first-experiment-automated-ml?view=azureml-api-2

列出核心过程:

  1. 先决条件
  2. 创建工作区
  3. 创建自动化机器学习作业
  4. 创建数据集并将其加载为数据资产
  5. 配置作业
  6. 浏览模型
  7. 模型说明
  8. 部署最佳模型
  9. 清理资源
  10. 后续步骤

部分过程图:
file
file
file
file
file
file

五、总结

自动化机器学习也称为自动化 ML 或 AutoML,是将机器学习模型开发过程中耗时的反复性任务自动化的过程。 数据科学家、分析师和开发人员可以使用它来生成高度可缩放、高效且高产能的 ML 模型,同时保证模型的质量。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

这篇关于Azure - 自动化机器学习AutoML Azure使用详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/316830

相关文章

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

java中反射(Reflection)机制举例详解

《java中反射(Reflection)机制举例详解》Java中的反射机制是指Java程序在运行期间可以获取到一个对象的全部信息,:本文主要介绍java中反射(Reflection)机制的相关资料... 目录一、什么是反射?二、反射的用途三、获取Class对象四、Class类型的对象使用场景1五、Class

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.