【台大李宏毅ML课程】Lecture 3 Gradient Descent笔记
2018-02-09 10:58
441 查看
(感谢李宏毅老师,所有图片来自于老师的课件)
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(学习率)不能太大,否则会超出小红圈。
这就是梯度下降法的泰勒级数解释。
(顺便感叹一下数学之美!)
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(学习率)不能太大,否则会超出小红圈。
这就是梯度下降法的泰勒级数解释。
(顺便感叹一下数学之美!)
相关文章推荐
- 【台大李宏毅ML课程】Lecture 1-2 Linear Regression、Error笔记
- 台大李宏毅Machine Learning 2017Fall学习笔记 (4)Gradient Descent
- 【台大李宏毅ML课程】Lecture 4 Classification笔记
- [机器学习入门] 李宏毅机器学习笔记-3 (Gradient Descent ;梯度下降)
- 【学习笔记】WEEK2_Logistic Regression as a Neural Network_Gradient Descent on m Examples
- 斯坦福机器学习视频笔记 Week1 线性回归和梯度下降 Linear Regression and Gradient Descent
- Coursera台大机器学习技法课程笔记08-Adaptive Boosting
- Coursera台大机器学习技法课程笔记15-Matrix Factorization
- 【李宏毅ML笔记】16 Tips for Training DNN
- 李宏毅《机器学习》卷积神经网络课程笔记
- 斯坦福CS20SI:基于Tensorflow的深度学习研究课程笔记,Lecture note2:TensorFlow Ops
- An overview of gradient descent optimization algorithms(阅读笔记)
- caffe学习笔记(10):Gradient descent optimization algorithm
- [深度学习与计算机视觉] 斯坦福 CS231n 2017 学习笔记 -1 (Lecture 1: Introduction;课程介绍)
- 台大陈蕴侬、李宏毅“应用深度学习”课程(国语)
- [阅读笔记]An overview of gradient descent optimization algorithms
- 【机器学习(李宏毅)】四、Gradient Descent
- Coursera台大机器学习基础课程学习笔记2 -- 机器学习的分类
- 李宏毅机器学习课程笔记6:Unsupervised Learning - Auto-encoder、PixelRNN、VAE、GAN
- 李宏毅机器学习课程笔记2:Classification、Logistic Regression、Brief Introduction of Deep Learning