什么是机器学习管道? 如何创建一个?

作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai


熟悉机器学习管道

机器学习管道用于帮助自动化机器学习工作流程。它们的工作方式是使一系列数据可以在一个模型中进行转换和关联,该模型可以进行测试和评估以实现结果,无论结果是正面还是负面。

机器学习(ML)管道包括几个训练模型的步骤。机器学习流水线是迭代的,因为每个步骤都被重复执行,以不断提高模型的准确性并获得成功的算法。为了构建更好的机器学习模型并从中获得最大价值,可访问,可扩展和持久的存储解决方案势在必行,这为本地对象存储铺平了道路。

如今,数据已成为一种现代货币。正在从捕获的大型数据集(大数据)中提取巨大的价值和情报,从而获得了当今世界切实可行的见解。这不仅仅是要再存储数据,还需要捕获,保存,访问和转换数据以利用其可能性和可提供的价值。

  1. 为任何ML模型建立合适的管道的主要目的是对其进行控制。 井井有条的管道使实施更加灵活。 这就像是一台计算机的分解图,您可以在其中拾取有故障的零件并进行替换,在我们的情况下,是替换大量代码。
  2. 术语ML模型是指由训练过程创建的模型。
  3. 学习算法在训练数据中找到将输入数据属性映射到目标(要预测的答案)的模式,然后输出捕获这些模式的ML模型。
  4. 一个模型可以具有许多依赖性,并且可以存储所有组件以确保所有功能都可以脱机使用和联机使用以进行部署,所有信息都存储在中央存储库中。
  5. 管道由一系列组成部分组成,这些组成部分是计算的汇编。 数据通过这些组件发送,并在计算的帮助下进行操作。

管道不是单向流动。 它们本质上是循环的,可以进行迭代以提高机器学习算法的得分,并使模型可扩展。

当今许多ML模型都是“训练过的”神经网络,能够执行特定任务或提供从“发生了什么”到“可能发生什么”(预测分析)的洞察力。 这些模型很复杂,并且永远不会完成,而是通过重复数学或计算过程将其应用于先前的结果,并在每次进行改进以使其更接近“解决问题”。 数据科学家希望获得更多捕获的数据,以提供训练ML模型的动力。

ML管道相关的挑战

典型的机器学习管道包括以下过程:

  • 数据采集
  • 数据清理
  • 特征提取(标注和降维)
  • 模型验证
  • 可视化

在这里插入图片描述

数据收集和清理是任何想要从数据中获得意义的机器学习工程师的主要任务。但是获取数据,尤其是获取正确的数据本身就是一项艰巨的任务。

数据质量及其可访问性是在构建管道的初始阶段将遇到的两个主要挑战。

应该将捕获的数据汇总起来,收集的好处应该超过收集和分析的成本。

为此,建议每个组织都使用数据湖。数据湖是一个集中的存储库,它允许用户以任何规模存储结构化和非结构化数据。它还通过将模式应用于读取而不是写入来启用即席分析。这样,用户可以将多个分析和处理框架应用于同一数据。

由于每种情况对数据量都有自己的讨价还价的机会,通常在无人监督的情况下,如果可用于培训的数据量较少,事情可能会变得一发不可收拾。

用例

机器学习模型的生命周期需要更适应模型调整和监视。 随着新数据的频繁出现,结果可能会有重大变化。

当前,正在对现有的神经网络进行改进,以使它们即使在数据模糊且缺少标记的训练数据时也能运行。

简单的Python管道

此代码段显示了创建和运行基本管道所需的对象和调用:

在这里插入图片描述

该片段以常见的Azure机器学习对象,工作区,数据存储区,Compute_Target和一个实验开始。 然后,代码创建对象来保存input_data和output_data。 数组步骤包含一个元素,一个PythonScriptStep,它将使用数据对象并在Compute_Target上运行。 然后,代码实例化Pipeline对象本身,并传入工作空间和steps数组。 对Experiment.submit(pipeline)的调用开始运行Azure ML管道。 在管道完成之前,对wait_for_completion()的调用将一直阻塞。

在项目变大或接近部署之前,您的管道应该更粗糙而不是细粒度。 如果您认为ML项目涉及各个阶段,而流水线则提供了一个完整的工作流程来引导您进入特定阶段,那么您就走对了。

发布了414 篇原创文章 · 获赞 168 · 访问量 47万+

猜你喜欢

转载自blog.csdn.net/CoderPai/article/details/103570956