机器学习笔记:Momentum
1 为什么要引入Momentum
上图代表了一个函数的等高线
使用梯度下降的话,红色的方向是我们要走的方向。蓝色和绿色分别是两个坐标轴上对应的变化方向。
这会存在一个问题,就是学习率不能太大,不然就会出现“overshoot”的问题
于是我们的梯度下降路线是一个像九曲桥一样的路径
不难发现,这样会导致收敛的速度很慢
其中,我们要优化的这个函数f,对应的hessian矩阵的最大和最小特征值的比值(我们称为condition number)越大(也就是等高线“越扁”),梯度下降收敛得越慢
2 Momentum
由于这里的截图同时采用了李宏毅教授和NTU课程的ppt,所以λ和α表示的是一个东西
给梯度下降一个动量
移动方向为 之前的移动方向 和 当下梯度反方向 的矢量和
每一步梯度对于当前梯度下降的方向都有贡献,只是它的贡献值指数级减少——EMA(exponential moving average)
通过momentum,大的方向会抵消掉一部分,小的方向会累加——加快收敛的速度
抵消的部分——>指向的方向不同
加强的方向——>指向的方向相同
3 数据白化
除了momentum之外,数据白化操作(将数据变成N(0,1)的分布)也可以减少condition number。这也可以加快收敛。
机器学习笔记:Momentum相关推荐
- 李弘毅机器学习笔记:第十二章—Recipe of Deep Learning
李弘毅机器学习笔记:第十二章-Recipe of Deep Learning 神经网络的表现 如何改进神经网络? 新的激活函数 梯度消失 怎么样去解决梯度消失? Adaptive Learning R ...
- 迷人的神经网络——机器学习笔记1
目录 迷人的神经网络--机器学习笔记1 第1章 神经元模型及网络结构 1.1 神经元模型 1.1.1 单输入神经元 1.1.2 激活函数 1.1.3 多输入神经元 1.2 网络结构 1.2.1 单层神 ...
- 李宏毅机器学习笔记-2022spring
机器学习笔记 文章目录 机器学习笔记 Lecture 1 Colab的使用 机器学习的基本概念 一个简单的例子 1.方程的设立 2.定义损失函数 3.优化参数(Loss最小) 对上例的改进 Hard ...
- 机器学习笔记:神经网络层的各种normalization
1 Normalization的引入 1.1 独立同分布 机器学习,尤其是深度学习的模型,如果它的数据集时独立同分布的(i.i.d. independent and identically dist ...
- 一份520页的机器学习笔记!附下载链接
点击上方"视学算法",选择"星标"公众号 第一时间获取价值内容 近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 52 ...
- 700 页的机器学习笔记火了!完整版开放下载
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 作者 梁劲(Jim Liang),来自SAP(全球第一大商业软件公司). 书籍特点 条理清晰 ...
- 机器学习笔记十四:随机森林
在上一篇机器学习笔记十三:Ensemble思想(上)中,简要的提了一下集成学习的原理和两种主要的集成学习形式. 而在这部分要讲的随机森林,就算是其中属于bagging思路的一种学习方法.为了篇幅,b ...
- 机器学习笔记七:损失函数与风险函数
一.损失函数 回顾之前讲过的线性回归模型,我们为了要学习参数使得得到的直线更好的拟合数据,我们使用了一个函数 这个函数就是比较模型得到的结果和"真实值"之间的"差距&qu ...
- 吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection)
吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection) 对于异常检测算法,使用特征是至关重要的,下面谈谈 ...
- Python机器学习笔记:sklearn库的学习
自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法.还包括了特征提取,数据 ...
最新文章
- 常用开源协议介绍以及开源软件规范列表
- 力扣高频算法php_互联网公司最常见的面试算法题有哪些?
- 对‘example_app_new’未定义的引用
- Linux之shell脚本(2)
- ★LeetCode(292)——Nim 游戏(JavaScript)
- Jenkins + Ansible + Gitlab之ansible篇
- Vivado2018使用教程
- android studio计步,基于安卓Android平台的健康计步系统APP的设计(AndroidStudio)
- 华为s2600t java_华为S2600T------v1版本
- 六 详细讲解主进程和渲染进程
- html页面设置document类型,htmldocument类型
- 实验三mysql查询_实验三 数据库的查询实验
- vue 竖向纵向仿表格 动态渲染表头表格 根据id填充单元格
- 计算机毕业设计Javaweb实验室课表管理系统(源码+系统+mysql数据库+lw文档)
- 两条华子也换不来的数据湖讲解
- 简述需求评审的目的、主要内容、主要参加人员.
- C语言字符串、转义字符
- 外泌体相关研究最新进展(2022年6月)
- SpringBoot整合AWS S3
- 如何在Instagram上保存帖子和管理收藏
热门文章
- nginx常用代理配置
- 关于MySQL的SLEEP(N)函数
- jupyter notebook报错:ImportError: cannot import name ‘Imputer‘ from ‘sklearn.preprocessing‘解决方法
- 上海交通大学乐经良高数手写笔记-多元微积分
- mysql schedule event,MySQL 定时器event
- 单链表的基本操作_数据结构-单链表的基本操作
- python 中的接口_python中接口
- 编译小米android系统软件,为Android加入busybox工具之小米(开发版本)
- oracle解除表锁死1,解除Oracle被锁的表
- 戴维南定律和诺顿定律