[李宏毅 机器学习笔记] Gradient Descent
文章目录
- 前言
- 1 Gradient Descent
- 总结
前言
学习李宏毅老师的课程,所作的笔记,文中使用的PPT均来自李宏毅老师讲演PPT。
1 Gradient Descent
我们为了在一个模型中寻找一个最好的函数,通过使用Loss函数达到这一目的。通过对Loss函数的描述,我们想要知道达到Loss最小对应的参数。
通过使用梯度下降的方式计算达到最小值的方式。这里以二维的参数作为例子,说明了▽L(θ)的由来;这里还有学习率(Learning Rate)ŋ,所以每一次的该变量是:-ŋ▽L(θ)(迭代的步长);
寻找最小值的过程:
合理的设置Learning rate 十分重要,通常可视化的是参数的迭代和Loss的函数。
如何获得自适应的(Adaptive)的Learning rate变得十分重要,一种简单的想法是在随机初始化的参数位置,需要较大的Learning rate 去靠近最低点。随着这一过程的进行逐渐调小Learning rate。
这里有一种十分常用的方式 Adagrad
经过展开得到如下式子,这里发现了一个看似矛盾的点。较大的梯度带来大的步进长度,但是mean root的项在告诉我们说,大的梯度在减小这一步长。
这个“矛盾”实际上是前面说到的大的gradient真的一定对应大的Learning rate吗?这里可以看到的确,Best setp和gradient成正比,也就是说,gradient越大对应最合适的Learning rate也变大。但是可以看到这个情况的前提是单个参数的情况。
面对多个参数,这里为两个参数的情况。在跨参数的情况下,a点和c点的比较表明c的gradient > a的gradient。但是实际的情况是best setp的距离来说,Da > Dc。那这样就不能很好的反映真实的情况。为了处理这一情况,在一次的微分比上二次的微分这样来看,在W1 小的一次微分,对应小的二次微分;W2大的一次微分,对应大的二次微分。这样看起来的变化更加合理。
Adagrad就将分母的二次微分换成了历史的一次微分平方的均方根。也就是说在一次微分上采样来代表二次微分的大小。为什么代替二次微分,主要还是二次微分的代价难以承受。
还有一种方式是Stochastic Gradient Descent,他在单个Sample的时候就计算一次梯度下降,事实上该种方法可能更快。
在多参的情况下还有一个可以使得Gradient Descent更好的方式,可以使用Feature Scaling
在特征比例相同的情况下可以使得趋近的路径更优,面对随机的参数起始点加快梯度收敛的速度,下图有相应说明。
这里的标准化(将数值缩放到0附近,且数值的分布变成均值为0,标准差为1的正态分布,先减去均值对特征进行中心化处理,再除以标准差进行缩放)
最后描述了几个问题
总结
做梯度下降可以注意的几个点:
(1) 归一化、标准化数据是非常必要的;
(2) Adagrad的解释
(3) 快速的Stochastic的方式
(4) 在使用梯度下降时面临的问题(注意点)
[李宏毅 机器学习笔记] Gradient Descent相关推荐
- 李宏毅svm_【李宏毅机器学习笔记】 18、支持向量机(Support Vector Machine,SVM)...
[李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...
- 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01
@[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...
- 【李宏毅机器学习笔记】 23、循环神经网络(Recurrent Neural Network,RNN)
[李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...
- 【李宏毅机器学习笔记】 17、迁移学习(Transfer Learning)
[李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...
- 2021李宏毅机器学习笔记--12 attack ML models
2021李宏毅机器学习笔记--12 attack ML models 摘要 一.图像模型的攻击 1.1原理 1.2Constraint 1.3参数训练 1.4一个例子 1.5攻击方法 1.5.1FGS ...
- 2021李宏毅机器学习笔记--21 Anomaly Detection
2021李宏毅机器学习笔记--21 Anomaly Detection(异常侦测) 摘要 一.问题描述 二.Anomaly异常 三.Anomaly Detection(异常侦测)做法 3.1 Bina ...
- 李宏毅机器学习笔记六——Gradient Descent
视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=6 使用GD的注意 ...
- 李宏毅机器学习笔记(三)——Regression: output a scalar amp;amp; Gradient Descent
视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=3 机器学习的目的 ...
- 【李宏毅机器学习】Gradient Descent_1 梯度下降(p5、p6、p7 )学习笔记
李宏毅机器学习学习笔记汇总 课程链接 文章目录 Review Gradient Descent Tips Tip1: Tuning your learning rate 小心微调你的学习率 Tip 2 ...
最新文章
- 转子接地保护原理_罗茨鼓风机(压缩机)原理和操作规程
- 离人类更近一步!DeepMind最新Nature论文:AI会“回忆”,掌握调取记忆新姿势
- lombok 中的@Data注解
- Scala之部分应用函数
- python统计英文句子每个单词字数_Python小书3-文本英文单词统计
- 深入浅出VC++串口编程--基于Win32 API
- python day - 09 函数
- Android 布局 优先显示右侧的控件
- 【程序员眼中的统计学(12)】相关与回归:我的线条如何?
- springMVC常见问题
- Java 实现视频下载功能
- 【word论文排版教程1】页面设置
- Symbian s40 Java编程实战(一)--开发环境配置
- Java常用框架介绍
- 跳舞毯 [HDU2154]
- android 百度地图自定义定位小箭头图标,并随着手机方向转动
- Java实现无向连通图中的“割点”问题
- 移动互联网实战--移动端音频和图形优化处理
- 维恩贝特面试JAVA后台开发
- JAVA网络爬虫(无头浏览器ChromeDriver)