点击上方“AI派”,选择“设为星标
最新分享,第一时间送达!

来    源 | AI开发者

作 者 | Denis Vorotyntsev

翻 译 | 呀啦呼(Tufts University | CS)
审 校 | 唐里、鸢尾、Pita

图源:汤姆和杰瑞,第70集 —— 按键猫(1952)(译者注:直到暑假去了上海Disney,我才知道它和兔八哥、啄木鸟伍迪都和迪士尼木有关系,气气 
我在多个机器学习竞赛中为了融合主要的模型使用了AutoML,并且我参与了两个AutoML的竞赛。我认为AutoML作为使建模过程自动化的一种想法非常出色,但是该领域被过度炒作(overhyped)。一些关键概念,例如特征工程(features engineering)或用于参数优化的元学习(meta-learning),将释放其潜力,但就目前而言,将封装的AutoML作为工具只是浪费金钱。
以下所有文本均与表格数据有关。

 1  AutoML是嘛玩意?

  Data Science projects(数据科学项目)

任何数据科学项目都包含几个基本步骤:从业务角度提出问题(选择成功的任务和度量标准),收集数据(收集,清理,探索),建立模型和评估其性能,在生产环境中部署模型并观察模型在生产中的表现。
跨行业的数据挖掘标准流程
过程的每个部分对于项目的成功都至关重要。但是,从机器学习的最擅长角度来看,建模部分至关重要,因为完善的ML模型可能会为公司带来很多价值。
在建模阶段,数据科学家正在解决优化任务:使用给定的数据集,目标-最大化所选指标。这个过程很复杂,它需要不同类型的技能:
1. 特征工程有时被视为艺术,而非科学(译者:我猜作者表达的是很多时候我们需要直觉或者经验总结,但是我不同意归为艺术);
2. 参数优化需要对算法和核心ML概念有深入的了解;
3. 需要软件工程技能(码畜们存在的意义)来让输出的代码易于理解、部署。
这就是为啥我们需要AutoML。
ML建模和软件工程一样,像是艺术和科学的结合体。

  AutoML

AutoML的输入是数据和任务(classification, regression, recommendations等),输出-生产就绪模型,该模型能够预测隐藏的数据。数据驱动管道中的每个决定都是一个参数(译者:闹不懂作者的意思,有点玄学)。AutoML的基本想法是找到这样的参数,这些参数可以在合理的时间内给出良好的分数。
  • AutoML选择了一种预处理数据的策略:如何处理不平衡的数据;如何处理不平衡的数据;如何填充缺失值;outlier的删除,替换或保留;如何编码类别和多类别列;如何避免目标泄漏;如何防止内存错误;等等。
  • AutoML生成很多新的特征并且选择当中有意义的;
  • AutoML自动选择适合的模型(Linear models, K-Nearest Neighbors, Gradient Boosting, Neural Nets, 等等);
  • AutoML为选择的模型进行参数优化(比如tree-based的模型有多少子树数量和子采样数, 神经网络的learning rate和epochs数量;
  • AutoML建立了一个模型集成(译者:大杂烩,嘛都有)来尽可能的让模型分数更高。

 2  AutoML 的动机

  AutoML将填补数据科学市场中供需之间的缺口

如今,越来越多的公司要么开始收集数据,要么想变现已收集数据的潜力:他们希望从中获得价值(译者:作者应该表达的是商业价值)。可是没有太多具有适当背景的数据科学家可以满足需求,因此巨大的缺口出现了。AutoML有可能会填补上。
但是这样的封装解决方案能给公司带来任何价值吗?我认为答案是“否”。
这些公司需要一个过程,但是AutoML只是一个工具。先进的工具无法弥补战略上的不足。在开始使用AutoML之前,请考虑先找咨询公司来个项目(译者:瓜娃子作者是咨询公司的托吧),这可能首先帮助您制定数据科学策略。大多数AutoML解决方案提供商也提供咨询服务并不是巧合。 
看起来不像是一个完美计划,对吧(来自《南方公园》S2 E17)

  AutoML将会大幅节省数据科学团队的时间

根据2018 Kaggle ML and Data Science Survey, 一个数据可选的项目15-26%的时间花费在建模或者模型选择(Link:https://www.kaggle.com/headsortails/what-we-do-in-the-kernels-a-kaggle-survey-story)。
无论是考虑“员工工时”还是消耗的计算时间,这都是一项艰巨的任务。如果目标或数据发生更改(例如添加新特征),之前的过程就会被重复。AutoML可以帮助公司内的数据科学家节省时间,并将其更多地花费在更重要的事情上(例如在椅子上击剑)。
而我们在开始使用AutoML之前仅仅需要几行代码。
但是,如果数据科学团队的建模部分不是最关键的任务,则你的公司流程中显然存在问题。通常,即使模型性能的小幅提高也可能为公司赚取大量金钱,在这种情况下,建模时间是值得开销的时间:
Oversimplified rules:
if (Gain from model > Costs of DS team time) → Time savings are not needed.
if (Gain from model <= Costs of DS team time) → Are you solving the right problem? ?

让你的数据科学团队给日常任务编写脚本而不是使用封装的解决方案是一个好主意。我为日常任务的自动化编写了一些脚本:自动特征生成,特征选择,模型训练和参数tuning,而这些我现在每天都在使用。

  AutoML比普通的数据科学家更厉害

不幸的是,除了"An Open Source AutoML Benchmark”(https://arxiv.org/abs/1907.00909), 我们没有任何有用的“AutoML vs 人类”的benchmarks。
该论文的作者在2019年7月1日发布了几个AutoML库与优化后的Random Forest性能的比较结果。 

我挺好奇的,然后我自己做了一个benchmarks. 我在三个数据集( credit, KDD Upselling, 和 mortgages)上比较了我的模型和AutoML的性能。我把数据集分为训练集(按目标分层随机分配了60%的数据)和测试集(剩余40%)。
我的基准解决方案相对简单。我没有深入研究数据,也没有创建任何高级特征:
  1. 5-StratifiedKFold;
  2. 用于分类列的Catboost编码器,如果您对CatBoost编码器不熟悉,请查看我之前的文章:Benchmarking Categorical Encoders(https://towardsdatascience.com/benchmarking-categorical-encoders-9c322bd77ee8);
  3. 数字列对的数学运算(+-* /)。新特征数量的上限:500;
  4. 模型:默认参数的LightGBM;
  5. 混合(OOF ranked predictions)
我用了两个AutoML的库:H2O 和 TPOT。我分阶段、次数训练了这俩宝贝:从15分钟到6小时。使用以下指标,我得到了令人惊讶的结果:
Score = (ROC AUC / ROC AUC of my baseline) * 100%

首先,在几乎所有情况下,我的baseline都超过了AutoML。我有点难过,因为我计划在办公室里放松一下,而AutoML会做所有劳累的工作,但是无所谓咯 ?~~
其次,AutoML的得分并没有随着时间的推移而提高,这意味着我们等待多长时间都没有关系:它在15分钟内和6小时内的得分一样低。
AutoML与高分无关。
编辑注:作者 2019.10.16 更新以下内容:我想补充一点,我的基准测试并不是“人类与AutoML”竞赛的终点。显然,我们需要就指标进行更多讨论(应该是分数?还是分数+时间?以及元学习期间的CO2排放量等),还需要针对不同数据集和任务的更多基准。

 3  总结

  1. 如果你的公司想第一次使用其数据,整个顾问先咨询一下。
  2. 你应该让你的工作尽量地自动化。。。
  3. 。。。由于封装的解决方案得分很低,看起来并不像是正确的选择。

 PS  引擎并不是一辆完整的车。

在本文中,我谈论的是工具,但是请记住,建模部分只是整个数据科学项目管道的一部分,这一点很重要。我喜欢将项目比作汽车。这样,建模(机器学习模型)的输出就是一个引擎。
毫无疑问,发动机是必不可少的,但它并不是整车。你可能需要花费大量时间来设计令人难以置信,周到和复杂的特征,选择神经网络的体系结构或调整Random Forest的参数,从而创建强大的引擎。但是,如果你没有注意汽车的其他部分,则所有工作可能都没有用。
该模型本身可以显示很高的分数,但是由于你解决了错误的问题(业务理解)或数据有偏见,并且必须对其进行重新训练(数据探索)或由于模型过于复杂,因此使用该模型不会被部署。
最后,你可能会发现自己很傻:在经过数天或数周的艰苦建模工作后,你驾驶的是一辆装有跑车发动机的慢速自行车(如下图)。
工具必不可少;策略才是至关重要。

via https://towardsdatascience.com/automl-is-overhyped-1b5511ded65f

(完)



?关注“Python与人工智能社区”


王老湿目前建立了Python、爬虫、数据分析、机器学习、AI实战、自然语言处理、计算机视觉、推荐系统等方向的读者交流群,大家可以添加王老湿的微信进行加群

?长按识别,添加王老湿微信


近期专栏推荐 (点击下方标题即可跳转)

1. 

2. 

3. 

4. 

点下「在看」,给文章盖个戳吧!?

AutoML 是否被过度炒作?相关推荐

  1. 自动机器学习(AutoML)

    自动机器学习(AutoML) 不再需要苦恼于学习各种机器学习的算法 目录: 一.为什么需要自动机器学习 二.超参数优化 Hyper-parameter Optimization 三.元学习 Meta ...

  2. 从谷歌AutoML到百度EasyDL,AI大生产时代,调参师不再是刚需

    出品 | AI科技大本营 头图 | 付费下载于视觉中国 2018 年,Google Cloud 宣布将 AutoML 作为机器学习产品的一部分.至此,AutoML 开始进入大众的视野. 实际上,201 ...

  3. 疫情排查节时86%?不会代码也能玩转模型训练?腾讯大神揭秘语音语义及AutoML黑科技 | 内含福利...

    出品 | AI科技大本营(ID:rgznai100) 2020年7月3日,AI ProCon 2020 AI开发者万人大会,隆重举行!作为CSDN策划并主办的系列技术「开发者大会」之一,本次大会通过线 ...

  4. 自动化神经网络理论进展缓慢,AutoML算法的边界到底在哪?

    作者 | 夕颜 出品  | CSDN(ID:CSDNnews) 「AI 技术生态论」 人物访谈栏目是 CSDN 发起的百万人学 AI 倡议下的重要组成部分.通过对 AI 生态顶级大咖.创业者.行业 K ...

  5. 【公开课预告】AutoML知多少

    5月7日周四19:00,商汤泰坦公开课第010期,论文解读系列课程第二期即将开播!我们邀请到商汤科技的4位研究员,分享团队在AutoML方面的一系列研究工作,其中包含CVPR 2020.ICLR 20 ...

  6. 2019年,自动化机器学习AutoML技术还火吗? | BDTC 2019

    整理 | 王银 出品 | AI科技大本营(ID:rgznai100) [导读]12 月 5-7 日,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN.中科天玑协办的中国大数据技术大会(BD ...

  7. 2020年趋势一览:AutoML、联邦学习、云寡头时代的终结

    作者 | Roberto Sannazzaro,Ben Longstaff 译者 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读]在 2020 年来临之际,新年前夕往往是人们回 ...

  8. 提高建模效率,改变手工作坊式生产,AutoML的技术研究与应用进展如何了?

    整理 | 王银 出品 | AI科技大本营(ID:rgznai100) [导读]12 月 5-7 日,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN.中科天玑协办的中国大数据技术大会(BD ...

  9. AutoML未来可期,工程师的明天何去何从?

    人工智能和机器学习建模专业技术人才紧缺,即使是高水平的人工智能专家,在大数据智能分析机器学习建模时,主要依靠人工经验,建模过程费时费力,缺少有效方法.为了解决这一突出问题,国内外出现了一种用机器学习解 ...

  10. 推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019...

    整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 个性化推荐算法滥觞于互联网的急速发展,随着国内外互联网公司,如 Netflix 在电影领域,亚马逊.淘宝.京东等在电商领域,今日头 ...

最新文章

  1. pythonmysql查询转list_使用Python将Mysql的查询数据导出到文件的方法
  2. photoshop8.0 安装步骤及注意事项
  3. JAVA编程语言的基础知识(六)
  4. ajax异步加载和cmd,异步传输Ajax(JQ)
  5. 四种策略确保 RabbitMQ 消息发送可靠性!你用哪种?
  6. jQuery插件FontSizer实现自定义动态调整网页文字大小
  7. Windows Server AppFabric缓存参考实例和方案选择 2/3
  8. 阿里云 网站https设置 sll申请与nginx跳转配置
  9. 全网首发:使用命令行编译VS工程为Win32/x64
  10. mysql auto_increment建表_如何在MySQL中已创建的表中插入AUTO_INCREMENT
  11. Repeater的ItemCommand事件和ItemCreated事件,高手请跳过~
  12. 【一千个论文合集】计算机科学的26个细分领域近年必读论文集合
  13. 禁用EnableViewState和启用EnableViewStat时请注意
  14. SDNU_ACM_ICPC_2020_Winter_Practice_2nd C 离散化, lower_bound
  15. matlab射击小游戏,Matlab射箭小游戏设计,小虾米求救
  16. PowerDesigner 修改 DBMS
  17. 车联网上云最佳实践 七
  18. MATLAB基于小波变换的语音信号去噪算法改进
  19. 计算机截取当前页面,电脑截图怎么截
  20. 如何使用html实现在线秒表,js实现简单的秒表

热门文章

  1. FPGA的进阶项目——开源示波器
  2. java实现qq页面登陆界面
  3. 选择适合esx服务器的性能,Esxtop: 使用性能指标负责ESX的故障诊断
  4. 泰克Tektronix示波器软件TDS210|TDS220|TDS224上位机软件NS-Scope
  5. VIM-Plug安装插件失败,更换源
  6. C#Code128条形码生成
  7. python编程之条形码生成大全
  8. 暴躁蒟蒻在线水题er日记
  9. android ota升级服务,android OTA 升级包含增量升级
  10. 移动硬盘的选择与购买