
目前没有用于构建和管理机器学习(ML)应用程序的标准实践,因此,机器学习项目组织得不好,缺乏可重复性,并且在长期来看中容易失败,因此,我们需要一个模型来帮助我们在整个ML生命周期中保持质量、可持续性、健壮性和成本管理。
用于开发具有质量保证方法的机器学习应用程序的跨行业标准过程(CRISP-ML (Q)是CRISP-DM的升级版本,以确保ML产品的质量。

机器学习开发生命周期过程
CRISP-ML (Q)有六个单独的阶段:
- 业务和数据理解
- 数据准备
- 模型工程
- 模型评价
- 模型部署
- 监控和维护
这些阶段需要不断迭代和探索以构建更好的解决方案,即使在框架中有顺序,后期阶段的输出可以决定我们是否需要重新检查前一阶段。

每个阶段的质量保证
在框架的每个阶段都引入了质量保证方法。该方法具有要求和约束,如性能指标、数据质量要求和健壮性。它有助于降低影响机器学习应用成功的风险,它可以通过持续监控和维护整个系统来实现。
例如:在电子商务业务中,数据和概念漂移将导致模型退化,如果我们没有一个适当的系统来监控这些变化,公司将以失去客户的形式遭受损失。
1.业务和数据理解
在开发流程一开始,我们需要确定项目的范围、成功标准和ML应用程序的可行性。之后,我们开始数据收集和质量验证的过程,这一过程漫长而富有挑战性:
- 范围:我们想通过使用机器学习过程实现什么。是为了留住客户,还是通过自动化降低运营成本?
- 成功标准:我们必须定义清晰且可测量的业务、机器学习(统计指标)和经济(KPI)成功指标。
- 可行性:我们需要确保数据可用性、ML应用程序的适用性、法律约束、健壮性、可伸缩性、可解释性和资源需求。
- 数据收集:通过收集数据,对其进行版本控制以实现可重复性,并确保源源不断的真实数据和生成数据。
- 数据质量验证:通过维护数据描述、需求和验证来保证质量。为了保证质量和可重复性,我们需要记录数据的统计特性和数据生成过程。
2.数据准备
第二阶段非常简单,我们将为建模阶段准备数据。它包括数据选择、数据清理、特征工程、数据增强和规范化。
- 我们从特征选择、数据选择和通过过采样或欠采样处理不平衡类开始。
- 然后,专注于减少噪音和处理缺失值。出于质量保证的目的,我们将添加数据单元测试以减少错误值。
- 根据您的模型,我们执行特征工程和数据增强,例如单热编码和聚类。
- 规范化和缩放数据。它将减轻有偏见的特征的风险。
为了确保可重复性,我们创建了数据建模、转换和特征工程管道。
3.模型工程
业务和数据理解阶段的约束和需求将决定建模阶段。我们需要理解商业问题,以及我们将如何开发机器学习模型来解决这些问题。我们将专注于模型的选择,优化和训练。我们将确保模型性能指标、健壮性、可伸缩性、可解释性,以及优化存储和计算资源。
- 研究模型体系结构和类似的业务问题
- 定义模型性能度量
- 模型选择
- 通过整合专家来理解领域知识
- 模型训练
- 模型压缩和集成
为了确保质量和可再现性,我们将存储和版本模型元数据,如模型架构、训练和验证数据、超参数和环境描述。
最后,我们将跟踪ML实验并创建ML管道以创建可重复的训练过程。
4.模型评估
这是我们测试并确保我们的模型已经为部署做好准备的阶段:
- 我们将在一个测试数据集上测试模型性能。
- 通过提供随机或错误数据来评估模型的稳健性。
- 改进模型的可解释性,以满足法规要求。
- 自动或请教领域专家,将结果与初始成功指标进行比较。
为了保证质量,评估阶段的每一步都被记录下来。
5.模型部署
模型部署是我们将机器学习模型集成到现有系统中的一个阶段。模型可以部署在服务器、浏览器、软件和边缘设备上。来自模型的预测可以在BI仪表板、API、Web应用程序和插件中使用。
模型部署过程:
- 定义硬件推理
- 生产中的模型评价
- 确保用户接受和可用性
- 提供后撤计划,尽量减少损失
- 部署策略
6.监控和维护
生产中的模型需要持续的监视和维护。我们将监视模型的时效性、硬件性能和软件性能。
持续监视是该过程的第一部分,如果性能下降到阈值以下,就会自动决定用新数据重新训练模型。此外,维护部分不仅仅局限于模型再训练,它涉及获取新数据、更新硬件和软件以及根据业务用例改进ML流程的决策。
简而言之,它是ML模型的持续集成、训练和部署。

结论
训练和验证模型是ML应用的一小部分,把最初的想法变成现实需要几个过程。在这篇文章中,我们了解了CRISP-ML(Q)以及它如何强调风险评估和质量保证。
我们首先定义业务目标,收集和清理数据,构建模型,在测试数据集中验证它,并将其部署到生产环境中。
该框架的关键组成部分是持续监视和维护,我们将监视数据、软件和硬件指标,以决定是否重新训练模型或升级系统。
原文链接:https://www.kdnuggets.com/2022/06/making-sense-crispmlq-machine-learning-lifecycle-process.html