首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AutoML 坏掉了

作者:Piotr Plonski在Netezza和IBM担任过软件工程师,担任过iQor的数据科学家,华沙理工大学的助理教授,现为MLJAR公司创始人。

自动化机器学习坏掉了

本文阐述了反对实施机器学习解决方案的若干理由,并介绍了面临的问题不是机器学习问题,可能使用优化就能加以解决的场景。

按照维基百科的解释,自动化机器学习(AutoML)是指使运用机器学习处理实际问题的整个端到端过程实现自动化。

典型的机器学习应用包括:

数据预处理

特征提取、工程和选择

算法选择

超参数优化

好多步骤!AutoML旨在使它们实现自动化,那样你就可以将宝贵的时间用于处理更具挑战性的任务上。听起来很酷,但果真如此吗?不妨仔细看看......

开始之前,你的问题是什么?

在开始构建机器学习管道(自动或手动)之前,你需要知道:

你想要实现什么样的目标?

你想要解决什么样的问题?

你真的需要机器学习吗?

这非常重要!也许你不需要复杂的机器学习解决方案。许多问题不是机器学习问题。它们可能是优化问题、探索性数据分析任务,或者是用简单的统计方法就能解决的问题。

好了,现在你确信自己需要机器学习。

三个数据问题:什么?哪里?怎样?

然后,你需要数据!

你需要什么数据!

你已经拥有它了(在某个地方)吗?

你需要购买吗?

你需要手动标记吗?

数据位于何处以及如何可以访问它?

如何合并多个源数据?(这可能很重要)

许多人表示,上面概述的这些步骤是构建机器学习解决方案过程中最耗费时间的,因此也是最耗费资金的。在生产环境中运行这部分至少需要某种基本的抽取、转换和加载(ETL)。

让我们训练模型吧(这部分很简单)

数据准备好后,就可以运用AutoML。只要点一下鼠标,你就可以训练成百上千个模型,随后这些模型在云端并行训练。你最终会得到一组模型,或者甚至全部模型,它们经过训练,就某个验证方案而言可优化某个指标。最好的那个(全面调优)模型会比拥有默认超参数的单个模型好几个百分点。全部模型让你可以在接下来改进几个百分点。假设你最终改进了10%至25%,相当好,是不是?!在相同的情况下,这可以转化为巨大的投资回报――想想交易解决方案或信用评分任务。

模型复杂性

不过你最终会得到一个复杂的模型,有以下属性:

难以理解的黑盒子(是的,你可以尝试使用AI解释器,努力解释模型及其预测)

计算预测所需要的时间可能很长(以全部模型为例,你需要计算来自所有模型的预测)

难以维护......

机器学习维护

模型维护是什么意思?嗯,仅仅训练精确、花哨的AI/机器学习模型还不够。想在生产环境中使用机器学习模型,你应该:

监控数据质量,意识到可能出现的漂移(比如如果是自然语言处理即NLP,语言需要多年才有显著变化,但如果是客户数据,可能几天内就会变化)

监控预测(模型拿训练中未见到的新数据来计算预测,因此没人知道会发生什么)

提供反馈回路,可用于监控用途和模型再训练。

无聊的软件

训练机器学习模型令人兴奋!这是Tigger最喜欢的!围绕机器学习构建软件并不同样令人兴奋。机器学习模型在生产环境中运行所需要的无聊软件包括:

为训练和生产准备输入数据所用的软件――你的ETL解决方案

为服务机器学习模型、监控数据质量和反馈回路所用的软件

为请求机器学习模型拿新的数据记录计算预测,并进行操作所用的软件(是的,你需要用预测做一些事情,为此还需要代码)

在本地运行机器学习时,最后两个步骤通常联系起来。所有使用的软件同样需要一些维护。

用预测做什么?

你已成功完成上述所有步骤。恭喜!你现在可以拿新的数据记录来计算预测。可以用预测做什么?

你可以用预测来获取洞察力(我认为这是最容易的方法,实际上这根本不使用机器学习模型,这是探索性数据分析)

你可以用预测来执行操作。有很多可能性,比如可用于提交汇兑交易或向客户发送电子邮件。我认为这是整条机器学习管道中最出色的部分。基于数据行事。

结论:

1. AutoML解决方案可以调整机器学习模型,并借助某种验证模式和数据来提高准确性。它可以节省大量时间,数据科学家通常需要大量的时间来检查不同的算法和验证(你不需要编代码、不需要检查库版本或接口)。当然,拥有AutoML是一大优势,很有必要。然而在我看来,就算你有AutoML魔法箱子,也需要大量资源(资金、时间和人力)来处理贵公司的机器学习。

2. 你需要提供无聊的软件来处理数据并利用机器学习预测。我认为,机器学习管道的这部分被低估了,实际上它是数据驱动型解决方案的主力部分。

3. 此外,很多时候你不需要复杂的高精度模型。我认为最好从一个尽可能简单的模型入手,看看你是否可以将它运用于实际生活中,它是否为贵公司提供改进/投资回报。就连简单的机器学习模型也应该胜过根本就没有模型(随机处理)。简单模型比复杂模型有显著优势:它们对人类而言是可读的(是的,你可以理解它在做什么!)。

4. 使用机器学习来执行操作。你会感受到自动化带来的便利。机器学习模型基于你的数据来自学(你不需要为它编代码),然后它可以帮你预测未来。用它来执行操作。

5. 商用AutoML解决方案价格不菲(每年5万至20万美元),因此只有大企业才负担得起。除此之外,你仍需要大量资源才能在公司成功地部署机器学习。我认为,中小企业需要等待,等到这项技术趋于成熟,变得更经济实惠。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190220A1DZF700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券