《MACHINE LEARNING YEARNING》翻译
《MACHINE LEARNING YEARNING》是Andrew NG最近出的本新书,连载当中。打算翻译一下,并借此机会梳理一下自己在机器学习方面的知识。渴望与大家互相交流,若文中有错误之处,望不吝指出。
NodYoung
专注于机器人,计算机视觉,机器学习
展开
-
14. Evaluate multiple ideas in parallel during error analysis 错误分析时并行评估多个想法(《MACHINE LEARNIN
错误分析时并行评估多个idea你的团队有以下几个想法来改进猫检测器:解决狗被错认为是猫的问题解决“大形猫科类动物(great cats)”(狮子,豹等)被错认为是家猫(宠物)的问题提高系统在模糊(blurry)图像上的表现性能……你可以同时有效地评估所有这些想法。我通常会做一个电子表格,查看100个分类错误的开发集样本并填充在表格上,同时也会写下一些针对特定样本的评论。这里用有4个错误分类翻译 2016-12-10 10:30:23 · 2795 阅读 · 0 评论 -
13. Error analysis: Look at dev set examples to evaluate ideas 错误分析:查看开发集样本来评估idea(《MACHINE
下面13~17小节将主要介绍 Basic Error Analysis 基本错误分析错误分析:查看开发集样本来评估idea当你玩你的猫app时,你注意到有时它会把狗错误识别成猫。一些狗长的像猫! 于是一个团队成员建议加入第三方软件,使系统对于狗的样本处理的更好。这些改变需要花费一个月的时间,团队其他成员也都很热衷于这一方案。你应该要求他们这样做吗?在为这个任务投资一个月之前,我建议你首先评估一翻译 2016-12-10 00:15:17 · 2270 阅读 · 0 评论 -
12. Takeaways: Setting up development and test sets 小结:建立开发集和测试集(《MACHINE LEARNING YEARNING》翻译)
小结:建立开发集和测试集从分布中选择开发集和测试集,以反映你期望在未来获得的数据,并希望在上面做得很好。这可能和你的训练数据分布不同。如果可能的话,选择来自同一分布的开发集和测试集。为你的团队选择单一数字的评估指标进行优化。如果你关心多个目标,请考虑把它们合并到一个公式中(例如平均多个错误指标),或设定满足指标和优化指标。机器学习是一个高度迭代的过程:在发现你满意的方法之前你可能需要尝试很多翻译 2016-12-09 20:38:20 · 1934 阅读 · 0 评论 -
11. When to change dev/test sets and metrics 何时更改开发/测试集和评估指标(《MACHINE LEARNING YEARNING》翻译)
何时更改开发/测试集和评估指标当开始一个新项目时,我一般会试图快速选择一个 开发/测试集 ,因为这可以给团队制定一个明确的目标。我通常会要求我的团队在不到一周之内想出一个初始的开发/测试集和评估指标。提出一个不太完美的方案并迅速行动起来往往比过分考虑这些会更好。但是“一周”这个时间表并不适用于成熟的应用。例如,反垃圾邮件是一个成熟的深度学习应用。我曾经见过那些开发已经成熟的系统的团队可能会花费数月时翻译 2016-12-09 13:57:16 · 1675 阅读 · 0 评论 -
10. Having a dev set and metric speeds up iterations 有一个开发集和评估指标来加速迭代(《MACHINE LEARNING YEARNING》翻
有一个开发集和评估指标来加速迭代对于一个新问题,很难事先知道什么方法是最合适的。即使经验丰富的机器学习研究者在发现满意的方法之前也会尝试各种各样的idea。在构建机器学习系统时,我经常会:首先想出一些构建系统的想法(idea)在代码(code)中实现这些idea进行实验(experiment),通过实验判断我的想法 work的怎么样。(通常我的前几个想法都不是很work!)基于这些知识,再生成翻译 2016-12-09 11:03:20 · 1605 阅读 · 0 评论 -
9. Optimizing and satisficing metrics 优化指标和满足指标(《MACHINE LEARNING YEARNING》翻译)
优化指标和满足指标这是组合多个评估指标的另一种方法。假设你同时关心算法的准确率和运行时间。你需要在下面三个分类器中进行选择: 这里如果将准确率和运行时间组合为单个评估指标会看起来不太自然,例如:Accuracy−0.5∗RunningTimeAccuracy-0.5*RunningTime 这里你可以替代为这样:首先,定义一个“可接受”的运行时间。例如我们说任何运行时间在100ms以内的算法翻译 2016-12-09 10:13:39 · 2731 阅读 · 1 评论 -
8. Establish a single-number evaluation metric for your team to optimize 建立一个单一数字的评估指标(MACHINE LE
为你的团队进行算法优化建立一个单一数字的评估指标分类准确率是单一数字评估指标(single-number evaluation metric)的示例:你在开发集(或测试集)上运行运行一个分类器,然后得到一个正确分类的样本比例这样一个数字。根据给指标,如果分类器A获得97%的准确率,分类器B获得90%的准确率,则我们认为分类器A更好。相比之下,查准率(Precision)和查全率(Recall)【3】翻译 2016-12-09 08:12:58 · 2349 阅读 · 0 评论 -
7. How large do the dev/test sets need to be? 开发集和测试集多大合适(《MACHINE LEARNING YEARNING》翻译)
开发集和测试集多大合适?开发集应该足够大,大到能检测出你尝试的不同算法之间的差异。例如,如果一个分类器A具有90.0%的准去率而分类器B具有90.1%的准确率,则只具有100个示例的开发集不能够检测出这0.1%的差异。与我看到的其他机器学习问题相比,100个样本的开发集很小。常见的开发集样本规模一般在1000到10000之间。在10000个样本的情况下,你将有更大的可能性检测到0.1%的性能提升。【翻译 2016-12-09 03:54:21 · 2819 阅读 · 0 评论 -
6. Your dev and test sets should come from the same distribution 你的开发集和测试集应该来自同一分布(《MACHINE LEARNING
你的开发集和测试机应该来自同一分布根据你的市场,您将你的猫app的图片数据分为四个区域:(i)美国,(ii)中国,(iii)印度和(iv)其他地区。要生成一个开发集和一个测试集,我们随机地分配两个地区的数据到开发集,另外两个到测试集,对吗?比如来自美国和印度的数据在开发集,中国和其他地区的在测试集。一旦你这样定义了开发集和测试集,你的团队将专注于提高开发集的表现性能。因此,开发集应该反映你真正想要提翻译 2016-12-09 03:05:57 · 2901 阅读 · 0 评论 -
5. Your development and test sets 你的开发集和测试集(《MACHINE LEARNING YEARNING》翻译)
下面几个(5~12)章节将主要介绍 Setting up development and test sets 建立开发集和测试集你的开发集和测试集让我们回到之前关于猫的图片的例子:你制作了一个移动APP,用户可以上传很多不同事物的图片到你的app上,你想要自动发现关于猫的图片。你的团队从不同的网站下载大量猫(正样本,positive examples)和非猫(负样本,negative examp翻译 2016-12-09 02:15:46 · 4497 阅读 · 2 评论 -
4. Scale drives machine learning progress 规模促进了机器学习的发展(《MACHINE LEARNING YEARNING》翻译)
规模促进了机器学习的发展深度学习(神经网络)中的许多想法已经存在了几十年了。为什么这些idea现在突然火了呢?促使近年来进步的最大的驱动因素有两个:大量可用的数据。如今人们在数字设备(笔记本电脑,移动设备等)上花费比以前多得多的时间。这些活动产生了大量的数据,我们可以使用这些数据来训练我们的学习算法。计算能力的提升。仅仅在几年前我们才能够训练足够大的神经网络,以利用我们现在所拥有的巨大的数据量。翻译 2016-12-09 01:03:42 · 2999 阅读 · 1 评论 -
3. Prerequisites and Notation 预备知识和符号约定(《MACHINE LEARNING YEARNING》翻译)
预备知识和符号约定如果你曾经学习过机器学习的课程(如我在coursera上的machine learning MOOC)或有应用监督式学习的经验,你将能够理解下面这段文字。我假设你熟悉监督式学习 (supervised learning):使用标记的训练样例(x, y)学习一个从x映射到y的函数。监督式学习包括线性回归(linear regression),对数几率回归(也叫逻辑回归,logisti翻译 2016-12-08 23:50:17 · 3510 阅读 · 0 评论 -
2. How to use this book to help your team 如何使用这本书来帮助你的团队(《MACHINE LEARNING YEARNING》翻译)
如何使用这本书来帮助你的团队在读完这本书后,你将对如何制定机器学习项目中的技术方向有一个深入的了解。但是你的队友可能并不理解你为什么建议某一个特定的方向。或许你希望你的团队定义一个单一数字的评估指标,但他们却并不信服。你如何说服他们?这就是为什么我把章节设置的这么短:这样你可以打印出来并给你的队友看仅仅你想要让他们知道的那1~2页。面对几个不同的选择,在优先次序上的一些改变可能会对你团队生产力产生巨翻译 2016-12-08 23:22:57 · 3830 阅读 · 0 评论 -
1. Why Machine Learning Strategy 为什么需要机器学习策略(《MACHINE LEARNING YEARNING》翻译)
为什么需要机器学习策略机器学习是很多重要应用的基础,例如网页搜索,反垃圾邮件,语音识别等。如果你或你的团队正在开发一个有关机器学习的应用,并且你想要获得快速地进步。这本书将会帮助到你。示例:建立一个识别含有猫的图片的创业公司也就是说你建立了一个创业公司,为猫爱好者提供无尽的猫的图片。你打算使用一个神经网络建立一个计算机视觉系统来检测图片中的猫。 但悲催的是,你的学习算法的准确率目前并不够好。所翻译 2016-12-08 21:52:17 · 7285 阅读 · 1 评论 -
《MACHINE LEARNING YEARNING》翻译——开篇
《MACHINE LEARNING YEARNING》是Andrew NG最近出的本新书,目前正在陆续发布书的手稿。打算翻译一下这本书,并借机梳理一下机器学习方面的知识。翻译中的任何不足之处,欢迎大家不吝指出。Table of Contents (draft)目录 1. Why Machine Learning Strategy 为什么需要机器学习策略 2. How to use this翻译 2016-12-08 21:14:17 · 17499 阅读 · 8 评论