当前位置: 首页 > 科技观察

将机器学习转化为生产力,谨防这4个常见陷阱!

时间:2023-03-17 22:16:51 科技观察

大数据文摘来源:topbots编译:吴帅在一次技术会议上,演讲者问听众,“谁为他们的业务开发了机器学习或人工智能模型?”80%到90%的人都举起了手。“那么,你们中的任何一个已经投入生产了吗?”演讲者继续说道。几乎所有人都放下了手。很明显,几乎每个人都想在他们的业务中引入机器学习,但这些人也有一个很大的问题:让模型可持续发展非常困难,尤其是在云架构的基础上。medium上的一位博主也指出了这个问题,并提出了将机器学习模型投入生产的4个常见陷阱。不要重新发明轮子这句话大家都耳熟能详了,但是没有改进。由于拒绝使用现有的解决方案,我们可以看到太多的失败。例如,亚马逊网络服务(AWS)和谷歌云拥有强大的机器学习套件和产品,并且易于使用。尽管它们并不适合所有用例,但它们绝对是一个很好的入门平台,尤其是当公司员工没有丰富的机器学习经验时。使用GoogleVisionAPI进行情绪检测,图片来自TheNextWeb以上是可以使用GoogleCloud的VisionAPI提取信息的示例。假设你有客户对产品反应的图片或视频数据,你想根据他们的面部表情了解他们对产品的态度。然后你可以简单地将图片或视频作为数据提交给GoogleVision进行处理,从而得到每张脸所呈现的大概情绪。总的来说,AWS和谷歌云上的产品性价比已经不错了。此外,维护也很容易,因为该平台可以处理版本更新、功能添加等。解决方案并非一成不变。对于较小的项目,这种简单易行的方法可能就足够了。但对于较大的项目,它要么太贵,要么需要更多定制。此类项目通常需要定制解决方案。如前所述,有许多项目因做得太多而失败,同样,也有许多项目因做得太少而失败。我们需要保持一种“增量收益”的心态,即在不牺牲长期目标的情况下从我的产品中提取尽可能多的短期价值,但有时这种行为会破坏产品设计。可以通过以下方式应对这一挑战:确保充分了解手头的问题和预期的商业价值进行必要的研究。对于第一种方法,如果团队从一开始就陷入技术细节的泥潭,很可能只见树木不见森林。你必须不断提醒自己“我真正想要完成的是什么?”第二条路径稍微复杂一些。可以先在谷歌学术上做研究,梳理相关的学术刊物或博文,看看别人是如何解决我遇到的问题的。如果没有令人满意的结果,则尝试寻找类似的问题(可能是不同的领域),直到找到一个好的lead。届时,寻找现成的解决方案,看看它们是否满足需求。如果是这样,请执行该计划。如果不是,则需要构建更多的定制。未正确识别的风险在开发出出色的解决方案之后,很多时候我们忘记了这些模型中固有的风险。当人们说“我们并不真正了解模型的工作原理”时,他们在某种程度上确实了解。可解释的人工智能是一个快速发展的领域,致力于准确回答这个问题:“为什么这个模型以它的方式工作?”但在我们能够准确解释该模型的工作原理之前,我们必须采取一些必要的步骤。预防措施。1.了解模型之间的特征和相关性通常,我们不希望我们的模型根据种族、性别、收入水平等因素做出决策,因此我们不将它们作为输入。所以一切都会好起来的,对吧?不必要。我们必须确保这些因素不会影响我们正在使用的其他功能。例如,邮政编码是一个强大的人口统计指标,可以从中推断出它所在的地区。因此,在每个项目开始之前,我们都必须努力探索数据。2.模型是否允许在生产中进化?当我向某些人提到“机器学习”时,他们通常认为这意味着模型会随着人与机器的交互而实时进化。虽然有些模型会这样做(改天会详细介绍),但有很多模型没有这样做,这是有充分理由的。即使没有必要的检查和监控,面对输入数据的剧烈变化,模型也不会失控。但事实并非如此。假设您有一个根据市场趋势动态更新的股票交易模型。在正常市场中,它运行良好,但如果发生不可预测的事情(通常发生在最坏的可能时间),模型可能会过度补偿以适应新环境,从而完全放弃原来的训练策略。3.您计划多久重新训练或更新一次模型?这个问题没有标准答案。这完全取决于您的问题和建模技术,但尽早弄清楚这一点很重要。您应该有一个标准的更新方法和策略,原因很简单:您如何知道您的模型是在改进还是在下滑?假设我有一个准确率为75%并投入生产的模型。我怎么能确定准确率是75%呢?通常,我会使用部分历史数据作为验证集(通常为20%)进行验证。现在假设我在一个月后更新模型,发现我的准确率达到了85%(真牛逼,表扬我)!所以我很高兴地把更新推送到平台上。然而,我突然注意到结果急剧下降,我的客户一直在抱怨。这是怎么回事?原因很简单:如果我不保存我的验证集(用于测试准确性的原始数据),那么我就不是在同类比较。我不能确定更新后的模型是否比原来的模型表现得更好,这造成了很多麻烦。说您不需要使用机器学习就可以开始,这很伤人,但这可能是您从阅读本文中获得的最大收获。尽管机器学习被认为是当今计算机科学中最酷的领域之一,但人们往往忽略了一个事实,即它是腰带上的工具,而不是腰带本身。你不会用手提钻来钉钉子,所以当你可以使用基本的Python脚本完成工作时,不要使用机器学习。能够使用尖端技术对我们来说很诱人,我也知道这一点,但如果没有必要的专业知识,您可能会造成不必要的失败。我见过太多人们在设计产品之前集思广益的例子:“我们如何使用聊天机器人?”,“你认为我们可以用面部识别做什么?”...但事实是,这些想法基本上没有用。链接:https://www.topbots.com/pitfalls-in-putting-ml-model-in-production/【本文为专栏组织大数据文摘原创翻译,微信公众号《大数据文摘》(id:BigDataDigest)”]点此查看该作者更多好文