Andrew Ng的《Machine Learning Yearning》中六个重要概念
本文为 AI 研习社编译的技术博客,原标题 :
6 concepts of Andrew NG’s book: “Machine Learning Yearning”
作者 | Niklas Donges
翻译 | 我系墙颈鹿~、GuardSkill、约翰逊 · 李加薪、谢玄xx、Tree123456
校对 | 酱番梨 审核 | 邓普斯•杰弗 整理 | 立鱼王
原文链接:
https://towardsdatascience.com/6-concepts-of-andrew-ngs-book-machine-learning-yearning-abaf510579d4
Machine Learning Yearning这本书讲述了如何构建机器学习项目。 这本书包含了难以在其他地方找到的实用见解,并且这本书的格式易于与队友和合作者分享。 大多数技术人工智能课程将向您解释不同的ML算法的幕后工作原理,但本书将教您如何实际使用它们。 如果您渴望成为AI的技术的引领者,本书将对您有很大的帮助。 在这之前,学习到如何制定人工智能项目战略性的决策的唯一方法是参加研究生课程或在公司工作获取经验。 Machine Learning Yearning 可以帮助您快速掌握这项技能,使您能够更好地构建复杂的AI系统。
目录
-
关于作者
-
介绍
-
概念1:迭代,迭代,迭代......
-
概念2:使用单一评估指标
-
概念3:错误分析至关重要
-
概念4:定义最佳错误率
-
概念5:研究人类可以做得好的问题
-
概念6:如何分割数据集
-
总结
关于作者
Andrew NG是计算机科学家,执行官,投资人,企业家,也是人工智能领域的领先专家之一。 他是百度的前任副总裁兼首席科学家,是斯坦福大学的兼职教授,是最受欢迎的机器学习在线课程的创建者之一,Coursera.com的联合创始人以及Google Brain的前负责人。 在百度,他的积极参与将人工智能团队扩展到数千人。
简介
这本书从这样一个小故事开始:想象一下,你想建立一个一家公司,它拥有前沿的猫检测系统。目前你已经构建了一个原型系统,但不幸的是,系统性能并不是那么好。 你的团队提出了一些如何改进系统的想法,但你对改良方法的选取感到困惑。 现在,你可以构建世界领先的猫检测器平台,或者在错误的改良方向上浪费几个月的时间。
这本书是告诉你如何在这种情况下决定和优先排序的。 吴恩达曾说过,大多数机器学习问题都会留下许多线索,这些线索会提示你最有用的后续步骤以及你应该避免做什么。吴恩达还接着解释道,在机器学习领域,学习“阅读”这些线索是一项重要的技能。
简而言之,ML Yearning旨在让您深入了解一些改进机器学习项目的技巧性方向。
由于您的团队成员在当你提出新的做事想法时可能会持怀疑态度,因此吴恩达将本章节(简介)进行了缩短(只有1-2页),以便您的团队成员可以在几分钟内阅读它以理解概念背后的想法。如果您有兴趣阅读这本书,请注意它其实并不适合初学者,因为它要求读者对监督的学习和深度学习有基本的了解。
在这篇短文中,根据我的理解,我将用我自己的表达方式来分享这本书的六个概念。
概念1:迭代,迭代,迭代......
NG(吴恩达)在整本书中都在强调,快速迭代是至关重要的,因为机器学习是一个迭代过程。您应该尽可能快地为您的问题构建构建一个简单的原型,而不是考虑如何打造更加完美的ML(机器学习)系统。如果您不是机器学习问题领域的专家,则更应该这样做,因为要正确地猜测最有希望的方向是非常困难的。
您应该在短短几天内构建第一个原型,然后线索将会浮现出来,向您展示改善原型性能的最有希望的方向。在下一次系统的迭代中,您将基于这些线索之一改进系统并构建其新的版本。你会一次又一次地这样来更新机器学习系统。
他继续解释说,迭代地越快,你将取得的进展越多。本书的其他概念建立在这一原则之上。请注意,这适用于那些只想构建基于AI的应用程序而不在该领域进行研究的人员。
概念2:使用单一评价标准
这个概念建立在前一个概念的基础上,并且要解释为什么您应该选择一种评价标准非常简单:它让您能够快速评估算法,因此您可以更快地迭代。使用多个评估指标只会使算法的比较变得更加困难。
想象一下,你有两种算法。第一个的精度为94%,召回率为89%。第二个的精度为88%,召回率为95%。
如果你没有选择单一的评价标准,那么就没有分类器有明显的优越性,所以你可能不得不花一些时间来弄明白哪个分类器更好。问题是,你在每次版本迭代时都会浪费很多时间完成这项任务,并且从长远来看这种时间会增加。您将尝试很多关于体系结构,参数,特征等的想法。如果您使用单一评价标准(例如精度或f1分数),则可以根据其模型性能对所有模型进行排序,并迅速决定哪一个最佳。改进评估过程的另一种方法是将多个评价标准组合成单个评价标准,例如,通过平均多个误差评价标准。
然而,将存在需要满足多个 评价标准的ML(机器学习)问题,例如:有些问题需要考虑运行时间。 NG(吴恩达)解释说,您应该定义一个“可接受的”运行时间,这使您能够快速过滤掉出太慢的算法,并根据您的单一评价标准将令人满意的算法相互比较。
简而言之,单一评价标准使您能够快速评估算法,从而更快地进行版本迭代。
概念3: 错误分析很重要
错误分析是查看算法哪里输出不正确的过程。 例如,假设当你的猫分类器会错误的将鸟类分类为猫,你可能已经有若干个改进想法。
通过正确的错误分析,你可以评估改进想法是否会真的提高系统的性能,而不需要在花费几个月的时间实现这个想法后却意识到它对系统并不重要。这能够决定将资源花在哪个想法上达到好的效果。如果你发现错误分类的图像中只有9%是鸟类,那么无论如何改进算法对鸟类图像的性能都没有影响,因为它不会提高超过9%的错误。
此外,它能够帮助你同时快速评估判断若干改进的想法的性能。只需要创建并填写一个电子表格,同时检查100个错误分类的验证集图像。在电子表格中,为每一个分类错误的图像创建一行,为每一个需要改进的想法创建列。然后你仔细检查每一个错误分类的图像,并标记出正确分类的图像。
之后,你就会知道准确的评估结果. 例如,使用想法1,系统可以正确地对40%的未分类图像进行分类,想法2为12%,想法3仅为9%。然后你就会知道,对你的团队来说想法1最有价值。
此外,一旦你开始查看这些示例,你也许会对如何改进算法产生新想法。
概念4:定义最优错误率
最优错误率有助于指导您进行后续的学习。在统计中,它通常也称为贝叶斯错误率。
想象一下,您正在将构建一个语音-文本系统,并且发现您希望用户提交音频文件的19%都具有如此显着的背景噪音,即使是人类也无法识别那里所说的内容。如果是这种情况,您就会知道——即使是最好的系统也可能会出现大约19%的误差。相反,如果您处理的问题的最佳错误率接近0%,您就可以希望您的系统也能做到这一点。
最优错误率还可以帮助您检测算法是否存在高偏差或方差,这有助于您在后续步骤中改进算法。
然而,我们如何知道最佳错误率是多少?对于人类擅长的任务,您可以将系统的性能与人类的性能进行比较,从而估算出最佳错误率。在其他情况下,通常很难确定,这就是你应该可以解决人类能够做得好的某些问题的原因,而这些原因我们将在下一个概念中讨论。
概念5:研究那些人类可以做得好的问题
在整本书中,吴恩达多次解释为什么他建议人们去研究那些人类自己可以做的足够好的机器学习类问题,如语音识别,图像分类,物体检测等。原因如下:
首先,获取或创建有标注的数据集更容易,因为如果人们可以自己解决问题的话,他们可以直接为学习算法提供高精度标签。
其次,您可以将人类表现作为您希望自己编写的算法所能达到的最佳错误率。吴恩达解释说,定义合理且可实现的最佳错误有助于加快团队的研究进度。它还可以帮助您检测您的算法是否存在高偏差或方差。
第三,它使您能够根据您的人类直觉进行错误分析。例如,如果您正在构建语音识别系统,且您的模型对其输入进行了错误分类,您就可以尝试了解人类将使用哪些信息来获取正确的转录,并使用此信息相应地修改学习算法。虽然在越来越多人类自己无法做好的任务中,算法在不断地超越人类,但你应该尽量避免这些问题。
总而言之,您应该避免这些任务,因为它使得获取数据的标签变得更加困难,您也不能总依赖于人类的直觉。并且,我们也很难知道最佳错误率是多少。
概念6:如何分割数据集
吴恩达老师还提出了一种如何分割数据集的方法。他建议如下:
训练集:使用它,你可以训练你的算法,而不需要其他任何东西。
开发集:这个集合用于进行超参数调整、选择和创建适当的特性以及进行错误分析。它基本上是用来决定你的算法的。
测试集:测试集用于评估系统的性能,但不用于做决定。它只是用来评估的,没有别的。
开发集和测试集允许您的团队快速评估算法的性能。它们的目的是指导您对系统进行最重要的更改。
他建议选择开发和测试集,以便它们反映出您希望在部署系统后在将来能够很好地处理的数据。如果您希望数据与当前正在培训的数据不同,则尤其如此。例如,您正在接受普通相机图像的培训,但稍后系统将只接收手机拍摄的照片,因为它是移动应用程序的一部分。如果你没有足够的手机照片来训练你的系统,这种情况可能会发生。因此,您应该选择测试集示例,这些示例反映出您希望在以后的实际情况中表现出色的内容,而不是用于培训的数据。
雷锋网
(公众号:雷锋网)
雷锋网雷锋网
另外,您应该选择来自同一发行版的开发和测试集。否则,您的团队有可能会在开发人员集上构建一些性能良好的东西,结果发现它在测试数据上的性能非常差,这是您应该关心的。
总结
在这篇文章中,您已经了解了《Machine Learning Yearning》这本书中的6个概念。现在您知道了,为什么快速迭代很重要,为什么应该使用单个数字评估度量,以及什么是错误分析,以及为什么它至关重要。此外,您还了解了最佳错误率、为什么您应该处理人类可以做得很好的问题以及如何分割数据。此外,您还了解到,您应该选择开发和测试集数据,以便它们反映出您希望在将来很好地处理的数据,并且开发和测试集应该来自相同的分发。我希望这篇文章能给你介绍一下这本书的一些概念,我可以肯定地说,这本书值得一读。
这篇文章最初发表在我的博客上(https://machinelearning blog.com)。
来源
-
Machine Learning Yearning:https://www.mlangenging.org/
-
Img:“吴恩达”:由英伟达公司在“CC NC-ND 2”许可证下取得。未做任何更改。链接:https://www.flickr.com/photos/nvidia/16841620756
-
Img:“Metric”: https://pixabay.com/de/antrieb-auto-verkehr-stra%C3%9Fe-44276/
-
img:“Math Error”:https://pixabay.com/de/antrieb auto verkehr stra%c3%9fe-44276/
想要继续查看该篇文章相关链接和参考文献?
点击 【 Andrew Ng的《Machine Learning Yearning》中六个重要概念 】 即可访问:
https://ai.yanxishe.com/page/TextTranslation/1506
社长今日推荐: 2019 最新斯坦福 CS224nNLP 课程
自然语言处理(NLP)是信息时代最重要的技术之一,也是人工智能的关键部分。NLP的应用无处不在,因为人们几乎用语言进行交流:网络搜索,广告,电子邮件,客户服务,语言翻译,医学报告等。近年来,深度学习方法在许多不同的NLP任务中获得了非常高的性能,使用单个端到端神经模型,不需要传统的,任务特定的特征工程。在本课程中,学生将深入了解NLP深度学习的前沿研究。
课程链接: https://ai.yanxishe.com/page/groupDetail/59
。