文章目录
一、WEEK17大规模机器学习(Large Scale Machine Learning)
17 - 1 - Learning With Large Datasets
有100万条记录的训练集,以线性回归模型为例,每一次梯度下降迭代,我们都需要计算训练集的误差的平方和,如果我们的学习算法需要有20次迭代,这便已经是非常大的计算代价。首先应该做的事是去检查一个这么大规模的训练集是否真的必要,也许我们只用1000个训练集也能获得较好的效果,我们可以绘制学习曲线来帮助判断。
17 - 2 - Stochastic Gradient Descent
本节介绍随机梯度下降
随机梯度下降算法在每一次计算之后便更新参数 θ ,而不需要首先将所有的训练集求和,在梯度下降算法还没有完成一次迭代时,随机梯度下降算法便已经走出了很远。但是这样的算法存在的问题是,不是每一步都是朝着”正确”的方向迈出的。因此算法虽然会逐渐走向全局最小值的位置,但是可能无法站到那个最小值的那一点,而是在最小值点附近徘徊。
17 - 3 - Mini-Batch Gradient Descent
每计算常数b次训练实例,便更新一次参数 θ 。通常我们会令 b 在 2-100 之间。
17 - 4 - Stochastic Gradient Descent Convergence
介绍随机梯度下降的学习率策略
之前写的一篇关于学习率的更详细的博客
17 - 5 - Online Learning
本节介绍在线机器学习机制
在线学习的算法与随机梯度下降算法有些类似,我们对单一的实例进行学习,而非对一个提前定义的训练集进行循环。一旦对一个数据的学习完成了,我们便可以丢弃该数据,不需要再存储它了。这种方式的好处在于,我们的算法可以很好的适应用户的倾向性,算法可以针对用户的当前行为不断地更新模型以适应该用户。
17 - 6 - Map Reduce and Data Parallelism
映射简化是指将数据集划分成子集,给不同的计算机处理(分布式),然后将结果汇总求和。例如,我们有400个训练实例,我们可以将批量梯度下降的求和任务分配给4台计算机进行处理。
week17 课后习题
第1题
假设您正在使用随机梯度下降训练逻辑回归分类器。你发现在过去的500个例子中,成本(即,500个例子平均后)绘制为迭代次数的函数,随时间缓慢增加。以下哪项更改可能有帮助?
答案:C
第2题
下列关于随机梯度下降的陈述哪一个是正确的?选出所有正确项
答案:AB
第3题
以下关于在线学习的陈述哪一个是正确的?选出所有正确项
答案:AD
第4题
假设您有一个非常大的训练集,您认为以下哪种算法可以使用map-reduce和跨不同机器拆分训练集来并行化?选出所有正确项
答案:CD
第5题
下面关于map-reduce的哪些语句是正确的?选出所有正确项
答案:ABC
二、WEEK1818、 应用实例:图片文字识别(Application Example: Photo OCR)
18 - 1 - Problem Description and Pipeline
图像文字识别(略)
18 - 2 - Sliding Windows
滑动窗口。滑动窗口是一项用来从图像中抽取对象的技术。假使我们需要在一张图片中识别行人,首先要做的是用许多固定尺寸的图片来训练一个能够准确识别行人的模型。然后我们用之前训练识别行人的模型时所采用的图片尺寸在我们要进行行人识别的图片上进行剪裁,然后将剪裁得到的切片交给模型,让模型判断是否为行人,然后在图片上滑动剪裁区域重新进行剪裁,将新剪裁的切片也交给模型进行判断,如此循环直至将图片全部检测完。
18 - 3 - Getting Lots of Data and Artificial Data
有关获得更多数据的几种方法:
1.人工数据合成
2.手动收集、标记数据
3.众包
18 - 4 - Ceiling Analysis_ What Part of the Pipeline to Work on Next
在机器学习的应用中,我们通常需要通过几个步骤才能进行最终的预测,我们如何能够知道哪一部分最值得我们花时间和精力去改善呢?这个问题可以通过上限分析来回答。上限分析中,我们选取一部分,手工提供100%正确的输出结果,然后看应用的整体效果提升了多少。