盲目地选择ML驱动的解决方案可能会导致未知的危险。探索采用机器学习模型进行明智决策的好处和挑战。
这并不是一个明显的问题。对于新手数据科学家来说,立即推动机器学习模型可能是一个错误。
事实上,更简单的基于规则的解决方案可以高效且更容易实施,从而节省大量资金。
随着机器学习在各个行业中的应用增加,越来越多的人希望在可以应用的地方使用这种方法。
机器学习确实强大,但它并不是一个能解决所有问题的魔法咒语。
在本文中,我将讨论何时使用机器学习以及在开始项目和探索各种可用方法之前值得问自己的问题。
在我们开始之前,我将介绍机器学习基于解决方案的一般作用。
机器学习是一种从现有数据中学习复杂模式的方法。然后,它使用这些模式对未知数据进行预测。
什么是学习模式?我将从讨论这一部分开始,然后触及数据和预测的主题。
整个旅程将以解释在开发基于机器学习的项目时需要考虑的不同权衡的方式结束。
让我们开始吧。
模式学习
机器学习模型是一个吸引技术人员和非技术人员的系统,因为它能够从观察到的数据中“学习”(因此被称为监督学习)。
如果您有兴趣了解更多关于机器学习的信息,请阅读下面的文章👇
机器学习是什么:我如何向新手解释这个概念 | 作者:Andrea D’Agostino | Towards Data Science (VoAGI.com)
在监督学习中,系统学习输入和输出之间的关系,并重构解释(尽可能好地)所述关系的数学函数。
例如,如果我们想创建一个机器学习模型来预测我们地区的房地产价格,我们将需要在输入(房屋的特征,如是否有花园、壁炉的存在、平方米数等)和输出(价格)上训练我们的模型。
所讨论的模型将使用它所接触到的各种房屋的特征来理解这些特征与价格的关联。一旦正确训练,数据科学家只需要提供一个房产的特征,就能得到一个价格。
这一切都很好,很有趣,但也引入了一个需要考虑的限制:
只有当存在要从中学习的模式时,ML系统才真正有用。
事实上,一个明智的人永远不会去寻求资金和资源来开发一个机器学习系统来预测下一次掷骰子的结果——那将是随机的,模型将一无所获!
这给我们提出了另一个问题:我们如何知道我们的数据中实际上存在模式呢?
这通常是一个完全被忽视的问题,并且找不到不存在的东西的责任被委托给机器学习模型。有时模式确实存在,但数据集可能不完整或不足以使其出现。
如果我们的解决方案可以在Excel中用数据透视表正确表达……那就没有问题。我们不需要一个机器学习模型。
因此,如果我们想要预测的是简单操作的结果(可能可以通过脚本自动化),或者我们知道模式不存在或是随机的,我们就不需要机器学习模型。
然而,如果模式复杂且难以由人类处理(比如将数百个房产的特征映射到价格),那么机器学习很可能会有用。
受数据限制
因为机器学习依赖于数据,所以首先需要有数据存在。
我经常遇到投入时间和资源设计基于低质量和不可靠数据的机器学习系统的客户。
这是一个核心主题:只有当我们拥有(或能够检索到)关于我们想要建模的现象的信息的高质量数据时,才应考虑机器学习系统。
有些情况下可以在没有数据的情况下使用机器学习,这是持续学习的情况。在这种情况下,机器学习模型被投入生产并通过真实用户数据进行学习。这样的模型一开始表现不佳,但会逐渐提高。
当预测“错误”过多
机器学习系统解决预测问题。预测就是对未来某个事物的价值进行估计。
…但有时候,我们对这些预测不满意。
让我们思考一下“建模”这个术语:
- 一个孩子用沙子“模拟”城堡
- 糕点师傅使用“模具”制作甜点
- 铁匠使用模具制作工具,如锤子或钳子
作为数据科学家,我们利用过去来塑造未来。
数据是我们的材料,机器学习是我们的模具。
现在,基于我们的数据质量,我们的模型将能够推广一种“形状”,使其适应将来的其他未知数据。
但是一个非常庞大的形状可能很好地适应我们的数据……
预测错误的主题也开始发挥作用。
当我们评估机器学习模型时,我们使用商业和非商业指标进行评估。使用有效和合理的评估指标可以让我们正确管理和评估机器学习系统。
因此,重要的是要了解如何使用明确的商业评估指标来评估预测系统。
例如,对于房价预测问题,使用诸如MAE(平均绝对误差)这样的指标是有用的,而且即使对非技术人员来说也很容易理解。
这样做可以让我们合理地实施一个机器学习系统,因为它的性能易于解释。
只需自动化一切!
如果我们每天都反复执行同一任务,并且该任务由模式组成,那么考虑机器学习是正确的选择。
正如我之前写过的,数据科学家是自动化的推动者。
事实上,良好的问题框架可以显著改善商业经济效益。
如果我们能够确定存在重复、有结构的数据,遵循可预测的逻辑,那么机器学习可以帮助我们构建自动化这些任务的模型。这不仅节省了宝贵的时间和资源,还减少了人为错误。
通过机器学习实现自动化不仅简化了日常任务,还可以揭示数据中隐藏的洞察力,为制定战略决策提供有价值的见解。
此外,我们还需要考虑需要自动化的程度。
如果我们每天需要自动化多个操作(数量在几百到数万个之间),那么机器学习肯定可以帮助我们!
预测的成本
让我们再次用货币术语谈论预测。
在这里也要明确一点:我们的模型总是会犯错误。有时是大错,有时是小错,但它总是会犯错。
当大型预测误差的成本很低时,机器学习就值得考虑作为解决方案。
推荐引擎的一个例子:
- 模型是基于人的行为训练的
- 模型提供推荐
- 用户选择是否遵循推荐
如果用户不选择推荐,会发生什么?什么都不会发生!错误预测的成本接近于零。
如果用户通过推荐购买了东西,那么用户和商店主人都会很高兴。太棒了。
在医疗领域情况正好相反:模型对严重疾病的X射线诊断进行错误预测的代价非常高。在这种情况下,后果可能是灾难性的。自动驾驶也是如此。
这些最后两种情况是否应该取消机器学习作为诊断工具或自动驾驶系统?当然不是。但必须考虑到人类在过程中的参与程度(比如在诊断过程中得到协助的医生,或者在汽车自动驾驶时接管车辆的驾驶员),以及这些机制对世界总体进展的影响。
结论
采用机器学习需要仔细和有信息的评估。它需要投入大量资金,因为建立这样的系统是昂贵的,并需要多个专业人员的技能。
我们不应该错误地将其视为解决我们所有问题的方法,而应将其视为在特定情境中使用的强大工具。
如果您有兴趣在公司中实施机器学习流程,但不知道应该选择哪种解决方案,请与我们讨论!
我可以帮助您理清选择的背景,并指导您走向最佳方向(尽管本文应该已经解决了很多疑问!)
期待与您的再次见面!