自动化机器学习 (AutoML)

如果您要着手进行新的机器学习 (ML) 项目,可能会想知道手动训练是否是构建机器学习模型的唯一选项。在手动训练中,您使用机器学习框架编写代码来创建模型。在此过程中,您可以选择要探索的算法,并迭代调整超参数,以找到合适的模型。

当然,模型训练并不是您需要考虑的唯一事项。在实践中,从原型设计到投入生产阶段构建机器学习模型需要重复性任务和专业技能。简单的探索性机器学习工作流程如下所示:

图 1. 简单的机器学习工作流。
图 1. 简单的机器学习探索工作流。

重复性任务 - 机器学习工作流可能涉及重复性工作和实验。例如,在模型开发过程中,您通常需要探索算法和超参数的不同组合,以确定最合适的模型。在手动训练中,您需要编写专用代码来训练模型,然后调整代码以使用不同的机器学习算法和超参数运行实验,以便找到最佳模型。对于小型或探索性项目,此手动流程可能不是问题,但对于大型项目,这些重复性任务可能会非常耗时。

专门技能 - 手动开发机器学习模型需要专门的技能。在实践中,并非每个计划开发机器学习模型的团队都具备这些技能。如果团队没有专职的数据科学家,手动执行此类工作可能根本不可行。

幸运的是,模型开发中的某些步骤可以自动执行,从而减少重复性工作负担,并降低对专业技能的需求。本自动化机器学习 (AutoML) 模块将介绍如何自动执行这些任务。

什么是 AutoML?

AutoML 是一种自动执行机器学习工作流中特定任务的过程。您可以将 AutoML 视为一系列工具和技术,它们可以让更多用户更快地构建机器学习模型,并更轻松地使用这些模型。虽然自动化功能可在整个机器学习工作流中提供帮助,但与 AutoML 相关的任务是指图 1 所示模型开发周期中包含的任务。这些重复性任务包括:

  • 数据工程
    • 特征工程。
    • 特征选择。
  • 培训
    • 确定合适的机器学习算法。
    • 选择最佳超参数。
  • 分析
    • 根据测试数据集和验证数据集评估训练期间生成的指标。

借助 AutoML,您可以专注于机器学习问题和数据,而无需考虑特征选择、超参数调优和选择合适的算法。