P61 Mini-batch gradient descent

参考https://blog.csdn.net/red_stone1/article/details/78348753和吴恩达深度学习视频
把m个训练样本分成若干个子集,称为mini-batches。

普通的gradient descent的epoch只是指一次遍历了训练集,只经历了一次梯度下降;mini-batch gradient descent ,一个epoch会进行T次梯度下降算法。
mini-batch比batch梯度下降法法运行更快。

P62 Understanding mini-batch gradient descent


minibatch会有噪声,因为每次的损失值J与当前的X和Y有关,有些比较容易计算。但是走势是下降的。

mini-batch设置多少合适?

需要决定mini-batch的大小,一共有m个样本。

  • mini-batch = m
    就是batch梯度下降法,只有一个mini-batch,并且有m个样本。每个epoch运算量较大。
  • mini-batch = 1
    随机梯度下降法,每个样本都是独立的mini-batch,一次只处理一个样本。有很多噪声。随机梯度下降永远不会收敛,而是在最小值附近波动。较小学习率噪声会有所改善。但是效率低下。
  • mini-batch
    不宜设置太大或者太小,基本能接近全局最小值。一般取64,128,256等2的幂值,之所以这样设置的原因是计算机存储数据一般是2的幂,这样设置可以提高运算速度。

P63 Exponentially weighted averages(指数加权平均)

一般形式为

β值越大,则指数加权平均的天数越多,平均后的趋势线就越平缓,但是同时也会向右平移。下图绿色曲线和黄色曲线分别表示了β=0.98和β=0.5时,指数加权平均的结果。

将原始数据值与衰减指数点乘,相当于做了指数衰减,离得越近,影响越大,离得越远,影响越小,衰减越厉害


P64 Bias correction in exponentially weighted average(偏差修正)

β=0.98时,指数加权平均结果如下图绿色曲线所示。但是实际上,真实曲线如紫色曲线所示。紫色曲线与绿色曲线的区别是,紫色曲线开始的时候相对较低一些。这是因为开始时我们设置V0=0,所以初始值会相对小一些,直到后面受前面的影响渐渐变小,趋于正常。
修正这种问题的方法是进行偏移校正(bias correction),即在每次计算完Vt后,对Vt进行下式处理:

随着t的增大,偏差修正几乎没有作用,因为β^t接近于0,该式子接近于Vt。偏差修正可以使从紫线编程绿线。

P66 Gradient descent with momentum(动量梯度下降法)

动量梯度下降比梯度下降算法块很多。就是在每次训练时 ,对梯度进行加权平均处理,然后得到的梯度值更新权重W和常数b。

相当于我想让横轴变化较小,纵轴变化较大。所以有一个权重

有两个超参数,α是lr,β是指数加权平均数,通常取0.9,平均10个数据。
另外,关于偏移校正,可以不使用。因为经过10次迭代后,随着滑动平均的过程,偏移情况会逐渐消失。

P67 RMSprop

RMSprop是另外一种优化梯度下降速度的算法。

令水平方向为W的方向,垂直方向为b的方向。

由蓝线可以看出,梯度在水平震荡较小,纵向震荡较大就是dw较小,db较大,所以Sw较小,Sb较大,作为分母后,变化值W的变化较大,b变化较小。纵轴上的更新较小,需要被一个较大的数相除;而水平轴的更新较大,需要被一个较小的数相除。
即加快了W方向的速度,减小了b方向的速度,减小振荡,实现快速梯度下降算法。总得来说,就是如果哪个方向振荡大,就减小该方向的更新速度,从而减小振荡。

为避免分母为0,需要在分母加上一个ε
这样能让α取一个很大的值。梯度更新速率变快。

P68 Adam优化算法(Adaptive Moment Estimation)

结合了动量梯度下降算法和RMSprop算法。

Adam算法包含了几个超参数,分别是:α,β1,β2,ε。其中,β1通常设置为0.9,β2通常设置为0.999,ε通常设置为10−8。一般只需要对β1和β2进行调试。

P69 Learning rate decay(学习率衰减)

刚开始的时候,α较大,学习的步伐较大,收敛快;但是后来α会减小,梯度下降的步伐小,收敛到局部值。


t为mini-batch number。
除此之外,还可以设置α为关于t的离散值,随着t增加,α呈阶梯式减小。当然,也可以根据训练情况灵活调整当前的α值,但会比较耗时间。

P70 The problem of local optim(局部最优)

导数为0的点——鞍点。
在使用梯度下降算法不断减小cost function时,可能会得到局部最优解(local optima)而不是全局最优解(global optima)。之前我们对局部最优解的理解是形如碗状的凹槽,如下图左边所示。但是在神经网络中,local optima的概念发生了变化。准确地来说,大部分梯度为零的“最优点”并不是这些凹槽处,而是形如右边所示的马鞍状,称为saddle point。梯度为0不能确定其实最大值还是最小值。

进入鞍点需要很长的时间,进入鞍点后会由于随
机扰动,梯度沿着绿色剪头离开鞍点。
Adam算法能够有效解决plateaus下降过慢的问题,提高学习速率。

吴恩达深度学习笔记——优化算法相关推荐

  1. 吴恩达深度学习笔记(四)

    吴恩达深度学习笔记(四) 卷积神经网络CNN-第二版 卷积神经网络 深度卷积网络:实例探究 目标检测 特殊应用:人脸识别和神经风格转换 卷积神经网络编程作业 卷积神经网络CNN-第二版 卷积神经网络 ...

  2. 吴恩达深度学习笔记——卷积神经网络(Convolutional Neural Networks)

    深度学习笔记导航 前言 传送门 卷积神经网络(Convolutional Neural Networks) 卷积神经网络基础(Foundations of Convolutional Neural N ...

  3. 吴恩达深度学习笔记——结构化机器学习项目(Structuring Machine Learning Projects)

    深度学习笔记导航 前言 传送门 结构化机器学习项目(Machine Learning Strategy) 机器学习策略概述 正交化(orthogonalization) 评价指标 数字评估指标的单一性 ...

  4. 吴恩达深度学习笔记——神经网络与深度学习(Neural Networks and Deep Learning)

    文章目录 前言 传送门 神经网络与深度学习(Neural Networks and Deep Learning) 绪论 梯度下降法与二分逻辑回归(Gradient Descend and Logist ...

  5. 799页!吴恩达深度学习笔记.PDF

    吴恩达深度学习课程,是公认的最优秀的深度学习课程之一,目前没有教材,只有视频,本文提供完整笔记下载,这本笔记非常适合和深度学习入门. 0.导语 黄海广博士和同学将吴恩达老师深度学习视频课程做了完整的笔 ...

  6. 吴恩达深度学习笔记1-Course1-Week1【深度学习概论】

    2018.5.7 吴恩达深度学习视频教程网址 网易云课堂:https://mooc.study.163.com/smartSpec/detail/1001319001.htm Coursera:htt ...

  7. 吴恩达深度学习笔记- lesson4 卷积神经网络

    文章目录 Week 1 卷积神经网络基础 4.1.1 计算机视觉(Computer vision) 4.1.2 边缘检测示例(Edge detection example) 4.1.3 更多边缘检测内 ...

  8. 吴恩达--深度学习笔记

    这是一个督促自己学习的笔记 文章目录 这是一个督促自己学习的笔记 1.logistic回归 1. 神经网络基础----二分分类 2. logistic回归 3. logistic回归损失函数 4. 梯 ...

  9. 吴恩达深度学习笔记(四)——深度学习的实践层面

    一.数据集的划分 要确保验证集和测试集的数据来自同一分布. 二.偏差和方差 方差:训练集和验证集的数据分布是否均匀,训练集和验证集之间的差别: 偏差:训练集和真实结果的差别. 高偏差:欠拟合 高方差: ...

  10. 吴恩达深度学习笔记(四)—— 正则化

    有关正则化的详细内容: 吴恩达机器学习笔记(三) -- Regularization正则化 <机器学习实战>学习笔记第五章 -- Logistic回归 主要内容: 一.无正则化 二.L2正 ...

最新文章

  1. KMP算法求回溯数组的步骤
  2. MPB:浙大王佳堃组瘤胃微生物移植(视频)
  3. props写法_好程序员web前端培训React中事件的写法总结
  4. java %2f_字符串“http%3A%2F%2F”转换成http://详解
  5. 那些曾经拥有的最大快乐,都是好奇心的结果
  6. 执子之手简约唯美的表白网站HTML源码
  7. 滴滴新增对手!腾讯投资的网约车平台OnTime或将于本月上线
  8. DatabaseMetaData的使用
  9. C# 在类文件自动添加文件注释的方法
  10. Raki的读paper小记:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  11. php在html中if,html里的if注释怎么使用
  12. 用Excel制作甘特图跟踪项目进度(附绘制教程)
  13. Jupyter notebook系列(6):更高级的配置Mark(显示行号,更改工作路径,使用sudo权限)
  14. Windows10家庭版 VMWare15 安装虚拟机启动时出现 蓝屏(而且重启)问题
  15. 腾讯地图标注_怎样在导航地图上标注公司名和位置
  16. elm and halogen
  17. Microsoft Office 2016出现Excel文件打不开解决方法
  18. 微信微网站需要服务器吗,一分钟搭建微信微网站
  19. python正则表达式及RE模块
  20. CentOS 连接错误解决办法

热门文章

  1. 如何用计算机弹奏纸短情长,纸短情长计算器谱
  2. 猴子吃桃问题的函数递归解决方案
  3. 电子计算机可直接,电子计算机可直接执行的指令在机器内部是以什么表示的
  4. Gamarue僵尸网络
  5. 《铁血残明》的经典章节“猛虎桥”配图及动漫技术讨论
  6. java设计模式学习-代理模式
  7. 飞信的 SIP 协议分析
  8. 经过这一篇解决Mysql的大多数基础问题
  9. 程序员到高级程序员,只需要10个步骤!
  10. 代码整洁之道——如何写出整洁高效的代码