自动化机器学习,简称为AutoML,旨在将机器学习模型的开发中繁琐且重复的任务自动化。这使得数据科学家、分析师以及开发人员能够构建高度可扩展、高效和高性能的ML模型,且不牺牲模型的质量。Azure 机器学习的AutoML功能是基于Microsoft Research团队的前沿技术而开发的。
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。
在训练阶段,Azure 机器学习启动多个并行管道,分别尝试不同的算法和参数组合。这个服务会不断尝试多种与特征选择相匹配的ML算法,并为每一次迭代产生一个经过评分的模型。当模型的评分更接近优化目标时,该模型便会被认为更“适合”于数据。当满足预定的终止条件时,训练过程便会结束。
要在Azure机器学习中设计并执行一个AutoML训练实验,您可以按照以下步骤进行:
明确您要解决的ML问题类型:如分类、预测、回归、计算机视觉或NLP。
决定是选择基于代码的体验还是基于Web的无代码体验:
指明训练数据的来源:Azure 机器学习支持多种数据输入方式。
配置AutoML的参数,包括决定模型迭代的次数、超参数设定、高级的数据预处理/特征生成策略以及用于评估模型优劣的指标。
提交您的训练任务。
分析训练结果。
当您希望通过Azure机器学习来训练和优化模型,特定于多种目标指标时,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
列出核心过程:
部分过程图:
自动化机器学习也称为自动化 ML 或 AutoML,是将机器学习模型开发过程中耗时的反复性任务自动化的过程。 数据科学家、分析师和开发人员可以使用它来生成高度可缩放、高效且高产能的 ML 模型,同时保证模型的质量。
关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。