什么是自动化机器学习 (AutoML)?

自动化机器学习 (AutoML) 可自动化将机器学习应用于数据的过程。 在给定数据集的情况下,可以运行 AutoML 试验来迭代不同的数据转换、机器学习算法和超参数,从而选择最佳模型。

注意

本文针对 ML.NET AutoML API,该产品当前为预览版。 材料可能会有所变化。

AutoML 如何运作?

通常,训练机器学习模型的工作流如下所示:

  • 定义问题
  • 收集数据
  • 预处理数据
  • 训练模型
  • 评估模型

ML 和 AutoML 传统训练工作流

预处理、训练和评估是一个实验性和迭代过程,需要多次试验,直到获得令人满意的结果。 由于这些任务往往是重复的,AutoML 可以帮助自动执行这些步骤。 除了自动化之外,在训练和评估过程中还使用优化技术来查找和选择算法和超参数。

何时应使用 AutoML?

无论你是刚刚开始使用机器学习,还是经验丰富的用户,AutoML 都提供用于自动执行模型开发过程的解决方案。

  • 初学者 - 如果你不熟悉机器学习,AutoML 会通过提供一组默认值来简化模型开发过程,以减少训练模型时必须做出的决策数。 在执行此操作时,可以专注于数据和要解决的问题,让 AutoML 完成其余工作。
  • 经验丰富的用户 - 如果你有一些机器学习经验,则可以根据需要自定义、配置和扩展 AutoML 提供的默认值,同时仍利用其自动化功能。

ML.NET 中的 AutoML

  • 特征化器 - 用于自动执行数据预处理的便利 API。
  • 试用 - 单个超参数优化运行。
  • 试验 - AutoML 试用的集合。 ML.NET 提供了一个高级 API,用于创建试验,该试验为单个可扫描管道、搜索空间和调谐器组件设置默认值。
  • 搜索空间 - 从中选择超参数的可用选项范围。
  • 调谐器 - 用于优化超参数的算法。 ML.NET 支持以下调谐器:
    • 成本节俭优化器 - 实现与成本相关的超参数的节俭优化,将训练成本考虑在内
    • Eci 成本节俭型调谐器 - 分层搜索空间的成本节俭型调谐器的实现。 AutoML 使用的默认调谐器。
    • SMAC - 使用随机林应用贝叶斯优化的调谐器。
    • 网格搜索 - 最适合小型搜索空间的调谐器。
    • 随机搜索
  • 可扫描估算器 - 包含搜索空间的 ML.NET 估算器。
  • 可扫描管道 - 包含一个或多个可扫描估算器的 ML.NET 管道。
  • 试用运行器 - AutoML 组件,使用可扫描管道和试用设置从模型训练和评估中生成试用结果。

建议初学者从高级试验 API 提供的默认值开始。 对于寻找自定义选项的更有经验的用户,请使用可扫描估算器、可扫描管道、搜索空间、试用运行器和调谐器组件。

有关 AutoML API 入门的详细信息,请参阅如何使用 ML.NET 自动化机器学习 (AutoML) API 指南。

受支持的任务

AutoML 为以下任务提供预配置的默认值:

  • 二元分类
  • 多类分类
  • 回归

对于其他任务,可以生成自己的试用运行程序来启用这些方案。 有关详细信息,请参阅如何使用 ML.NET 自动化机器学习 (AutoML) API 指南。

后续步骤