构建可行、可靠且敏捷的机器学习模型以简化操作并支持其业务计划的组织需要耐心、准备和毅力。各种组织正在为各个行业的众多应用程序实施人工智能项目。这些应用程序包括预测分析、模式识别系统、自治系统、对话系统、超个性化活动和目标驱动系统。每个项目都有一个共同点:都是基于对业务问题的理解,必须应用数据和机器学习算法来解决问题,才能构建满足项目需求的机器学习模型。部署和管理机器学习项目通常遵循相同的模式。然而,现有的应用程序开发方法并不适用,因为AI项目是由数据驱动的,而不是编程代码。学习来自数据,因此正确的机器学习方法源于以数据为中心的需求,并产生专注于数据发现、清理、训练、模型构建和迭代阶段的项目。对于许多组织而言,机器学习模型开发是一项新活动,但以数据为中心的项目构建方法已经有所确立。大约25年前,一个由五家供应商组成的联盟开发了跨行业数据挖掘标准流程(CRISP-DM),该流程专注于数据挖掘项目中各种数据密集型步骤的顺序迭代方法。该方法从业务理解和数据理解之间的迭代循环开始。接下来是数据准备和数据建模之间的迭代循环切换,然后是评估阶段,将结果分解为部署和业务理解。这种循环、迭代的循环导致连续的数据建模、准备和评估。但是,跨行业数据挖掘标准流程(CRISP-DM)的进一步发展似乎停滞在1.0版,该版本在近20年前全面生产,而第二版则在15年前发布。IBMCorporation和MicrosoftCorporation已更新和迭代此方法以生成他们自己的变体,这些变体为数据处理和建模之间的迭代循环添加了更多细节,并提供了有关生成的工件和可交付成果的更多细节。此外,这种方法因不敏捷或不适合AI和ML项目而受到质疑。需要增强人工智能的认知项目管理等方法以满足人工智能的特定要求,并且可以在具有现有敏捷开发团队和数据组织的组织中实施。这些方法,连同大公司及其数据科学团队的经验,最终采用了更强大、更灵活的逐步方法来开发机器学习模型,以满足认知项目的特定需求。第1步。了解并确定业务问题(并定义成功)任何机器学习项目的第一阶段都是了解业务需求。组织在解决问题之前需要知道要解决什么问题。首先,与项目所有者合作,确保组织了解项目的目标和要求。目标是将这些知识转化为适合机器学习项目的定义,并制定实现项目目标的初步计划。要回答的关键问题包括:需要认知解决方案的业务目标是什么?解决方案的哪些部分是认知的,哪些不是?是否解决了所有必要的技术、业务和部署问题?“成功”的标准是什么?项目如何在冲刺中取得进展?对透明度、可解释性或减少偏差是否有特殊要求?有哪些伦理考虑?准确度和混淆矩阵值的可接受参数是什么?的预期输入和预期输出是什么?正在解决的问题有什么特点?这是分类、回归或聚类问题吗?什么是“启发式”:一种不需要机器学习就能快速解决问题的方法?模型方法好多少?您如何衡量模型的增益?虽然在这第一步中有许多问题需要回答,但回答甚至尝试回答这些问题将显着增加整个项目成功的机会。设定具体的、可量化的目标将有助于从机器学习项目中获得可衡量的投资回报率,而不是简单地将其作为概念验证来实施,以便稍后搁置。它的目标应该与组织的业务目标相关,而不仅仅是机器学习。虽然机器学习特定的指标(例如精度、准确性、召回率和均方误差)可以包含在指标中,但与业务相关的关键绩效指标(KPI)越具体越好。第2步。理解和识别数据一旦您充分了解您的业务需求并批准您的计划,您就可以开始构建机器学习模型,对吗?错误观念。构建业务案例并不意味着组织拥有创建机器学习模型所需的数据。机器学习模型是通过从训练数据中学习和归纳来构建的,然后应用所获得的知识对新的、前所未见的数据进行预测并实现其目标。数据不足将阻止组织构建模型,并且对数据的访问也不够。有用的数据必须干净且状态良好。确定您组织的数据需求并确定数据是否适合机器学习项目。组织的重点应放在数据识别、初始收集、需求、质量识别、见解和值得进一步调查的潜在领域上。以下是需要考虑的一些关键问题:训练模型所需的数据源在哪里?机器学习项目需要多少数据?目前的训练数据量是多少?质量如何?学习任务,这个数据可以标注吗?可以使用预训练模型吗?操作和培训数据位于何处?在边缘设备或更难以到达的地方访问实时数据是否有特殊需求?组织处理数据的数量和质量,并了解使模型起作用所需的数据类型。此外,组织需要了解模型如何在真实数据上执行。例如,模型是否可以离线使用,以批处理模式对异步输入和处理的数据进行操作,或者是否可以实时使用并在高性能要求下运行以提供即时结果?此信息还将确定所需的数据类型和数据访问要求。组织还确定模型是否将在迭代中进行训练,其版本是定期部署还是实时部署。实时训练对数据提出了许多要求,而这些要求在某些情况下可能不可行。在AI项目的这个阶段,了解真实世界和训练数据以及测试和训练数据之间是否存在任何差异,以及组织将采用什么方法来验证和评估模型的性能也很重要。第3步:收集和准备数据正确识别数据后,组织需要格式化数据,以便可以使用它来训练模型。重点是构建用于建模操作的数据集所必需的以数据为中心的活动。数据准备任务包括数据收集、清理、聚合、丰富、标记、规范化和转换,以及结构化、非结构化和半结构化数据的任何其他活动。数据准备、收集和清理中的包从各种来源收集数据。跨不同数据源标准化格式。替换不正确的数据。增强和扩充数据。使用预先计算的数量添加更多维度,并根据需要汇总信息。使用第三方数据扩充数据。如果这些数据集不足以进行训练,则“加倍”基于图像的数据集。删除无关信息和重复数据。从训练中删除不相关的数据以改善结果。减少噪音并消除歧义。考虑匿名化数据。规范化数据,使其适合格式化的范围。来自大型数据集的样本数据。选择标识最重要维度的特征,并在必要时使用各种技术减少维度。将数据拆分为训练集、测试集和验证集。数据准备和清理任务可能会花费很多时间。对机器学习开发人员和数据科学家的调查表明,数据收集和准备步骤可能会占用机器学习项目80%的时间。俗话说,“垃圾进,垃圾出”。由于机器学习模型需要从数据中学习,因此花在准备和清理上的时间是值得的。步骤4.确定模型的特征并训练模型一旦数据可用并且组织知道要解决的问题,就会进入组织希望进行的下一步:训练模型以从高通过应用范围学习技术和算法准备的质量数据。该阶段需要模型技术的选择和应用、模型训练、模型超参数设置和调优、模型验证、集成模型开发和测试、算法选择和模型优化。为此,您需要执行以下操作:根据您的学习目标和数据要求选择正确的算法。配置和调整超参数以获得最佳性能,并确定最佳超参数的迭代方法。确定提供最佳结果的特征。确定是否需要模型可解释性。开发集成模型以提高性能。测试不同模型的性能。确定模型的操作和部署要求。然后可以评估生成的模型以确定它是否满足业务和运营要求。Step5.评估模型的性能并建立benchmark从人工智能的角度来看,评估包括模型指标评估、混淆矩阵计算、KPI、模型性能指标、模型质量指标,最后判断模型是否能够满足既定的业务目标。在模型评估期间,您应该执行以下操作:使用验证方法和验证数据集评估模型。确定分类问题的混淆矩阵值。确定k折交叉验证的方法(如果使用)。进一步调整超参数以获得最佳性能。将机器学习模型与基线或启发式模型进行比较。模型评估可以被认为是机器学习的“质量保证”。根据指标和要求对模型性能进行充分评估可以确定模型在现实世界中的表现。第6步。试验和调整模型的运行。当组织确信机器学习模型将在现实世界中发挥作用时,就该在现实世界中看到它的作用了,也称为“运营”模型:部署模型以持续衡量和监控其性能。制定一个基线,可以根据该基线衡量模型的未来迭代。不断迭代模型的不同方面以提高整体性能。模型的操作化可能包括云计算环境、边缘、本地或封闭环境或封闭受控组中的部署场景。操作注意事项包括模型版本控制和迭代、模型部署、模型监控以及开发和生产环境中的模型暂存。根据要求,模型的操作范围可以从简单的报告生成到更复杂的多端点部署。第7步:试验和调整模型即使模型可以运行并且组织一直在监控其性能,它也没有结束。在实施技术时,人们常说成功的秘诀是从小处着手,从大处着眼,并经常迭代。始终重复该过程并及时为下一次迭代做出改进。业务需求在不断变化,技术能力也在不断变化。实际数据以意想不到的方式变化。所有这些都可能对将模型部署到不同的端点或新系统提出新的要求。而结束可能只是一个新的开始,所以最好确定以下几点:对模型能力的下一个需求;扩大模型训练以涵盖更大的能力;提高模型性能和准确性;提高模型性能;不同的部署操作要求;针对可能因实际数据变化而导致性能变化的“模型漂移”或“数据漂移”的解决方案。组织需要反思什么在他们的模型中有效,什么是正在进行的工作。成功构建机器学习模型的最可靠方法是不断寻找改进和更好的方法来满足组织不断变化的业务需求。
