北京物流信息联盟

【机器学习课堂】四十三条黄金法则,最佳ML工程实践经验

2022-06-18 07:17:04

本文主要围绕的是谷歌公司(Google)在机器学习方面的经验,旨在为那些具备一定机器学习基础的读者提供最佳的经验法则。文章向读者展现机器学习经验法则的方式,与谷歌 C++ 风格指南以及其它流行的编程实践指南相类似。如果你曾上过机器学习的相关课程,或者曾构建或研究过机器学习的模型,那么你就已经具备了足够多的阅读本文的知识了,如果想了解《Rules of Machine Learning: Best Practices for ML Engineering》全文内容,在后台回复【ML法则】下载PDF全文翻译。


本文共分为四部分:


  1. 关于第一部分,它会帮助读者理解,当下构建机器学习系统是否适合。

  2. 关于第二部分,它将向读者介绍,第一次该如何部署自己的工作流。

  3. 关于第三部分,它将向读者介绍,机器学习系统是一个不断迭代更新的过程,工作流中会持续不断地添入新特征;同时,第三部分还会涉及如何评价模型、如何评价训练过程中的偏误。

  4. 在最后一部分,文章为大家提供了一些停滞不前时的做法。

 

在机器学习之前

 

  • 法则1:不用害怕发布一款没有用到机器学习的产品。

  • 法则2:将度量标准的设计和执行置于首位。

  • 法则3:在机器学习和启发式方法中优先选择机器学习。

 

机器学习阶段1:第一条工作流

 

认真对待第一条工作流的基础架构建设。虽然发挥想象力构思模型很有意思,但首先得确保你的工作流是可靠的,这样出了问题才容易发现。

 

  • 法则4:第一个模型要简单,基础架构要正确。

  • 法则5:单独测试基础架构。

  • 法则6:复制工作流时留意丢失的数据。

  • 法则7:要么把启发式方法转化为特征,要么在外部处理它们。

 

监 控

 

一般来说,所有系统都要设置良好的警示程序,警报系统需要顺利执行,或者设置一个仪表板页面(dashboardpage)。

 

  • 法则8:了解系统的更新需求。

  • 法则9:输出模型前发现问题。

  • 法则10:当心潜在的故障。

  • 法则11:为特征栏指定负责人并进行文件编制。

 

你的第一个目标

 

你会关注许多系统评测指标,但机器学习算法的目标通常只有一个——这个目标是一个数字,算法需要不断地努力优化这个数字。在这里,我对目标和度量作一下区分:度量是系统报告给出的数字,不一定很重要。

 

  • 法则12:选择直接优化的目标时不要想太多。

  • 法则13:选择一个简单、可观测并且可归类的评估指标作为你的第一个目标。

  • 法则14:从容易解释的模型入手会让调试过程更加容易。

  • 法则15:在策略层将垃圾信息过滤和质量排名分开。

 

机器学习阶段2:特征工程

 

在机器学习系统研发周期的第一阶段,重点是把训练数据导入学习系统,确定度量和兴趣的评价指标(仪表化),并创建基础架构。当你有了一个端对端的系统,并且该系统的单元和测试都仪表化之后,第二阶段便开始了。

 

在第二阶段可以轻松实现许多成果。很多明显的特征都能被纳入系统。因此,该阶段需要纳入尽可能多的特征,并依据直观的感觉组合起来。在这个阶段,所有的度量仍会上升,会有很多成果发布,这时候最适合招募大量工程师,他们可以整合你需要的数据,来创造一个真正了不起的学习系统。

 

  • 法则16:做好反复发布新模型的打算。

  • 法则17:从直接观测到的特征入手,使用reported特征,而不是learned特征。

  • 法则18:利用那些能跨语境使用的特征进行探索。

  • 法则19:尽量使用明确的特征。

  • 法则20:组合并改良现有的特征,用浅显易懂的方式创造新特征。

  • 法则21:线性模型中的特征权重的数量应大致和样例数量形成一定的比例。

  • 法则22:清除那些不再使用的特征。

 

系统的人工分析

 

在进入机器学习的第三阶段之前,有必要先关注一下机器学习课程上没有教过的东西:如何看待和改进现有的模型。这更像是艺术而非科学,但却能帮助我们避免某些反模式(anti-pattern)。


  • 法则23:你并非典型终端用户。

  • 法则24:测试模型之间的差量(delta参数)。

  • 法则25:选择模型时,性能表现比预测力更重要。

  • 法则26:在错误中寻找规律,然后创建新特征。

  • 法则27:量化系统的不良行为。

  • 法则28:注意,短期行为相同并不代表长期行为也相同。

 

训练偏差(Training-Serving Skew)

 

训练偏差是指训练时的表现和实际运行时的表现的差别。这种偏差可能由以下因素引起:

  1. 在训练时和在实际工作流中用不同的方式处理数据。

  2. 训练中的数据和在实际运行中的不同。

  3. 模型和算法之间存在回馈环。


我们观察到 Google 的机器学习产品也出现了训练偏差,这个训练偏差为实际的运行状况带来了负面的影响。最好的解决方案就是对其进行监督,以便观察到系统和数据的不易察觉的变化。

 

  • 法则29: 要让实际产品和训练时表现一样好,最好的方法是实际运行中保留特征集,并记录到日志中以便训练中使用。

  • 法则30: 抽样数据很重要,不要武断删去。

  • 法则31:如果要从表格中组合数据,注意训练时和实际运行时表格可能发生改变。

  • 法则32:尽量在训练流和实际运行流中使用重复代码。

  • 法则33:使用比训练时还要新的数据来测试模型。

  • 法则34:在过滤器的二元分类(比如检测垃圾邮件或定义感兴趣邮件)中,为了获得干净的数据牺牲一些短期性能表现。

  • 法则35:明白排序问题存在固有偏差。

  • 法则36:用位置特征来避免反馈环。

  • 法则37:测量训练偏差。

 

机器学习阶段3:放慢速度、优化细化和复杂的模型

 

相关的信号肯定在提示,第二阶段已经接近尾声了。首先,你每月的收益开始减少。你开始权衡比较各种度量:在某些试验中,有些度量获得了提高,而另一些度量却在下降。而且,事情变得越来越引人注目。随着收益越来越难得,机器学习也变得更为复杂。

 

警告:相比之前两个章节,这个章节的法则大有纸上谈兵之嫌。很多团队十分顺利地走过了第一阶段和第二阶段,但是到了第三阶段,却不得不开创新的道路。


  • 法则38: 如果目标有问题,就不要在新特征上浪费时间。

  • 法则39:发布决策依赖多个标准。

  • 法则40:保持模型集合(ensembles)的简单性。

  • 法则41:当性能达到峰值时,寻找新的定量信息源加以补充而非改善现有信号。

  • 法则42: 多样化、个性化或相关性可能与模型的流行与否,并不相关。

  • 法则43:在不同的产品中,朋友可能相同,但兴趣却不尽然。

 

后台回复关键词【ML法则】下载全文。


活动信息



公司简介


北京智铀科技有限公司成立于2017年6月,公司致力于研发先进的企业级自动化机器学习技术,大幅降低机器学习的门槛,为企业带来全流程、自动化的建模和部署能力,为用户提供从数据预处理、特征工程、模型调参、模型评估、模型预测到结果分析等一站式服务,帮助企业构建人工智能核心,实现AI驱动。


招聘信息


智铀欢迎各位有才干有梦想的小伙伴,简历请投hr@ebrain.ai,热招职位:机器学习工程师、后端开发工程师、自动化测试工程师等,众多技术大牛,等待你的加入!



- END -



关注智铀科技公众号



友情链接

Copyright © 2023 All Rights Reserved 版权所有 北京物流信息联盟