新的方向:自动化机器学习巫师笔记

在过去的一年当中,自动化机器学习已经成为一个众人感兴趣的话题。KDnuggets举办了一个关于该话题的博客大赛。结果喜人,有很多有意思的想法与项目被提出来了。一些自动化学习工具也引起了大家的兴趣,受到了大家的追捧。

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

自动化机器学习并不属于自动化数据科学。毫无疑问的是它与自动化数据科学有重复的部分。尽管如此,机器学习只是数据科学工具包中的一个工具。它无法对所有的数据科学任务起作用。例如,机器学习虽然适用于预测性的数据科学任务。但它并不适用于描述性分析的数据科学任务。

即使是那些预测性的数据科学任务,也不仅仅只包含预测。我们对自动化机器学习与自动化数据科学会产生了混淆,对此,数据科学家SandroSaitta认为:

在读到关于自动化数据科学与数据科学竞赛的工具新闻的时候,没有行业经验的人会很困惑,他们可能认为数据科学就是建模,这样就可以完全自动化运行了。

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

此外,数据科学家、自动化机器学习的领军人物RandyOlson认为我们要想得到高效的机器学习设计方案,我们必须做到以下几点:

假如我们将以上所说的东西都考虑进去,那么我们可以认为自动化机器学习的任务是选择算法、超参调整、迭代建模以及模型评价,这样的话,我们就可以以此来定义自动化机器学习了。自动化机器学习的定义是多种多样的(对比一下数据科学,当你向十个人询问什么是数据科学的时候,你会得到是十一种不同的回答。),但是我们却可以说,这开了个好头儿。

尽管我们知道了自动化机器学习的概念,自动化机器学习对我们可能有好处,但是我们仍需要知道为什么机器学习会很难。

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

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

紧接着Enam详细阐述了机器学习的难题,并着重叙述了算法的特性(见粗体字):

机器学习的难题之一就是建立直觉。建立直觉的意思是采用某种工具来应对问题。这就需要知道可用的算法、模型、风险权衡以及每一个限制条件。

……

Enam紧接着从算法研究层面阐述了框架问题。再次强调下,他所说的是应用算法。假如一个算法不起作用,或者性能不是很好,那么我们就需要对算法进行迭代,即再选择与再定义。这就产生了自动化,因此也就有了自动化算法。

我以前对于自动化机器学习算法本质的理解是这样的:

正如SebastianRaschka描述的那样,假如说计算机程序关于自动化的,那么机器学习可以看做是“关于自动化的自动化”。那么自动化机器学习就是关于自动化的自动化的自动化。程序通过管理重复的任务来减轻我们的压力;机器学习帮助计算机如何最好的处理这些重复的任务;自动化机器学习帮助计算机学习如何优化上面的结果。

这种思想很有用处;尽管我们之前会担心调参数、调超参数。自动化机器学习通过尝试一些列不同的方法,最终会采用最好的方式来调参,从而得到最优的结果。

很简单,对不对?

现在我们知道了自动化机器学习到底是什么了,以及我们要用它的原因。那我们我们该如何才能创造出一个自动化机器学习模型来?接下来要讲解的是两个自动机器学习工具包的概述,以及二者之间比较。这些工具包是使用python编写而成的。这两个工具使用不同的方式来达到相同的目的,也就是是机器学习过程的自动化。

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

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

上面的信息是摘自项目的文档说明,Auto-sklearn可以通过贝叶斯优化方式将超参数最优化,就是通过不断迭代以下几个步骤:

下面将进一步阐明这个过程是如何进行的:

这个过程可以概括为联合选择算法、预处理方法以及超参数。具体如下:分类/回归的选择、预处理方法是最高优先级、分类超参数、被选择方法的超参数会被激活。我们将使用贝叶斯优化方法来搜索组合空间。贝叶斯优化方法适用于处理高维条件空间。我们使用SMAC,SMAC是的基础是随机森林,它是解决这类问题的最好方式。

就实用性而言,由于Auto-sklearn直接替代scikit-learn的estimator,因此scikt-learn需要安装这个功能,我们才能利用到这个优势。Auto-sklearn同样也支持在分布式文件系统中进行并行计算,同时它也可以利用scikit-learn模型的持续特性。要想高效的使用Auto-sklearn替代estimator只需要4行代码就可以了。作者这样写道:

需要注意的是,Auto-sklearn是ChaLearnAutoMLchallenge竞赛中,auto单元与tweakathontracks单元的双料冠军。

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文件当中,如下所示:

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

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

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

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

我可以很确定地认为自动化机器学习系统将会成为机器学习的主流。

但是自动化机器学习是否会替代数据科学家?Randy继续说道:

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

我们发展自动化机器学习方法是为了向数据科学家提供帮助,而不是代替他们。这些方法使数据科学家摆脱了讨厌复杂的任务(比如说超参数优化),机器可以很好地解决这些任务。然而数据分析与结论获取的工作仍然需要人类专家来完成。在未来,理解应用程序领域的数据科学家仍然极其的重要。

这听起来十分的鼓舞人心:数据科学家不会被大量替换,自动化机器学习是为了帮助他们更好的工作。这并不是说自动化机器学习已经很完美了。在我们提到自动机器学习是否还有进步空间的时候,Auto-sklearn团队如是说:

尽管有一些方法可以用来调试机器学习管道的超参数,但是目前为止很少有工作能发现新管道。Auto-sklearn以固定的顺序使用一系列的预定义的预处理器与分类器。假如一个方法对于找到新管道很有效,那么这个方法将会很有用处。当然,人们可以继续这种思路,并尝试自动寻找新的算法。最近,已经有几篇论文这样做了。比如说Learningtolearnbygradientdescentbygradientdescent.(雷锋网(公众号:雷锋网)此前也有提及这篇论文,它获得了RedditML小组评选的“年度最佳论文标题奖”)

自动化机器学习的发展方向在哪里?很难说清楚。毋庸置疑的是,迟早会出现。尽管不是所有的数据科学家都熟知自动化机器学习,但是熟知自动化机器学习将会使你获益匪浅。别忘了,假如你能够在大多数人意识到之前就去学习自动化机器学习,驾驭科技浪潮,你就不会因未来的不确定性而担心你的工作了。你对于这些技术的驾驭利用将会帮助你在未来更好的工作。而我也再想不出比这个更好的理由来学习自动化机器学习了。

THE END
1.机器学习:开启智能未来的钥匙腾讯云开发者社区机器学习作为人工智能的核心方法,通过分析数据中的隐藏规律,让计算机从中获取新的经验和知识,不断提升和改善自身性能,从而像人一样根据所学知识做出决策。https://cloud.tencent.com/developer/article/2478495
2.机器学习——自动机器学习(AutoML)文章浏览阅读1.2k次,点赞77次,收藏85次。自动机器学习(AutoML)是指通过自动化的方法来选择模型、调整超参数和预处理数据的过程,从而让没有丰富经验的用户也能创建高质量的机器学习模型。与传统的机器学习方法相比,AutoML能够自动执行数据预处理、特征工程、模型选择、https://blog.csdn.net/2301_80374809/article/details/142948574
3.什么是机器学习?一文读懂数据驱动的未来并通过与环境的交互来不断优化决策策略。这种方法在自动驾驶、机器人控制等领域具有广阔的应用前景。随着技术的不断进步和应用场景的日益丰富,机器学习将在更多领域发挥重要作用。从金融风控到医疗健康,从智能制造到智慧城市,机器学习的身影无处不在。它将助力人类解决更为复杂的问题,推动社会的持续发展和进步。https://baijiahao.baidu.com/s?id=1800394235426231596&wfr=spider&for=pc
4.什么是自动机器学习机器学习(Machine Learning)是一种人工智能领域的重要技术,它使计算机能够通过数据自动学习并改进性能。然而,传统的机器学习方法需要专业领域知识和大量时间来选择合适的模型、特征工程和超参数调整等步骤。为了降低机器学习的门槛,提高效率,并使更多的人能够从中受益,自动机器学习(AutoML)应运而生。 https://www.eefocus.com/e/1664499.html
5.自动机器学习机器学习hackernew的技术博客自动机器学习 机器学习,机器学习简介机器学习是一种人工智能技术,通过对数据的学习和建模来实现自主地执行某项任务的能力。在数据密集型领域,机器学习已成为了一项重要的技术,包括图像识别、语音识别、自然语言处理、推荐系统、智能游戏等领域。本文将介绍机器学习的基https://blog.51cto.com/u_56701/6418631
6.Cadence全球首创机器学习核心EDA自动化工具Cerebrus面世楷登电子(美国 Cadence 公司,NASDAQ:CDNS)今日宣布推出 Cadence? Cerebrus? Intelligent Chip Explorer——首款创新的基于机器学习(ML)的设计工具,可以扩展数字芯片设计流程并使之自动化,让客户能够高效达成要求严苛的芯片设计目标。Cerebrus 和 Cadence RTL-to-signoff 流程强强联合,为高阶工艺芯片设计师、CAD 团https://laoyaoba.com/n/787292
7.自动机器学习平台决策类AI应用HyperCycle ML低门槛、标准化、决策类自动机器学习平台 基于库伯学习圈理论,将AI应用过程简化为“行为、反馈、学习、应用”四个步骤,大幅降低AI使用门槛,为企业规模化落地AI提供效率引擎,助力企业轻松实现智能化转型。 基于库伯学习圈理论,将AI应用过程简化为“行为、反馈、学习、应用”四个步骤,大幅降低AI使用门槛,为https://www.4paradigm.com/product/hypercycle_ml.html
8.什么是自动化机器学习(AutoML)?了解什么是自动化机器学习及其在 ML.NET 中的不同组件https://learn.microsoft.com/zh-cn/dotnet/machine-learning/automated-machine-learning-mlnet
9.机器学习的不确定性:自动驾驶的安全视角汽车领域的这些系统正在快速地发展,并加速了高度自动化和全自动驾驶的发展进程,同时也在安全保障方面提出了新的挑战。机器学习方法和数据中的不确定性是安全领域研究的一个重要课题。在这篇文章中,我们将在自动驾驶领域探究这个问题,着手分析四个安全性相关的案例,然后介绍我们提出的相应的解决方案。该方法的核心是在自http://www.cheyun.com/content/24837
10.IEEEIV2018丨徐昕:基于机器学习算法的自动驾驶汽车决策与控制由IEEE智能交通系统协会 (ITSS)主办的The 29th IEEE Intelligent Vehicles Symposium(第29届IEEE国际智能车大会)于6月26日-6月30日在江苏常熟圆满落幕,国防科技大学机电工程与自动化学院徐昕教授作为特邀主旨报告嘉宾,他报告的题目为《基于机器学习算法的自动驾驶汽车决策与控制》。 https://mp.ofweek.com/ai/a545673225236
11.一种基于机器学习的自动对焦算法AET摘要:针对现有面阵CCD相机自动对焦算法精度比较低、易出现局部峰值的问题,提出了一种基于机器学习的自动对焦算法。采用机器学习中的决策树算法求得两个决策树,用决策树来决定镜头移动的方向及下一步的状态,进而确定了一个包含有峰值的范围,然后再用爬山算法进行局部峰值搜索,从而确定焦点峰值位置。实验结果表明,该算法http://www.chinaaet.com/article/3000020032
12.强化学习与自动驾驶原创:晏茜资料来源:时老师 本文主要介绍强化学习在智能交通,尤其是自动驾驶领域的应用。首先带大家了解强化学习的内涵,然后分析如何构建强化学习的问题,最后会基于项目内容去讲解自https://www.jianshu.com/p/be915d014084
13.深入理解AutoML和AutoDL:构建自动化机器学习与深度学习平台(豆瓣)#读书 《深入理解AutoML和AutoDL: 构建自动化机器学习与深度学习平台》,王健宗,机械工业出版社。 似乎是目前关于AutoML的第一本中文成书? 作者蜻蜓点水般的介绍了AutoML, AutoDL所涉及的繁杂的概念和技术,属于浅入浅出型,也几乎没有任何实例,但最后已经形成了相当大的篇 (展开) https://book.douban.com/subject/34794803/
14.从视频追踪到自动评论,五月GitHub最热机器学习项目都在这里了您的五月余额已不足,这个月最新最火的机器学习项目都看过了吗? Mybridge AI博客从将近250个机器学习开源项目中找到了标星数排名最靠前的Top 10项目,涵盖视觉问答、对象检测、自动生成评论等多个维度。 一起来看看吧~ 第1名:Pythia Pythia是Facebook人工智能实验室出品的视觉和语言多模式研究的模块化框架,2138星。https://tech.sina.com.cn/csj/2019-05-27/doc-ihvhiqay1682336.shtml
15.电子系机器学习课题组自动化知识图谱表示学习论文被TPAMI接收电子系机器学习课题组与第四范式和香港科技大学合作论文《知识图谱学习的双线性评分函数搜索》(Bilinear Scoring Function Search for Knowledge Graph Learning)近期发表于IEEE模式分析和机器智能学报(IEEE Transactions on Pattern Analysis and Machine Intelligence ,IEEE TPAMI)。信息系统研究所姚权铭老师为论文通讯作者,项https://www.ee.tsinghua.edu.cn/info/1076/3716.htm
16.学习报告:基于睡眠脑电的睡眠分期3.其他机器学习算法 深度学习 注:表格来源 Fiorillo L, Puiatti A, Papandrea M, et al. Automated sleep scoring: A review of the latest approaches[J]. Sleep medicine reviews, 2019, 48: 101204. 总结 可以看出基于深度学习的自动分期系统已经得到越来越广泛的研究,大部分深度学习框架基本都是基于CNN和RNNhttps://www.scholat.com/teamwork/showPostMessage.html?id=9736
17.Python环境下的自动化机器学习超参数调优机器之心机器学习算法的性能高度依赖于超参数的选择,对机器学习超参数进行调优是一项繁琐但却至关重要的任务。本文介绍了一个使用「Hyperopt」库对梯度提升机(GBM)进行贝叶斯超参数调优的完整示例,并着重介绍了其实现过程。 由于机器学习算法的性能高度依赖于超参数的选择,对机器学习超参数进行调优是一项繁琐但至关重要的任务。https://www.jiqizhixin.com/articles/2018-08-08-2
18.九章云极DataCanvas方磊:Hypernets——自动化机器学习的基打架在WAIC 2021 AI 开发者论坛上,九章云极 DataCanvas 董事长方磊发表主题演讲《Hypernets:自动化机器学习的基础框架》,在演讲中,他主要介绍了 Hypernets 的概念模型和两个具体实例。他认为,好的 AutoML 框架一定要具备富有表现力的搜索空间描述语言、支持高维空间的高效搜索算法和高性能的评估策略。 https://m.thepaper.cn/baijiahao_13676597
19.Science自动化+机器学习攻克代谢途径改造不确定性的技术壁垒针对上述问题,研究团队利用自动化大设施平台技术,确定可控的进化轨迹,实现了代谢通路多个关键性基因的自动化同步进化。该研究还搭载了ProEnsemble机器学习框架,进一步缓解了进化途径各基因间的上位效应影响,进而创造了一个高效的通用型底盘来合成黄酮化合物。这项工作(DOI: 10.1002/advs.202306935)可以有效克服代谢途径进化https://www.siat.ac.cn/kyjz2016/202402/t20240221_6963199.html
20.NanoEdgeAIStudioNanoEdgeAIStudio - 面向STM32开发人员的自动化机器学习(ML)工具, STNEAISOLOLIC, STNEAISPR1, STNEAISPR4, STNEAITEAMLIC, STNEAISTUDIO, STNEAISPR2, STNEAISPR3, STMicroelectronicshttps://www.st.com/zh/development-tools/nanoedgeaistudio.html