李宏毅机器学习——学习笔记(一)——Gradient Descent

Gradient Descent

在这里插入图片描述

学习率会出现以下四种不同的情况:
学习率太小,即图中蓝色的线,每次跨越的步长很小很小,梯度每次变化的值也小,模型要达到local minima,就必须需要更多的训练时间;
学习率太大,即图中绿色的线,每次跨越的步长会很大,很可能形成在山谷之间震荡的现象;
学习率特别大,即图中黄色的线,就很可能会直接跳出local minima,loss会越来越大;
学习率刚好合适,即图中红色的线,每次跨越的步长非常合适,达到local minima的时间也不需要特别多。

在这里插入图片描述

在这里插入图片描述

由于手动设置learning rate会导致很多问题,就出现了一些自适应的梯度调整方法。
刚开始训练时,我们离local minimum的距离还很远,因此可以使用稍大的learning rate;
在经过多次的训练后,离local minimum的距离已经很近了,所以这时可以使用小的learning rate;

在这里插入图片描述

Adagrad

AdaGrad算法分析
(1)从AdaGrad算法中可以看出,随着算法不断迭代,r(累积平方梯度)会越来越大,整体的学习率会越来越小。所以,一般来说AdaGrad算法一开始是激励收敛,到了后面就慢慢变成惩罚收敛,速度越来越慢。
(2)在SGD中,随着梯度的增大,我们的学习步长应该是增大的。但是在AdaGrad中,随着梯度g的增大,我们的r也在逐渐的增大,且在梯度更新时r在分母上,也就是整个学习率是减少的,这是为什么呢?
这是因为随着更新次数的增大,我们希望学习率越来越慢。因为我们认为在学习率的最初阶段,我们距离损失函数最优解还很远,随着更新次数的增加,越来越接近最优解,所以学习率也随之变慢。
(3)经验上已经发现,对于训练深度神经网络模型而言,从训练开始时积累梯度平方会导致有效学习率过早和过量的减小。AdaGrade在某些深度学习模型上效果不错,但不是全部。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

思考

在这里插入图片描述

直观解释
在这里插入图片描述

在这里插入图片描述

gradient越大,函数值离minima的距离就越远这个说法不一定在所有情况下都是成立的。(只考虑一个 参数的时候成立)

对于图中的两个参数w1和w2,画两条直线,保持其中一个变量不变,得出另一个变量的变化曲线,分别对应右图中的曲线。在右图中,对于w1中的a点和w2中的c点,c点距离minimum的距离最近,但梯度却更大。因此在分析梯度和步长时,我们不能只考虑一阶导数的大小,还必须要要考虑二阶导数的大小

在这里插入图片描述

在这里插入图片描述

使用一阶导数的值来表示二阶导数的值
在这里插入图片描述
Stochastic Gradient Descent
对于传统的梯度下降算法,损失函数L的计算包含了所有的样本;
随机梯度下降算法,损失函数L则只使用其中一个样本,计算效率可以提高很多.
在这里插入图片描述

Feature scaling

使不同量级的数据集都具有相同的规模,比如x2的都是大于100的值,经过feature scaling,就可以使x2的数值范围和x1相接近。

在这里插入图片描述

标准化:使之服从标准正态分布
在这里插入图片描述

Gradient Descent Theory

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Limitation
在真实的实验环境中,我们往往会设置一个临界值(比如10−4),当该点的梯度小于该值(即≈0)时,就停止训练。
因此,gradient descent的限制是,gradient为0的点并不一定是local minimum,还有可能是saddle point,也有可能是接近于0的点
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值