1 为什么要引入Momentum

上图代表了一个函数的等高线

使用梯度下降的话,红色的方向是我们要走的方向。蓝色和绿色分别是两个坐标轴上对应的变化方向。

这会存在一个问题,就是学习率不能太大,不然就会出现“overshoot”的问题

于是我们的梯度下降路线是一个像九曲桥一样的路径

不难发现,这样会导致收敛的速度很慢

其中,我们要优化的这个函数f,对应的hessian矩阵的最大和最小特征值的比值(我们称为condition number)越大(也就是等高线“越扁”),梯度下降收敛得越慢

2 Momentum

由于这里的截图同时采用了李宏毅教授和NTU课程的ppt,所以λ和α表示的是一个东西

给梯度下降一个动量

移动方向为  之前的移动方向  和   当下梯度反方向 的矢量和

每一步梯度对于当前梯度下降的方向都有贡献,只是它的贡献值指数级减少——EMA(exponential moving average)

通过momentum,大的方向会抵消掉一部分,小的方向会累加——加快收敛的速度

抵消的部分——>指向的方向不同

加强的方向——>指向的方向相同

3 数据白化

除了momentum之外,数据白化操作(将数据变成N(0,1)的分布)也可以减少condition number。这也可以加快收敛。

机器学习笔记:Momentum相关推荐

  1. 李弘毅机器学习笔记:第十二章—Recipe of Deep Learning

    李弘毅机器学习笔记:第十二章-Recipe of Deep Learning 神经网络的表现 如何改进神经网络? 新的激活函数 梯度消失 怎么样去解决梯度消失? Adaptive Learning R ...

  2. 迷人的神经网络——机器学习笔记1

    目录 迷人的神经网络--机器学习笔记1 第1章 神经元模型及网络结构 1.1 神经元模型 1.1.1 单输入神经元 1.1.2 激活函数 1.1.3 多输入神经元 1.2 网络结构 1.2.1 单层神 ...

  3. 李宏毅机器学习笔记-2022spring

    机器学习笔记 文章目录 机器学习笔记 Lecture 1 Colab的使用 机器学习的基本概念 一个简单的例子 1.方程的设立 2.定义损失函数 3.优化参数(Loss最小) 对上例的改进 Hard ...

  4. 机器学习笔记:神经网络层的各种normalization

    1 Normalization的引入 1.1 独立同分布 机器学习,尤其是深度学习的模型,如果它的数据集时独立同分布的(i.i.d.  independent and identically dist ...

  5. 一份520页的机器学习笔记!附下载链接

    点击上方"视学算法",选择"星标"公众号 第一时间获取价值内容 近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 52 ...

  6. 700 页的机器学习笔记火了!完整版开放下载

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 作者       梁劲(Jim Liang),来自SAP(全球第一大商业软件公司). 书籍特点       条理清晰 ...

  7. 机器学习笔记十四:随机森林

    在上一篇机器学习笔记十三:Ensemble思想(上)中,简要的提了一下集成学习的原理和两种主要的集成学习形式.  而在这部分要讲的随机森林,就算是其中属于bagging思路的一种学习方法.为了篇幅,b ...

  8. 机器学习笔记七:损失函数与风险函数

    一.损失函数 回顾之前讲过的线性回归模型,我们为了要学习参数使得得到的直线更好的拟合数据,我们使用了一个函数 这个函数就是比较模型得到的结果和"真实值"之间的"差距&qu ...

  9. 吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection)

    吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection) 对于异常检测算法,使用特征是至关重要的,下面谈谈 ...

  10. Python机器学习笔记:sklearn库的学习

    自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法.还包括了特征提取,数据 ...

最新文章

  1. 常用开源协议介绍以及开源软件规范列表
  2. 力扣高频算法php_互联网公司最常见的面试算法题有哪些?
  3. 对‘example_app_new’未定义的引用
  4. Linux之shell脚本(2)
  5. ★LeetCode(292)——Nim 游戏(JavaScript)
  6. Jenkins + Ansible + Gitlab之ansible篇
  7. Vivado2018使用教程
  8. android studio计步,基于安卓Android平台的健康计步系统APP的设计(AndroidStudio)
  9. 华为s2600t java_华为S2600T------v1版本
  10. 六 详细讲解主进程和渲染进程
  11. html页面设置document类型,htmldocument类型
  12. 实验三mysql查询_实验三 数据库的查询实验
  13. vue 竖向纵向仿表格 动态渲染表头表格 根据id填充单元格
  14. 计算机毕业设计Javaweb实验室课表管理系统(源码+系统+mysql数据库+lw文档)
  15. 两条华子也换不来的数据湖讲解
  16. 简述需求评审的目的、主要内容、主要参加人员.
  17. C语言字符串、转义字符
  18. 外泌体相关研究最新进展(2022年6月)
  19. SpringBoot整合AWS S3
  20. 如何在Instagram上保存帖子和管理收藏

热门文章

  1. nginx常用代理配置
  2. 关于MySQL的SLEEP(N)函数
  3. jupyter notebook报错:ImportError: cannot import name ‘Imputer‘ from ‘sklearn.preprocessing‘解决方法
  4. 上海交通大学乐经良高数手写笔记-多元微积分
  5. mysql schedule event,MySQL 定时器event
  6. 单链表的基本操作_数据结构-单链表的基本操作
  7. python 中的接口_python中接口
  8. 编译小米android系统软件,为Android加入busybox工具之小米(开发版本)
  9. oracle解除表锁死1,解除Oracle被锁的表
  10. 戴维南定律和诺顿定律