如何自动化机器学习

时间:2019-03-13 20:10:11 阅读:60次

  六年前我们推出DataRobot时,人们笑了。 “自动化机器学习?”他们哼了一声。 “哈哈!它永远不会奏效!“

<! - more - >

  专家嗤之以鼻。 “你永远不会自动化机器学习。你会得到一个弱模型。你会得到一个会破坏你的业务的有偏见的模型。“

  六年来,数以百计的客户,成千上万的用户以及近十亿的模特,他们不再笑了。

  今天,不少供应商声称提供自动化机器学习。大公司和小公司;传统公司和创业公司。我们很激动。模仿是最真诚的奉承形式。

  然而,我们注意到这些DataRobot模仿者的一些惊人之处。

  他们做错了。

  有一种自动化机器学习的正确方法。并且,有许多不同的错误方式。我们创建了一个指南,帮助您了解成功实现自动化的十个关键组件。

  但首先,这是自动化机器学习最常见的错误方法。

  

假自动化

  有些人似乎对自动化某些东西意味着什么感到困惑。

  例如,一家供应商提供了一个用于分析的拖放工具,并称之为“自动化”。拖放式UI很不错。拖放比编写优秀的Python代码要容易得多。但是用户仍然必须知道要拖动什么以及放下它的位置。这需要知识。如果这是您的目标,拖放工具将无法帮助您“实现机器学习的民主化”。

  另一家公司声称在调度程序下运行的批评计工作“自动化”机器学习。调度程序很方便。他们自动化日常生产工作。那很棒。但他们并没有自动化机器学习的难点。有人仍然需要训练和验证模型。

  这是困难的部分。

   DataRobot可以自动完成诸如模型培训和验证等难题。

  

深奥的算法

  如果你想欺骗别人,告诉他们你有一个特殊的算法。你声称,它可以完成所有工作,因此不需要使用大多数数据科学家使用的其他算法。向客户展示一份白皮书,说明您的算法特殊的原因。

  为了解决这个问题,你可能需要一两位大学教授帮助解释你的算法的特殊性。

  这种方法存在两个问题。

  首先,没有一种算法在所有问题上都胜过所有其他算法。机器学习开发人员需要权衡利弊。您构建的算法可以很好地解决某些问题,而代价是其他问题。

  第二个问题是透明度。如果您使用主流以外的算法,很少有人会理解如何使用它。您的客户很难找到并聘请人们使用您的工具。

  当然,如果你的目标是锁定客户,那就是一个功能,而不是一个错误。

  

One-Trick Pony

  一些供应商在单一算法上构建自动化机器学习引擎。他们声称只需要一种算法。您只需要设计功能并正确调整模型。

  这是胡说八道。一种算法在一个用例上可以胜过其他算法,但在所有用例中都不会胜过其他用例。为了在不同的用例中保持一致的质量,您必须尝试许多不同的算法。

  一些供应商只使用深度学习。深度学习很酷。对于像图像识别这样的大型特征问题,它通常是最好的技术。 DataRobot使用深度学习以及许多其他技术。

  为什么供应商信任单一算法?有时,这是盲目的信仰。在机器学习社区中,有些人更喜欢专注于一种技术,例如深度学习。

  如果您只使用一种算法,则可以更轻松地交付软件。机器学习很乱。如果您能说服客户只需要一种算法,那么您可以节省软件工程,测试和产品开发。您不必构建自动比较算法的工具,因为没有什么可比较的!

  为只有一个档位的汽车制造自动变速箱很容易。

  

秘密酱

  也有公司保持一切非常,非常,秘密。他们的技术非常特别,他们不敢透露它们。方便的是,他们也不能透露他们的参考客户。

  要实现这一目标,如果您能说服客户您的创始人之前为CIA,KGB或Mossad工作过,那将会很有帮助。

  这是一个现实检查。像大多数技术一样,机器学习以小的增量步骤进步。大跃进是罕见的。在过去的五十年里,所有重大进步都在公开场合发生 - 而不是在封闭的研讨会上。

  不要让供应商告诉你他们的秘密算法比其他算法好很多。他们给你喂了一条线。

  

零件袋

  有些供应商告诉您他们的平台非常适合自动化机器学习。但是,当您探究详细信息时,您会发现它们意味着您可以在其平台上构建自己的引擎。你所要做的就是编写一些代码,添加一些开源自动化软件,然后就可以了 - 你就参加了比赛。

  这个价值主张存在问题。

  您需要节省时间并利用人才。这就是为什么自动化会吸引你的原因。您希望使用相同的人员提供更多数据产品,或者将更多时间花在高价值项目上。

  但如果人才稀缺,你会在哪里找到建立和维护复杂软件的时间?

  鼓励您构建自己的自动化机器学习引擎的供应商不会向您出售冰箱。他们卖给你一袋冰箱零件。

  

新瓶装旧酒

  现代机器学习软件在许多服务器上分配工作量。这样,您可以并行执行许多任务,并向外扩展以处理非常大的问题。

  但分布式机器学习只有8到10年的历史。比旧版本的工具仅在一台服务器上运行。如果你的计算问题超过了一台服务器的容量 - 嗯,这太糟糕了。

  传统软件供应商认为他们可以构建一个在现有软件之上运行的自动化机器学习引擎。这种方法很少有效。自动化机器学习引擎运行了大量实验。您必须并行运行这些实验,否则您将等待很长时间才能看到结果。

  查看文档。当软件供应商构建在传统平台上时,他们通常会警告您自动引擎需要很长时间才能运行。一家公司甚至会告诉您安排夜间和周末的自动运行。

  那真是太可悲了。

  

半桥

  许多机器学习供应商自动化工作流程的一个或两个部分,剩下的工作由您自己完成。这就像卖给你半桥。半桥怎么办?在河的中途行驶,然后在剩下的路上游泳?

  自动化机器学习功能强大,因为它可以帮助您将新用户引入流程。通过内置的质量保证,您可以信任新手用户构建可靠的模型。您最有价值的专家可以担任辅导和顾问角色,或者他们可以在最具挑战性的模型上工作。

  使用部分自动化工具无法做到这一点。如果流程的任何部分是手动的,那么您的专家用户必须执行每项任务。否则,新手在手动部件上会出错的风险太大。因此,专家数据科学家的能力限制了整个机器学习计划。

  以当今业务的速度进行机器学习,重新考虑工作流程 - 并自动完成所有工作。

  

如何自动化机器学习

  是的,有一种自动化机器学习的正确方法:

  •   自动化艰难的事情。


  •   使用主流算法。


  •   使用不同的算法。


  •   透明。


  •   构建一个开箱即用的引擎。


  •   构建高性能和可扩展性。


  •   自动完成整个机器学习工作流程。


      我们在网站上创建了自动机器学习指南。了解有关自动化机器学习平台的十个关键组件的更多信息。还有一个机器学习工作流程的交互式指南,以及我们如何自动化每个步骤。

      因为当您投资自动化机器学习平台时,您需要确保它是正确的。

      

  • 如何自动化机器学习所属专题:机器学习专题 《如何自动化机器学习》链接:http://www.zhouchuanxiong.net/1197

    如何自动化机器学习相关文章