Gradient Descent(梯度下降详解)

Review Gradient Descent

在这里插入图片描述我们看看上面的梯度是怎么算的?然后再看看下面的梯度下降,也就是把每一次的梯度都做以下迭代。

在这里插入图片描述
如上图所示,我们回想一下如何用梯度下降求最好的w和b。
这里我们使用θ1和θ2两个参数,我们让这俩随机赋初始值。η是学习率,具体每次迭代的公式已写出。L(θ)是损失函数。
【注】上述公式里面的那些符号就是求偏导和向量。。。。
在这里插入图片描述
红线是某一点的梯度方向,而蓝线是梯度下降的方向。

Tuning your learning rates

在这里插入图片描述
我们来调整我们的学习率,蓝线太小了,步长太小,走得慢,绿色比较大,可能到不了最低点,橘色太大了,直接爆了,只有红色刚好合适。

在这里插入图片描述
我们想一下,刚开始我们离最低点很远,我的学习率可以设置大一些,一段时间后,离最低点比较近了,学习率会慢慢变小。

Adagrad

在这里插入图片描述

Vallina Gradient descent就是普通的梯度下降,学习率η不变,Adagrad是一种比普通梯度下降更好的梯度下降,学习率会动态变化,η/一阶均方根。σ是之前对参数w求导的均方根,具体做法如下。
在这里插入图片描述在这里插入图片描述如上图,约简的最终情况。

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

在这里插入图片描述如上图,可能会有一个争议。Adagrad的最终化简的式子里分子和分母如果分子增大,那么分母也会增大,那么最终结果又如何??
在这里插入图片描述如上图直观解释,g4在两种情况下会显得特别大和特别小,在g4特别大的情况下,上述式子分母很小,然后分子g4相对较大就形成了反差,同理在g4特别小的情况下,上述式子分母很大,但分子就显得很小了。

在这里插入图片描述上图有一个二次方程,求一阶导,然后将某一点的值带进去,所得结果越大,那么离最低点越远,该二次函数的最低点的x是-b/2a,那么x0到-b/2a的最好的步子就是一步到位,也就是x0+b/2a,由上图可以看到每次更新的梯度跟微分成正比。但不适用于多参数,如下图:我们不能跨参数比较,我们不能判断a和c谁离最低点近。
在这里插入图片描述那么我们来讨论一下二次微分。
在这里插入图片描述
我们可以看到,在w1方向上是比较缓的,所以他的二次微分较小,w2方向上比较陡,所以他的二次微分大。又因为最好的步子是|2ax0+b|/2a,这个2a就是二阶导,所以最好的步子就是一阶导/二阶导。如下图,在w1上有更小的二阶导,且a点的一阶导也小,相除得一个best step,同理c也可以得一个best step,这两个step就可以比较了(大致就这样理解,以前不能直接比较是因为不是同一个参数,现在可以比较了,是因为有了二阶导数反映了陡峭程度)
在这里插入图片描述
类比一下上述的说明。adagrad的分母为什么不能为二阶导,因为有时候函数太复杂,求一阶都要很长时间,所以找了一种可以等价于二阶导数的做法,也就是均方根,全程只用算一次微分g。如下图:
在这里插入图片描述
一次微分的均方根较小的情况下,越平缓,均方根越大的情况下越陡峭,这不就正好是二次微分的样子吗??

Stochastic Gradient Descent

Make the training faster

在这里插入图片描述
如上图,普通的梯度下降里考虑的损失函数是将所有的训练样例一次性考虑进来,而stochastic gradient descent每次只考虑一个样例,计算出这一个的损失函数,然后去减少他的梯度。
在这里插入图片描述
如上图,左边的是一次性将所有样例考虑进来的梯度下降,右边是stochastic。花相同的时间,左边走一次到达蓝色的区域(越蓝越好),而stochastic直接两次就到一个很好的位置。左边的传统方式将所有的样本都弄进来算,肯定会消耗大量时间,而右边每次只算一个样本,所以左边不太行。但是右边的方法由于是随机的,可能方向性不太靠谱,我们再看看下面的论述:

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

Feature Scaling

在这里插入图片描述如上图,x2所表示的特征值太大了,要将它按照某种方式进行缩小。为什么?如下图所示:如果x2的数值太大了,那么对y产生的影响会很大,那么做梯度下降的时候也很麻烦,当x2按照某种方式缩小后,x1与x2对y的影响差不多一样了,这时图像会接近一个圆,这时做梯度下降会很快。

在这里插入图片描述
下面是缩小某特征值的一种方法。
在这里插入图片描述

Theory

在这里插入图片描述显然,上述结论不正确。见下述讨论。

Warning of Math
在这里插入图片描述我每次在图中画一个圈,我找在这个圈里梯度最小的点,然后将这个点再做为圆心画一个圆,重复上述操作。我们先来看看一阶泰勒公式:

Taylor Series

在这里插入图片描述
当x接近于x0时,有上图所示结论。
在这里插入图片描述如上图,sinx当x接近于Π/4时,在这个点周围的曲线几乎重合。同理,看下面二元泰勒展式:
在这里插入图片描述

Back to Formal Derivation

在这里插入图片描述在这里插入图片描述如下图,s是一个常数,无关紧要,就把他划掉。然后uΔθ1+vΔθ2可以看成两向量相乘,什么时候L(θ)达到最小呢?(u,v)是常量向量,当然是(Δθ1,Δθ2)与这(u,v)呈相反方向,那么梯度最小的点呢,当然是将(Δθ1,Δθ2)拉伸到圆的弧上的那个点,于是就有以下推论:

在这里插入图片描述
我们惊奇的发现,下面最终推导的结果与梯度下降公式一致。那么为什么之前说的那个结论是错误的?因为我要保证每次画的圆圈无限趋于一点!!也就是说,我每次的学习率如果太大,那么L(θ)可能不降反增!!
在这里插入图片描述下图说明有可能我梯度等于0的时候并不是最低点
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值