人工智能 2020-11-19
组织构建一个可行的、可靠的、敏捷的机器学习模型来简化操作和支持其业务计划需要耐心、准备以及毅力。
各种组织都在为各行业中的众多应用实施人工智能项目。这些应用包括预测分析、模式识别系统、自主系统、会话系统、超个性化活动和目标驱动系统。每一个项目都有一个共同点:它们都基于对业务问题的理解,并且数据和机器学习算法必须应用于解决问题,从而构建一个能够满足项目需求的机器学习模型。
部署和管理机器学习项目通常遵循相同的模式。然而,现有的应用程序开发方法并不适用,因为人工智能项目是由数据驱动的,而不是编程代码。学习来源于数据,因此正确的机器学习方法源于以数据为中心的需求,并产生专注于数据发现、清理、培训、模型构建和迭代阶段的项目。
对于许多组织来说,机器学习模型开发是一项新活动,但是在某种程度上已经建立了以数据为中心的项目构建方法。
大约25年前,一个由五家供应商组成的联盟开发了跨行业的数据挖掘标准流程(CRISP-DM),该流程专注于数据挖掘项目中各种数据密集型步骤的连续迭代方法。该方法从业务理解和数据理解之间的迭代循环开始。接下来是数据准备和数据建模之间的迭代循环的切换,然后是评估阶段,它将结果分解到部署和业务理解。这种循环的、迭代的循环导致了连续的数据建模、准备和评估。
但跨行业的数据挖掘标准流程(CRISP-DM)的进一步开发似乎已经停滞在近20年前完全生产的1.0版本上,而在15年前还发布其第二个版本。IBM公司和微软公司对这种方法进行了更新和迭代,以生成它们自己的变体,这些变体为数据处理和建模之间的迭代循环添加了更多细节,并提供了在此过程中产生的工件和可交付成果的更多细节。
此外,这种方法由于并不敏捷或不适用于人工智能和机器学习项目而受到质疑。因此需要增强诸如人工智能的认知项目管理之类的方法,以满足人工智能特定的要求,并且可以在具有现有敏捷开发团队和数据组织的组织中实施这些方法。
这些方法论以及大型公司及其数据科学团队的学习,因此采用了一种更强大、更灵活的分步方法来进行机器学习模型开发,以满足认知项目的特定需求。
步骤1.了解并识别业务问题(并定义成功)
任何机器学习项目的第一阶段都是发展对业务需求的理解。在解决问题之前,组织需要知道要解决的问题。
首先,与项目所有者合作,并确保组织了解项目的目标和要求。目的是将这些知识转换为适合机器学习项目的定义,并制定实现该项目目标的初步计划。需要回答的关键问题包括:
尽管在第一个步骤中有很多问题要回答,但是回答甚至尝试回答这些问题将会显著增加整个项目成功的机会。
设定具体、可量化的目标将有助于从机器学习项目中实现可测量的投资回报率,而不是简单地将其作为一个概念证明来实现,稍后将被搁置一边。其目标应该与组织业务目标相关,而不仅仅是机器学习。虽然机器学习特定的度量(例如精度、准确性、召回率和均方误差)可以包含在指标中,但更具体的业务相关关键绩效指标(KPI)更好。
步骤2. 理解和识别数据
一旦对业务需求有了深刻的了解并获得了计划的批准,就可以开始建立机器学习模型了,是吗?这种想法是错误的。建立业务案例并不意味着组织拥有创建机器学习模型所需的数据。
机器学习模型是通过对训练数据进行学习和概括而构建的,然后将获取的知识应用于从未见过的新数据中进行预测并实现其目的。数据不足将会阻止组织构建模型,而仅访问数据是不够的。有用的数据必须是干净的并且处于良好的状态。
确定组织的数据需求,并确定数据是否适合机器学习项目。组织的重点应放在数据识别、初始收集、需求、质量识别、见解和潜在的值得进一步研究的方面。以下是一些需要考虑的关键问题:
回答这些重要问题有助于组织处理数据的数量和质量,并了解使模型正常工作所需的数据类型。
此外,组织需要了解模型如何在实际数据上运行。例如,该模型是否可以离线使用,以批处理模式对异步输入和处理的数据进行操作,还是可以实时使用并在高性能要求下运行以提供即时结果?这些信息还将确定所需的数据类型和数据访问要求。
组织还要确定模型是否将在迭代中训练,定期或实时部署其版本。实时训练对数据提出了许多要求,这些要求在某些设置中可能不可行。
在人工智能项目的这一阶段,了解真实世界数据和培训数据以及测试数据和培训数据之间是否存在任何差异,以及组织将采取何种方法来验证和评估模型的性能,这一点也很重要。
步骤3.收集并准备数据
一旦正确地识别了数据,组织就需要对这些数据进行格式化,以便可以使用它来训练其模型。重点是构建用于建模操作的数据集所必需的以数据为中心的活动。数据准备任务包括数据收集、清理、聚合、扩充、标记、规范化和转换以及结构化、非结构化和半结构化数据的任何其他活动。
数据准备和清理任务会花费大量时间。对机器学习开发人员和数据科学家的调查表明,数据收集和准备步骤最多可占用机器学习项目80%的时间。俗话说“垃圾进、垃圾出”。由于机器学习模型需要从数据中学习,因此花费在准备和清理上的时间是值得的。
步骤4.确定模型的特征并训练模型
一旦数据处于可用状态,并且组织知道要解决的问题,就到了组织希望做出的下一步:训练模型,以通过应用范围从已准备好的高质量数据中学习技术和算法。
这一阶段需要模型技术的选择和应用,模型训练、模型超参数设置和调整、模型验证、集成模型开发和测试、算法选择以及模型优化。为此,需要执行以下操作:
然后可以评估结果模型以确定其是否满足业务和运营要求。
步骤5.评估模型的性能并建立基准
从人工智能的角度来看,评估包括模型度量评估、混淆矩阵计算、KPI、模型性能度量,模型质量度量以及模型是否可以满足已建立的业务目标的最终确定。在模型评估过程中,应该执行以下操作:
模型评估可以视为机器学习的“质量保证”。根据指标和要求对模型性能进行充分评估,可以确定模型在现实世界中的工作方式。
步骤6.实验并调整运行中的模型
当组织确信机器学习模型可以在现实世界中工作时,那么是时候看看它在现实世界中的实际运行了,也称之为“可操作性”模型:
模型的操作化可能包括在云计算环境中,边缘、内部部署或封闭环境中或封闭的受控组中的部署方案。在运营方面的考虑因素包括模型版本控制和迭代、模型部署、模型监视以及开发和生产环境中的模型分段。根据需求,模型的操作范围可以从简单地生成报告到更复杂的多端点部署。
步骤7.实验和调整模型
即使模型是可运行的,并且组织一直在监视其性能,也还没有结束。在实施技术时,通常会说成功的秘诀是从小处开始,大处思考,并经常进行迭代。