三分快3计划自动化机器学习将成为下一个AI研究主流?听听数据科学家怎么说 | 雷锋网

  • 时间:
  • 浏览:12

雷锋网按:在过去的一年当中,自动化机器学习机会成为有一一一有一个 多 众人感兴趣语句题。KDnuggets举办了有一一一有一个 多 关于该话题的博客大赛。结果喜人,有你这种你这种有意思的想法与项目被提出来了。你这种自动化学习工具也引起了许多人 的兴趣,受到了许多人 的追捧。

本篇文章的作者 Matthew Mayo 机会对自动化学习进行简单的介绍,探讨下一下它的合理性、采用状态,介绍下它现在使用的工具,讨论下它预期的未来发展方向。本文由雷锋网(公众号:雷锋网)编译,未经许可不得转载。

那此是自动化机器学习呢?

接下来许多人 要探讨的是自动化机器学习属于哪一类科学,以及它不属于哪一类科学。

自动化机器学习不须属于自动化数据科学。毫无问题的是它与自动化数据科学有重复的帕累托图。尽管没有 ,机器学习假使 数据科学工具包中的有一一一有一个 多 工具。它无法对所有的数据科学任务起作用。同类,机器学习并不一定适用于预测性的数据科学任务。但它不须适用于描述性分析的数据科学任务。

即使是那此预测性的数据科学任务,假使 仅仅只含有预测。许多人 对自动化机器学习与自动化数据科协会产生了混淆,对此,数据科学家Sandro Saitta认为:

你这种误解来源于许多人 对完三分快3三分快3计划计划正的数据科学过程(同类:CRISP-DM)、准备数据的子过程(形态学 提取等等)以及建模(建模也被许多人 许多人 称为机器学习)的混淆。

在读到关于自动化数据科学与数据科学竞赛的工具新闻的并且,没有 行业经验的人会很困惑,许多人 机会认为数据科学假使 建模,假使 就能也能完正自动化运行了。

他是完正正确的,不仅仅是词义的问题。假使 你并且对机器学习与数据科学有有一一一有一个 多 更加清晰的认识,那就读读你这种。

此外,数据科学家、自动化机器学习的领三分快3计划军人物Randy Olson认为许多人 要想得到高效的机器学习设计方案,许多人 还要做到以下几点:

  • 始终调整许多人 模型的超参数

  • 始终尝试不同的模型

  • 始终对许多人 的数据进行几瓶的形态学 探索

假使 许多人 将以上所说的东西都考虑进去,没有 许多人 能也能认为自动化机器学习的任务是选泽算法、超参调整、迭代建模以及模型评价,假使 语句,许多人 就能也能以此来定义自动化机器学习了。自动化机器学习的定义是多种多样的(对比一下数据科学,当你向十另一方询问那此是数据科学的并且,并且得到是十并完正都是不同的回答。),假使 许多人 却能也能说,这开了个好头儿。

许多人 为那此还要它?

尽管许多人 知道了自动化机器学习的概念,自动化机器学习对许多人 机会有好处,假使 许多人 仍还要知道为那此机器学习会没有 。

AI研究人员、斯坦福大学博士生S. Zayd Enam三分快3计划最近写了一篇奇特的博客,博客的标题是《为那此机器学习没有 “硬”?》,在这篇文章中,他写道(注意粗体字):

机器学习仍然是相对很困难的问题。毫无问题,通过研究来推进机器学习算法的进步会很困难。这还要创造力、实验以及坚持。机会现成的算法、模型能也能很好的为你提供服务,这就阻碍了机器学习的发展。

请注意,尽管Enam主要提及的是机器学习的研究,假使 他也提到了现成的算法在用例中的实现(见粗体字)。

紧接着Enam完正阐述了机器学习的问题,并着重叙述了算法的形态学 (见粗体字):

机器学习的问题三分快3计划之一假使 建立直觉。建立直觉的意思是采用并完正都是工具来应对问题。这就还要知道可用的算法、模型、风险权衡以及每有一一一有一个 多 限制条件。

……

困难在于机器学习基本上没有 进行调试。对于机器学习来说,调试会在并完正都是状态架构设计 生:1)你的算法不起作用了;2)你的算法效用完正都是很好。……算法一并且刚开始英文就起作用的状态很少,假使 许多人 大帕累托图时间完正都是用来创建算法。

Enam紧接着从算法研究层面阐述了框架问题。再次强调下,他所说的是应用算法。假使 有一一一有一个 多 算法不起作用,机会性能完正都是很好,没有 许多人 就还要对算法进行迭代,即再选泽与再定义。这就产生了自动化,假使 完正都是的是了自动化算法。

我并且对于自动化机器学习算法本质的理解是假使 的:

正如Sebastian Raschka描述的那样,假使 说计算机应用程序关于自动化的,没有 机器学习能也能看做是“关于自动化的自动化”。没有 自动化机器学习假使 关于自动化的自动化的自动化。应用程序通过管理重复的任务来减轻许多人 的压力;机器学习帮助计算机如保最好的处理那此重复的任务;自动化机器学习帮助计算机学习如保优化上面的结果。

你这种思想很有用处;尽管许多人 然完会担心调参数、调超参数。自动化机器学习通过尝试你这种列不同的辦法 ,最终会采用最好的辦法 来调参,从而得到最优的结果。

自动化机器学的理论基础来源于你这种想法:假使 许多人 还要创建海量的机器学习模型、使用几瓶的算法、使用不同的超参数配置,没有 许多人 就能也能使用自动化的辦法 进行建模。一起也能也能比较性能与准确度。

很简单,对不对?

对自动化机器学习工具进行比较

现在许多人 知道了自动化机器学习到底是那此了,以及许多人 要用它的导致 。假使 们许多人 该如保也能创发明家 的故事有一一一有一个 多 自动化机器学习模型来?接下来要讲解的是有一一一有一个 多 自动机器学习工具包的概述,以及二者之间比较。那此工具包是使用python编写而成的。这有一一一有一个 多 工具使用不同的辦法 来达到相同的目的,也假使 是机器学习过程的自动化。

Auto-sklearn

Auto-sklearn是自动化机器学习的工具包,许多人 用它来替换scikit-learn中的estimator。在最近由KDnuggets举办的机器学习博客大赛中,它取得了冠军头衔。

auto-sklearn使机器学习的使用者能也能很轻松的进行算法选泽以及超参数的调整。它的优势假使 在于使用贝叶斯优化、元数据学习以及集合建设。要想了解更多关于auto-sklearn的身前技术,并且阅读这篇2015年发表在NIPS论文。

上面的信息是摘自项目的文档说明,Auto-sklearn能也能通过贝叶斯优化辦法 将超参数最优化,假使 通过不断迭代以下哪2个步骤:

  1. 创建有一一一有一个 多 概率模型,来找到超参数设置与机器学习的表现之间的关系

  2. 使用你这种模型来选泽出有用的超参数设置,通过权衡探索与开发,进而继续尝试。探索指的是探索模型的未知领域;开发指的是重点从已知的空间中找到表现良好的帕累托图。

  3. 设置好超参数,假使 运行机器学习算法。

下面将进一步阐明你这种过程是如保进行的:

你这种过程能也能概括为联合选泽算法、预处理辦法 以及超参数。具体如下:分类/回归的选泽、预处理辦法 是最高优先级、分类超参数、被选泽辦法 的超参数会被激活。许多人 将使用贝叶斯优化辦法 来搜索组合空间。贝叶斯优化辦法 适用于处理高维条件空间。许多人 使用SMAC,SMAC是的基础是随机森林,它是处理同类问题的最好辦法 。

就实用性而言,机会Auto-sklearn直接替代scikit-learn的estimator,假使 scikt-learn还要安装你这种功能,许多人 也能利用到你这种优势。Auto-sklearn同样也支持在分布式文件系统中进行并行计算,一起它也能也能利用scikit-learn模型的持续形态学 。要想高效的使用Auto-sklearn替代estimator只还要4行代码就能也能了。作者假使 写道:

有有一一一有一个 多 更具鲁棒性的示例(该示例使用了Auto-sklearn,并以MNIST数据集作为数据来源),如下:

还要注意的是,Auto-sklearn是ChaLearn AutoML challenge竞赛中,auto单元与tweakathon tracks单元的双料冠军。

最近Kdnuggets举办了自动化数据科学与机器学习博客大赛,Auto-sklearn研发团队提交的一篇博文在本次大赛中获奖,并且点击这里进行阅读,同样也能也能点击这里来阅读对许多人 的的采访。Auto-sklearn是由Freiburg大学研发出来的。

Auto-sklearn机会被托管到GitHub上了,并且找到相关文档以及API。

TPOT

TPOT被认为是“你的数据科学助手”(要注意,完正都是“你的数据科学替代品”)。它是有一一一有一个 多 Python的工具。通过使用“遗传编程来自动的创建与优化机器学习管道”。TPOT与Auto-sklearn同类,与scikit-learn协同工作。就像是scikit-learn的包装器。

在本文中,许多人 曾提到过,这有一一一有一个 多 工具使用不同的辦法 ,达到同类的目标。二者完正都是开源的,完正都是使用python编写而成的,都宣称通过使用自动化机器学习的辦法 僵化 了机器学习的过程。然而Auto-sklearn使用的是贝叶斯优化,TPOT使用的却是遗传编程。

尽管两者使用的辦法 不同,假使 二者的最终结果却是相同的:自动化超参数选泽,用一系列算进行建模,对几瓶形态学 的探索,那此都导致 了迭代建模以及模型进化。

TPOT的真正好处之一假使 使用scikit-learn的管道,产生能也能准备运行的、独立的Python代码。你这种代码代表着所有备选模型中表现最好的模型。许多人 就能也能修改与审查这份代码。这份代码不须会是最终的模型,假使 能也能当做是许多人 寻找最优模型的有效起点。

下面是有一一一有一个 多 关于TPOT的例子,该案例使用MNIST数据集:

这次运行的结果正确率达到了98%,一起pyhton代码也假使 许多人 所说的管道也会被导入到tpot-mnist-pipeline.py文件当中,如下所示:

许多人 能也能在GitHub上找到TPOT的源代码,以及说明文档。

TPOT的领军人物Randy Olson在Kdnuggets上写过一篇关于TPOT 与AutoML(自动化机器学习)的文章,并且点击这里找到该文章。也会在这里找到对Randy的采访。

TPOT是由宾夕法尼亚大学生物医学信息学研究所研究出来的,由NIH资助。

当然,自动化机器学习不仅仅必须这有一一一有一个 多 工具。还有你这种的工具,像Hyperopt (Hyperopt-sklearn)、 Auto-WEKA,以及Spearmint等等。我打赌在未来几年,几瓶相关的额外项目机会跳出,那此项目中既会含有研究项目,也会含有工业项目。

自动化机器学习的未来

自动化机器学习的未来在哪里?

我最近公开地进行过以下陈述(根据我的文章《2017年机器学习预测》):

自动化机器学习将变成重要的技术。在外人看来,它机会不如强度神经网络。假使 自动化机器学习对于机器学习、人工智能以及数据科学都产生了深远的影响。你这种影响极有机会在2017年显示出来。

在同一篇文章当中,Randy Olson也表达了在2017年他对自动化机器学习的期望。此外Randy在最近的采访含有更加完正地阐述了他的预测:

在不久的将来,我认为自动化机器学习机会替代机器学习的建模过程:一旦数据集拥有相对清晰的格式,没有 自动化机器学习机会比99%的人类调慢地设计与优化机器学习管道。

……

然完会很选泽地认为自动化机器学习系统机会成为机器学习的主流。

假使 自动化机器学习是算不算会替代数据科学家?Randy继续说道:

我不须认为自动化机器学习的目标是为了替代数据科学家,就像是智能代码自动完成工具的目标并完正都是来替代应用程序员一样。相反,对于我来说,自动化机器学习的的目标是为了减轻数据科学家的压力,使许多人 不须将几瓶的精力耗费在重复与耗时的任务上(比如说机器学习的管道设计与超参数的最优化)。假使 许多人 就能也能将时间投入到无法进行自动化的任务当中去。

你这种思想十分好。auto-sklearn的开发人员也同样认同他的观点:

许多人 发展自动化机器学习辦法 是为了向数据科学家提供帮助,而完正都是代替许多人 。那此辦法 使数据科学家摆脱了讨厌僵化 的任务(比如说超参数优化),机器能也能很好地处理那此任务。然而数据分析与结论获取的工作仍然还要人类专家来完成。在未来,理解应用应用程序领域的数据科学家仍然极其的重要。

这听起来十分的鼓舞人心:数据科学家完会被几瓶替换,自动化机器学习是为了帮助许多人 更好的工作。这并完正都是说自动化机器学习机会很完美了。在许多人 提到自动机器学习是算不算还有进步空间的并且,Auto-sklearn团队如是说:

尽管有你这种辦法 能也能用来调试机器学习管道的超参数,假使 目前为止很少有工作能发现新管道。Auto-sklearn以固定的顺序使用一系列的预定义的预处理器与分类器。假使 有一一一有一个 多 辦法 对于找到新管道很有效,没有 你这种辦法 机会很有用处。当然,许多人 能也能继续你这种思路,并尝试自动寻找新的算法。最近,机会有几篇论文假使 做了。比如说Learning to learn by gradient descent by gradient descent.(雷锋网此前完正都是提及这篇论文,它获得了RedditML小组评选的“年度最佳论文标题奖”)

自动化机器学习的发展方向在哪里?没有 说清楚。毋庸置疑的是,迟早会跳出。尽管完正都是所有的数据科学家都熟知自动化机器学习,假使 熟知自动化机器学习机会使你获益匪浅。别忘了,假使 你也能在大多数人意识到并且就去学习自动化机器学习,驾驭科技浪潮,你就完会因未来的不选泽性而担心你的工作了。你对于那此技术的驾驭利用机会帮助你在未来更好的工作。而我也再想找不到比你这种更好的理由来学习自动化机器学习了。

 via  KDnuggets

雷锋网原创文章,未经授权禁止转载。详情见转载须知。