文章目录

  • 前言
  • 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相关推荐

  1. 李宏毅svm_【李宏毅机器学习笔记】 18、支持向量机(Support Vector Machine,SVM)...

    [李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...

  2. 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01

    @[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...

  3. 【李宏毅机器学习笔记】 23、循环神经网络(Recurrent Neural Network,RNN)

    [李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...

  4. 【李宏毅机器学习笔记】 17、迁移学习(Transfer Learning)

    [李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...

  5. 2021李宏毅机器学习笔记--12 attack ML models

    2021李宏毅机器学习笔记--12 attack ML models 摘要 一.图像模型的攻击 1.1原理 1.2Constraint 1.3参数训练 1.4一个例子 1.5攻击方法 1.5.1FGS ...

  6. 2021李宏毅机器学习笔记--21 Anomaly Detection

    2021李宏毅机器学习笔记--21 Anomaly Detection(异常侦测) 摘要 一.问题描述 二.Anomaly异常 三.Anomaly Detection(异常侦测)做法 3.1 Bina ...

  7. 李宏毅机器学习笔记六——Gradient Descent

    视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=6 使用GD的注意 ...

  8. 李宏毅机器学习笔记(三)——Regression: output a scalar amp;amp; Gradient Descent

    视频来源: 李宏毅机器学习(2017)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili.com/video/av10590361/?p=3 机器学习的目的 ...

  9. 【李宏毅机器学习】Gradient Descent_1 梯度下降(p5、p6、p7 )学习笔记

    李宏毅机器学习学习笔记汇总 课程链接 文章目录 Review Gradient Descent Tips Tip1: Tuning your learning rate 小心微调你的学习率 Tip 2 ...

最新文章

  1. 转子接地保护原理_罗茨鼓风机(压缩机)原理和操作规程
  2. 离人类更近一步!DeepMind最新Nature论文:AI会“回忆”,掌握调取记忆新姿势
  3. lombok 中的@Data注解
  4. Scala之部分应用函数
  5. python统计英文句子每个单词字数_Python小书3-文本英文单词统计
  6. 深入浅出VC++串口编程--基于Win32 API
  7. python day - 09 函数
  8. Android 布局 优先显示右侧的控件
  9. 【程序员眼中的统计学(12)】相关与回归:我的线条如何?
  10. springMVC常见问题
  11. Java 实现视频下载功能
  12. 【word论文排版教程1】页面设置
  13. Symbian s40 Java编程实战(一)--开发环境配置
  14. Java常用框架介绍
  15. 跳舞毯 [HDU2154]
  16. android 百度地图自定义定位小箭头图标,并随着手机方向转动
  17. Java实现无向连通图中的“割点”问题
  18. 移动互联网实战--移动端音频和图形优化处理
  19. 维恩贝特面试JAVA后台开发
  20. JAVA网络爬虫(无头浏览器ChromeDriver)

热门文章

  1. 商城产品属性数据库设计
  2. NCE4 L5 Youth
  3. 自问自答系列——商城相关
  4. 社区综合管理系统springboot+vue
  5. 火柴棒游戏(暴力枚举)C++
  6. 登陆weblogic console报错 The server encountered an unexpected condition which prevented it from
  7. 用python编程解一元二次方程
  8. C# 很少人知道的科技
  9. CAD内容很少,文件很大清理无效
  10. chrome设置默认首页无效