人工智能现在在每个人的脑海中。成熟的公司正在扰乱自己,并且正朝着成为数据驱动型组织的方式缓慢转变,而创业公司需要实施清晰有效的数据战略才能实现相关性。

虽然现在大小公司普遍接受采用数据战略的必要性,但仍存在一个共同的挑战:如何构建和管理机器学习项目?

本文提供了一个框架来帮助您管理机器学习项目。当然,您必须根据公司的具体需求进行调整,但它会让您朝着正确的方向前进。

为什么我需要AI策略?

当然,我们需要从为什么开始。为什么在公司内部制定人工智能战略很重要?

机器学习项目中的问题是有很多方法可以改善模型的性能:

  • 收集更多数据
  • 训练算法较长时间
  • 更改模型的体系结构
  • 获得更多样化的培训集

但是,追求错误的策略会导致重要的时间和金钱损失。您可能需要花费六个月的时间来收集更多用于培训的数据,但却意识到它几乎没有改进您的模型。同样地,你可以盲目地训练你的模型更长时间(并支付额外的计算时间),并且根本看不到任何改进。

因此,定义明确的人工智能战略的重要性。它将有助于提高团队效率并提高AI项目的投资回报率。

正交

最有效的机器学习从业者清楚地了解要调整什么以获得更好的结果。

正交化是指具有非常特定功能的控制。

例如,办公椅有一个杠杆可以上下移动,而椅子上的轮子使它可以水平移动。在这种情况下,杠杆是具有升高和降低椅子功能的控制器。轮子形成一个控制器,具有水平移动椅子的功能。

因此,这些控件据说是正交的:在椅子上滚动椅子不会降低它,就像拉动椅子上的杠杆一样不会让它向后移动。

必须将相同的概念应用于机器学习项目。对项目的单个修改必须对单个方面产生影响。否则,你将在一个区域内进行改进,但会降低另一个区域的性能,并且项目将被卡住。

这如何转化为AI项目?

首先,我们必须考虑机器学习中的假设链。

机器学习中的假设链

假设如果模型在训练集上表现良好,那么它将在开发集上表现良好,然后它将在测试集上表现良好,然后它将在现实世界中表现良好。

这是AI项目中相当常见的假设列表。现在,该模型在其中一种情况下表现不佳?

  • 训练集:训练更大的网络或改变优化算法
  • 开发集:使用正则化或更大的训练集
  • 测试集:使用更大的开发集
  • 真实世界:更改开发集分布(稍后更多)或更改成本函数

上面的列表给出了明确的正交控制,以在非常特定的情况下改进模型。一旦您的模型在一组上表现良好,继续在另一组中进行改进。

现在,您如何知道您的模型是否表现良好?

设定目标

如上所述,您需要一个明确的目标来确定模型是否表现良好。因此,设置评估指标以及满足和优化指标的重要性。

单号评估指标

具有单个评估度量允许更快地评估算法。

例如,通常对分类器使用精度和调用。但是,这两个指标之间存在折衷。相反,使用F1分数,这是精度和召回的调和平均值。因此,使用单个度量,并且更容易评估不同模型的质量并且加速迭代。

满意并优化指标

获得单一评估指标后,通常会跟踪其他重要指标。

例如,您可能希望构建一个F1分数至少为0.90且运行时间小于200毫秒的分类器。在这种情况下,F1分数是优化度量,而运行时是令人满意的度量。

优化指标通常与评估指标相同,您应该只有一个优化指标。其他感兴趣的指标将是令人满意的指标,并将帮助您选择满足优化指标的整体最佳模型。

培训,开发和测试集

上面提到了火车,开发和测试装置,但它们究竟是什么?

训练和开发(或保持)集用于训练模型。训练集通常用于使模型适合数据,开发集用于进行预测和调整模型。

然后,测试集是实际数据的一个示例,您可以在其中测试算法以查看它将如何执行。

培训/开发/测试分发

拥有不同的数据集后,必须确保分布代表您希望将来获得的数据。

例如,如果您希望创建一个模型来标记来自移动上传的图像,那么从互联网上训练模型到高分辨率图像是没有意义的。移动上传的分辨率可能较低,图片可能会模糊,对象可能无法完美居中。因此,train / dev / test集应包含该类型的图像。

此外,您希望每个集合来自同一分布。例如,您正在构建模型来预测客户流失,并且6%的数据集包含流失实例。然后,您的火车,开发和测试集也应该有大约6%的数据作为流失实例。

训练/开发/测试大小

每套应该有多大?

通常,对于列车/开发/测试集,拆分过去分别为60/20/20。如果数据不是很丰富,这仍然有效。

但是,在您有数百万个实例的情况下,更合适的拆分将是98/1/1,因为该模型仍可在超过10,000个数据点上进行验证。

与人类表现相比

最近,我们开始看到AI系统优于人类或非常接近人类表现的头条新闻。

不幸的是,人类在很多任务上都非常擅长,并且很难让AI系统接近我们的表现。需要大量数据,并且您的模型的性能最终将达到稳定水平,从而难以改进。

不过,我该如何改进模型?

如果您的模型过度拟合,您可以通过以下方式减少差异:

  • 收集更多数据
  • 正规化(L2,辍学,数据增加)
  • 改变模型

如果您的模型不适合数据,则必须通过以下方式减少偏差:

  • 培养更大或更复杂的模型
  • 使用更好的优化算法或训练更长时间
  • 改变模型

如果上述方法都没有产生重大影响,那么下一步就是获取人类标记的数据。虽然代价高昂且艰巨,但这一步将使您的模型尽可能接近人类级别的表现。

最后的话

构建AI系统是一个迭代过程。快速构建,测试和改进非常重要。不要一开始就建立一个非常复杂的系统,但不要构建太简单的东西。


我希望这有助于您更好地管理和规划您的AI项目。人工智能在许多行业中的潜力巨大,抓住这个机会非常重要。拥有明确的人工智能策略将帮助您冲浪,而不是被吞没。

本文转自 towardsdatascience,原文地址