前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习回归 1-6 随机梯度下降法

学习回归 1-6 随机梯度下降法

作者头像
触摸壹缕阳光
发布2022-11-08 13:38:05
6260
发布2022-11-08 13:38:05
举报

随机梯度下降法

\theta_j := \theta_j - \eta\sum_{i = 1}^{n}(f_{\theta}(x^{(i)}) - y^{(i)})x_j^{(i)}

除了参数更新速度比较慢,梯度下降算法还有没有其它的缺点呢?在介绍回归时,我们使用的是平方误差的目标函数,这个函数形式简单,所以使用梯度下降算法没有出现问题,但是目标函数如果稍微复杂一点,梯度下降算法就会容易陷入局部最优解。比如下面这种比较复杂的目标函数。

在使用梯度下降算法之前,我们需要为需要更新的参数设置初始值,如果将初始值设在下图位置,那么就可以通过迭达找到全局最优解。

不过如果初始值从下图位置开始,就会陷入局部最优解。

初始点也是在训练模型之前进行设置的超参数,其实要解决这个问题也很简单,我们多选择几个初始点,然后从中选择合适的初始点。

梯度下降算法与随机梯度下降算法

两种梯度下降算法:

  • 梯度下降算法,每一次参数更新都需要使用所有训练数据计算梯度;
  • 随机梯度下降算法,每一次参数更新都需要随机对某一个训练数据计算梯度。

虽然随机梯度下降算法提高了更新参数的效率,但是每次使用随机的一个训练数据计算梯度,显然不能保证每次计算得到的都是目标函数减小的方向,更不能保证是减小速度最快的方向,这样的随机性会让随机梯度下降算法参数更新的行进轨迹变得异常波动,并且行进的方向随机,这也是为什么被称为随机梯度下降算法的原因所在。不过,虽然随机带来一定的不可预知性,但是大量实验表明,随机梯度下降算法依然能够差不多得来到目标函数的全局最优解附近。

简单总结一下两种梯度下降算法的优缺点:

梯度下降算法:

  • 优点:由于使用全部的训练数据计算梯度,因此每次参数更新都会向着目标函数下降最快的方向移动,参数更新的行进轨迹波动小,比较稳定;
  • 缺点:由于每次参数更新使用全部的训练数据计算梯度,因此参数更新的速度会比较慢。

随机梯度下降算法:

  • 优点:由于每次参数更新使用随机的一个训练数据计算梯度,因此参数更新的速度会比较快;
  • 缺点:由于每次参数更新使用随机的一个训练数据计算梯度,参数的行进轨迹变得异常波动,并且行进的方向随机,不稳定。

还有一点需要注意,随机梯度下降算法由于更新的行进轨迹异常波动,所以相对于梯度下降算法不太容易陷入到局部最优解中。

小批量梯度下降算法

梯度下降算法和随机梯度下降算法,一个使用全部的训练数据计算梯度,一个使用随机的一个训练数据计算梯度,两种方式都比较极端。小批量梯度下降算法综合了上面两种梯度下降算法的优缺点,每次参数更新不使用全部的训练数据,也不使用随机的一个训练数据,而是使用 m个训练数据。

小批量梯度下降法是综合了随机梯度下降法和批量梯度下降法的优缺点,运行的速度比梯度下降法快,而比随机梯度下降法要稳定。

References:

  1. 《白话机器学习的数学》

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI机器学习与深度学习算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 随机梯度下降法
  • 梯度下降算法与随机梯度下降算法
  • 小批量梯度下降算法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档