【台大李宏毅ML课程】Lecture 3 Gradient Descent笔记

(感谢李宏毅老师,所有图片来自于老师的课件)

Lecture 3 Gradient Descent

本讲主要讲了解决最优化问题用到的梯度下降的方法,以及对梯度下降法的一个改进,最后从泰勒级数的角度解释了梯度下降的数学原理。本讲从比较深的角度介绍梯度下降,讲的十分的好。

1.Review:Gradient Descent
梯度下降法主要是为了求解凸优化问题(具体步骤可见Lecture 1):
这里写图片描述

2.学习率/步长/learning rate/希腊字母yita
yita 是学习率,过大和过小都不合适,过小导致学习速率太慢,过大导致直接跳过最优点(本例中是最小值)
这里写图片描述

3.选取合适的learning rate
比如说一开始的初始点离最优点还比较远,可以让learning rate比较大,之后learning rate随着训练时间t的增加而不断变小,这样可以避免跳过了最小值点。
这里写图片描述

还有一种方式是让learning rate根据参数不同而不同(Adaptive Gradient Descent,AdaGrad)

4.Adaptive Gradient Descent(AdaGrad)
这里写图片描述

具体是这么操作的:
这里写图片描述

其中g0,g1,g2……是每次对w求微分,要注意的是w0,w1,w2……这些其实都是参数向量,每一维都是一个参数,因此g对w的每一维求的是一个偏微分,每个参数的学习率都不一样。

5.Grad和AdaGrad比较
Grad中,学习率是固定的,梯度越大,离最优点越远,每次移动的步长也越大;
AdaGrad中,学习率是变化的,梯度越大,学习率越小,每次移动的步长也不一定变大。
这里写图片描述
那这样做的意义是什么呢……

6.直观的原因Intuitive Reason
当梯度在某处出现剧烈变化时,学习率的分母除以一个均方根更加能够体现这个反差:
这里写图片描述

7.合理的解释
梯度(一次微分)越大,离最小值点就越远(所以步长就得越大吗)吗?对于多个参数之间比较微分可不一定。所以对一次微分加了个分母,引入了二次微分。用一次微分除以二次微分就可以代表离最小值的远近了。
为什么可以用一次微分的平方代替二次微分呢?
一是因为一次微分的平方和二次微分的增减是一致的,可以代替;
二是因为一次微分在每次更新都会计算,可以不断累积;而不用每次都重新算二次微分。
这里写图片描述

8.随机梯度下降Stochastic Grad
随机梯度每次只使用一个样本,而不是使用所有的样本,这样收敛速度慢一些,因为随机梯度每次不一定朝着最佳方向。

9.Feature Scaling
因为每个特征的取值范围不一样,如果不进行尺度变换可能会减缓收敛速度,左图没有进行尺度变换,右图进行了尺度变换
这里写图片描述
常见的尺度变换的方法有标准化等等。

10.误区
这里写图片描述
答案是不一定,如果步长很大,可能后一次比前一次的L还要大……

11.梯度下降的数学解释
李宏毅老师在本讲的最后,讲述了站在泰勒级数展开的角度,解释梯度下降的原理。
泰勒级数原理如下:
这里写图片描述

引申到凸优化问题上来,就是要不断从一个点向另一个点,即向最优点(最小值点)靠近,于是要求某点(a,b)附近的最小值,可以做类似的步骤:
这里写图片描述
于是,要找到(θ1,θ2)使得L变小小,相当于找到一个方向,使得L变小。很显然,当(θ1-a,θ2-b)与(u,v)的方向相反时,L会变小,即:
这里写图片描述
这里写图片描述
前提是yita(学习率)不能太大,否则会超出小红圈。
这就是梯度下降法的泰勒级数解释。
(顺便感叹一下数学之美!)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值