4-梯度下降

方法

  • 在这里插入图片描述

  • η \eta η 叫做Learning rates(学习速率)

调整学习率

缘由

  • 学习速率的大小调整不能太大也不能太小
  • 使用参数改变对损失函数的影响来进行可视化
  • 在这里插入图片描述

自适应学习率

  • 通常刚开始,初始点会距离最低点比较远,所以使用大一点的学习率
  • update好几次参数之后呢,比较靠近最低点了,此时减少学习率
  • 比如 η t = η t t + 1 \eta^t =\frac{\eta^t}{\sqrt{t+1}} ηt=t+1 ηt t t t 是次数。随着次数的增加, η t \eta^t ηt 减小

Adagrad 算法

  • 每个参数的学习率都把它除上之前微分的均方根。

  • w t + 1 ← w t − η t σ t g t (5) w^{t+1} \leftarrow w^t -\frac{η^t}{\sigma^t}g^t \tag5 wt+1wtσtηtgt(5)

  • g t = ∂ L ( θ t ) ∂ w (6) g^t =\frac{\partial L(\theta^t)}{\partial w} \tag6 gt=wL(θt)(6)

  • σ t \sigma^t σt :之前参数的所有微分的均方根,对于每个参数都是不一样的。

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

  • 原理

    • 最好的步伐应该是:
      一 次 微 分 二 次 微 分 \frac{一次微分}{二次微分}
    • 对于 ∑ i = 0 t ( g i ) 2 \sqrt{\sum_{i=0}^t(g^i)^2} i=0t(gi)2 就是希望再尽可能不增加过多运算的情况下模拟二次微分。(如果计算二次微分,在实际情况中可能会增加很多的时间消耗)

随机梯度下降

  • 在每次更新时用1个样本,可以看到多了随机两个字,随机也就是说我们用样本中的一个例子来近似我所有的样本,来调整θ,因而随机梯度下降是会带来一定的问题,因为计算得到的并不是准确的一个梯度,**对于最优化问题,凸问题,**虽然不是每次迭代得到的损失函数都向着全局最优方向, 但是大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近。但是相比于批量梯度,这样的方法更快,更快收敛,虽然不是全局最优,但很多时候是我们可以接受的,所以这个方法用的也比上面的多。

  • 针对某个例子,计算所有参数的损失函数,然后走一步,对下一个点,重新计算损失函数,然后走一步

之前的梯度下降:

L = ∑ n ( y ^ n − ( b + ∑ w i x i n ) ) 2 (8) L=\sum_n(\hat y^n-(b+\sum w_ix_i^n))^2 \tag8 L=n(y^n(b+wixin))2(8)
θ i = θ i − 1 − η ▽ L ( θ i − 1 ) (9) \theta^i =\theta^{i-1}- \eta\triangledown L(\theta^{i-1}) \tag9 θi=θi1ηL(θi1)(9)

而随机梯度下降法更快:

损失函数不需要处理训练集所有的数据,选取一个例子 x n x^n xn

L = ( y ^ n − ( b + ∑ w i x i n ) ) 2 (10) L=(\hat y^n-(b+\sum w_ix_i^n))^2 \tag{10} L=(y^n(b+wixin))2(10)
θ i = θ i − 1 − η ▽ L n ( θ i − 1 ) (11) \theta^i =\theta^{i-1}- \eta\triangledown L^n(\theta^{i-1}) \tag{11} θi=θi1ηLn(θi1)(11)

此时不需要像之前那样对所有的数据进行处理,只需要计算某一个例子的损失函数Ln,就可以赶紧update 梯度。

特征缩放

  • 两个输入的分布的范围很不一样,建议把他们的范围缩放,使得不同输入的范围是一样的。
  • 如果不这样,两个方向需要有不同的学习率,同一组学习率会搞不定。做了特征缩放后,更新参数会变得容易点
  • 在这里插入图片描述

类比

例子1

  • 利用梯度下降法更新参数,损失函数loss function可能会不降反升(利用Mincraft解释该情况);
  • 人物的前方是较低方向,右方也是较低方向,利用梯度下降法,往右前方移动一步,然后反复用梯度下降法,往右前方移动一步,周而复始;
  • 尽管前方和右方是下降的方向,但往右前方移动,将会失败(因为实际右前方是比较高的地方)。

例子二

  • 利用帝国时代的方式模拟梯度下降
  • 在地图上大多数位置我们是未知的,只有我们单位走过的地方是可知;
  • 地图上的海拔可以看作损失函数loss function,我们的目的就是寻找海拔的最低点的值;
  • 随机初始一个位置,朝向较低的方向移动,周而复始,直到local minimal(在不开天眼的情况下,你始终不会知晓所在位置是否为global minimal)。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王蒟蒻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值