目录

1、大型数据集的学习

2、随机梯度下降法

3、小批量梯度下降

4、随机梯度下降收敛


1、大型数据集的学习

如果我们有一个低方差的模型,增加数据集的规模可以帮助你获得更好的结果。我们应该怎样应对一个有100万条记录的训练集?

以线性回归模型为例,每一次梯度下降迭代,我们都需要计算训练集的误差的平方和,如果我们的学习算法需要有20次迭代,这便已经是非常大的计算代价。

首先应该做的事是去检查一个这么大规模的训练集是否真的必要,也许我们只用1000个训练集也能获得较好的效果,我们可以绘制学习曲线来帮助判断。

2、随机梯度下降法

如果我们一定需要一个大规模的训练集,我们可以尝试使用随机梯度下降法来代替批量梯度下降法。

在随机梯度下降法中,我们定义代价函数为一个单一训练实例的代价:

随机梯度下降算法为:首先对训练集随机“洗牌”,然后:

Repeat (usually anywhere between1-10){

随机梯度下降算法在每一次计算之后便更新参数  ,而不需要首先将所有的训练集求和,在梯度下降算法还没有完成一次迭代时,随机梯度下降算法便已经走出了很远。但是这样的算法存在的问题是,不是每一步都是朝着”正确”的方向迈出的。因此算法虽然会逐渐走向全局最小值的位置,但是可能无法站到那个最小值的那一点,而是在最小值点附近徘徊。

3、小批量梯度下降

小批量梯度下降算法是介于批量梯度下降算法和随机梯度下降算法之间的算法,每计算常数 b 次训练实例,便更新一次参数  。

Repeat {

通常我们会令 b 在 2-100 之间。这样做的好处在于,我们可以用向量化的方式来循环 b 个训练实例,如果我们用的线性代数函数库比较好,能够支持平行处理,那么算法的总体表现将不受影响(与随机梯度下降相同)。

4、随机梯度下降收敛

介绍随机梯度下降算法的调试,以及学习率  的选取。

在批量梯度下降中,我们可以令代价函数  为迭代次数的函数,绘制图表,根据图表来判断梯度下降是否收敛。但是,在大规模的训练集的情况下,这是不现实的,因为计算代价太大了。

在随机梯度下降中,我们在每一次更新  之前都计算一次代价,然后每次  迭代后,求出这次对训练实例计算代价的平均值,然后绘制这些平均值与次迭代的次数之间的函数图表。

当我们绘制这样的图表时,可能会得到一个颠簸不平但是不会明显减少的函数图像(如上面左下图中蓝线所示)。我们可以增加来使得函数更加平缓,也许便能看出下降的趋势了(如上面左下图中红线所示);或者可能函数图表仍然是颠簸不平且不下降的(如洋红色线所示),那么我们的模型本身可能存在一些错误。

如果我们得到的曲线如上面右下方所示,不断地上升,那么我们可能会需要选择一个较小的学习率.我们也可以令学习率随着迭代次数的增加而减小,例如令:

随着我们不断地靠近全局最小值,通过减小学习率,我们迫使算法收敛而非在最小值附近徘徊。 但是通常我们不需要这样做便能有非常好的效果了,对  进行调整所耗费的计算通常不值得.

总结下,这段视频中,我们介绍了一种方法,近似地监测出随机梯度下降算法在最优化代价函数中的表现,这种方法不需要定时地扫描整个训练集,来算出整个样本集的代价函数,而是只需要每次对最后1000个,或者多少个样本,求一下平均值。应用这种方法,你既可以保证随机梯度下降法正在正常运转和收敛,也可以用它来调整学习速率的大小。

机器学习真是一门对科技、工业产生深远影响的重要学科!

机器学习系列:大规模机器学习(Large Scale Machine Learning)相关推荐

  1. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 17—Large Scale Machine Learning 大规模机器学习...

    Lecture17 Large Scale Machine Learning大规模机器学习 17.1 大型数据集的学习 Learning With Large Datasets 如果有一个低方差的模型 ...

  2. 入门机器学习(二十一)--大规模机器学习(Large Scale Machine Learning)

    大规模机器学习(Large Scale Machine Learning) 1. 大型数据集的学习(Learning With Large Datasets) 2. 随机梯度下降法(Stochasti ...

  3. Machine Learning week 10 quiz: Large Scale Machine Learning

    Large Scale Machine Learning 5 试题 1. Suppose you are training a logistic regression classifier using ...

  4. 【机器学习】课程笔记16_大规模机器学习(Large Scale Machine Learning)

    大规模机器学习 大型数据集的学习(Laerning with Large Datasets) 随机梯度下降(Stochastic Gradient Descent) 小批量梯度下降(Mini-Batc ...

  5. Coursera在线学习---第十节.大规模机器学习(Large Scale Machine Learning)

    一.如何学习大规模数据集? 在训练样本集很大的情况下,我们可以先取一小部分样本学习模型,比如m=1000,然后画出对应的学习曲线.如果根据学习曲线发现模型属于高偏差,则应在现有样本上继续调整模型,具体 ...

  6. 机器学习之大规模机器学习

    #Large scale machine learning(大规模机器学习) 即处理大数据集的算法. #Learning with large datasets(学习大数据集) 在需要训练大量模型时, ...

  7. 吴恩达机器学习[18]-大规模机器学习

    大规模机器学习 Large scale machine learning 学习大数据集 learning with large datasets 随机梯度下降 Stochastic Gradient ...

  8. 【机器学习|数学基础】Mathematics for Machine Learning系列之图论(8):割边、割集、割点

    文章目录 前言 系列文章 3.2 割边.割集.割点 3.2.1 割边与割集 定理3.4 推论3.4 定理3.5 补充知识 定义3.3:割集 定义3.4 定理3.6 生成树与割集的对比 3.2.2 割点 ...

  9. 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(14):向量范数及其性质

    目录 前言 往期文章 4.1 向量范数及其性质 4.1.1 向量范数的概念及P-范数 定义4.1 例1 向量的几种范数 4.1.2 n n n维线性空间 V V V上的向量范数等价性 定理4.1.1 ...

最新文章

  1. 对话推荐系统_RSPapers | 对话推荐系统论文合集
  2. LiveVideoStackCon 2020 首届音视频线上峰会【优秀出品人与讲师】
  3. HULK祝大家新年快乐
  4. activiti高亮显示图片_电气自动化控制中,工业显示器应用如何“硬核”拓展细分领域?...
  5. 关于Aspose对于Word操作的一些扩展及思考
  6. 【CVPR 2021】VarifocalNet: An IoU-aware Dense Object Detector的译读笔记
  7. SQL语言的3种分类
  8. python教学ppt百度云_python教程ppt百度云盘-Python教程ppt课件类型的
  9. VS2010+VAX+CUDA6.0配置语法高亮和自动补充
  10. 【C++】二维vector初始化的方法
  11. chrome证书错误问题
  12. MAC下网易MuMu模拟器调试ReactNative
  13. 开业两月有余的转转二手集市怎么没有声音了?
  14. 【语义分割】2021-PVT ICCV
  15. adb学习:八:多个设备时候指定操作某个设备
  16. 【科普】你知道腾讯的技术职级吗?
  17. 大学物理 复习指导、公式推导精简过程、结论归纳 第二章 牛顿定律
  18. 怎么添加附件链接到微信公众号推文
  19. VC6插件开发应用实例
  20. Vue关于天地图的使用 自定义标注、自定义折线工具、自定义多边形工具

热门文章

  1. ElementUI入门到入土
  2. Kubernetes基础:MacOS上设定Dashboard
  3. html点击文字下拉,利用jQuery实现可输入搜索文字的下拉框
  4. Realsense深度相机+pyqt5+应用案例(基础篇1)
  5. 解决IBM Security AppScan扫描出现检测到RC4密码套件问题
  6. 广东可团购烧号CDMA版iPhone 4
  7. 不动点迭代法(C语言)
  8. 阿里妈妈获得商品详情 API 返回值说明
  9. 07 工程结构及依赖关系
  10. PC电脑安装苹果操作系统MAC OS X【图文教程】