Press "Enter" to skip to content

如何有效地比较机器学习解决方案

作者使用Midjourney创建的图片

增加将模型投入生产的机会

在评估和比较机器学习解决方案时,您首先要考虑的评估指标可能是预测能力。使用一个单一的指标比较不同的模型很容易,在Kaggle比赛中这是完全可以的。但在现实生活中,情况是不同的。想象一下有两个模型:一个使用100个特征和复杂的架构,另一个使用10个特征和XGBoost。复杂模型的得分比XGBoost模型稍微好一点。在这种情况下,你会选择最好的性能模型还是更简单的模型呢?

本文将为您提供在比较不同的机器学习解决方案时可以考虑的不同因素的概述。通过一个示例,我将向您展示如何以比仅使用预测能力更好的方式来比较模型。让我们开始吧!

除了预测结果之外,比较机器学习原型时还有其他几个重要因素需要考虑。这些因素为在实际场景中模型的整体适用性和有效性提供了宝贵的见解。通过不仅关注预测能力,您将增加将机器学习解决方案投入生产的机会。

这些因素分为四个类别:维护、实现复杂性、成本和业务要求。在项目开始时,项目团队应决定哪些因素对项目重要。在创建原型解决方案时,开发人员可以针对不同的因素做出笔记。

维护

收集数据或进行特征工程有多难?您使用了许多不同的库,模型对参数调整是否敏感?项目是否使用了可以放入流程中的标准API?这些因素使解决方案更容易或更难维护。

如果您的数据来自许多不同的内部和外部数据源,与仅依赖于内部公司数据的解决方案相比,它具有劣势。原因是您无法完全依赖外部数据源保持不变,对这些数据源的任何更改或更新都需要重构或调整您的解决方案。这是可能出现的维护问题的一个例子。

维护性的另一部分是监控。这包括跟踪指标、检测性能异常或退化以及调试可能出现的问题。一些模型提供了强大的监控和调试功能。这可以是与其他模型相比的优势。

实现复杂性

实现复杂性衡量将模型部署到生产系统中所涉及的困难和工作量。它考虑了诸如所需库的可用性、模型架构的复杂性以及与现有基础设施的兼容性等因素。一个容易实现并集成到现有系统中的模型可以在部署阶段节省宝贵的时间和资源。

影响实现复杂性的另一个因素是与方法的熟悉程度。选择与团队技能相匹配的模型可以显著影响开发时间表。

复杂的道路结构。照片由Timo Volz on Unsplash提供

成本

开发一个成本很高的模型很容易。成本对于几乎任何公司来说都是一个重要因素。如果您需要为某个解决方案购买昂贵的许可证,您应该能够证明该许可证的成本是值得的。

您可以花费资金用于数据采集、数据存储、(重新)训练、推断或许可证和订阅。开发解决方案的资源也具有一定的成本。通过为每个解决方案事先做出关于这些成本的合理猜测,它成为比较解决方案的另一个因素。

如果成本超出预算(或模型将带来的价值),您应该重新考虑一种方法。还可能出现这样的情况,即两种解决方案在所有因素上的得分相同,除了成本。在这种情况下,选择很容易,选择更便宜的解决方案。

业务要求

最后但并非最不重要的是业务要求。它们可以采取许多形式;以下是一些常见的形式:

  • 可解释性能够理解和解释具体预测是某些业务流程中至关重要的一部分。在这种情况下,易于解释的模型可能比预测能力更重要。如果可解释性很重要,您应该尽量保持模型简单。您可以尝试不同的解释技术,并评估使用该技术与模型结合使用的难度。
  • 上市时间在竞争激烈的行业或处理时间敏感的机会时,模型的开发和部署速度可能是关键的业务要求。尽量缩短上市时间可以帮助获取竞争优势。在这种情况下,可以快速开发和部署的模型,且迭代次数少或者没有复杂的预处理步骤,将具有优势。
  • 合规性某些行业(如金融、医疗保健和保险)有严格的法规和合规标准。业务要求可能包括确保所选模型符合这些法规,例如数据隐私法(例如GDPR),行业特定指南或道德考虑。为了避免法律和声誉风险,模型必须符合相关法规。
  • 实时推理某些应用程序需要(接近)实时预测,其中决策需要在严格的时间限制内做出。业务要求可能指定需要能够快速处理传入数据并实时生成预测的低延迟模型。对于欺诈检测或推荐系统等时间敏感的应用程序,提供高效的实时推理能力的模型至关重要。

比较原型

在了解了可以在评估和比较解决方案中起重要作用的不同因素之后,您可能会想知道如何比较这些因素。

这并不复杂。首先,团队确定对于使用案例最重要的因素。假设他们希望重点关注预测能力、数据收集、总体实施复杂性、培训成本和可解释性。

在创建原型时,每个人都会记录关于这5个主题的笔记。最后,您可以填写类似下面的矩阵:

比较原型。图片作者:https://miro.medium.com/v2/resize:fit:640/format:webp/1*u53SV_W_FGEv11pskR8E8A.png

顶部是团队确定的因素。左边是比较中的四个原型。点的含义如下:点越大,影响越大。点的颜色表示正面(绿色)、中性(灰色)或负面(红色)。因此,原型1、3和4的预测能力非常好,原型2可以接受。原型1和2的数据收集可以接受,原型3的数据收集很困难,原型4的数据收集也有些困难。

这只是一个例子,您可以根据自己的需求创建自己的比较方法。您可以决定对分数进行量化,而不是使用点。这种方法的好处是,它可以为您提供清晰的概览,并直接了解应该继续使用的原型,即原型1。您也可以考虑原型3,但其数据收集部分较困难。

结论

通过按照本文所述的方式比较用例的原型,您肯定会增加将其投入生产的机会!这样可以方便地向公司内任何人解释您选择某种方法的原因。

最好在项目成员之间提前讨论重要的评估因素,以确保每个人都在同一个页面上。在大多数项目中,难以忽视实施复杂性、维护、成本和业务要求。如果只关注预测能力,可能会忽略后续出现的复杂性。在创建原型时,您可以记录有关标准的笔记,并在评估时与团队讨论,以选择最有可能成功的原型。

简化您的机器学习项目

为什么花费大量时间和精力在复杂模型上是个坏主意,以及应该做什么

towardsdatascience.com

解释任何机器学习模型的模型不可知方法

解释方法概述:排列特征重要性、偏依赖图、LIME、SHAP等。

towardsdatascience.com

创建良好的数据科学产品所需的步骤

从问题到产品。

towardsdatascience.com

Leave a Reply

Your email address will not be published. Required fields are marked *