梯度下降小结

1. 梯度下降

梯度下降主要是用来寻找函数的最值。其思想就是寻找函数的最快下降方向,进而沿着该方向进行函数数值的迭代。我们可以从下面这张图较为形象地了解梯度下降的原理。

在这里插入图片描述
如何寻找上面说到的最快方向呢?我们可以从泰勒公式来看,其中 d f ( x ) v df(x)v df(x)v 为变化值。需要注意的是,此时 d f ( x ) df(x) df(x) v v v均为向量。而两个向量在什么时候的内积最大呢?就是二者方向相同的时候。这就解释了我们选择函数的梯度作为每次下降的方向。

在这里插入图片描述

同时我们也可以看出,梯度下降是可以保证函数在不断的下降。

在这里插入图片描述

1.1 批量梯度下降

批量梯度下降法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新。

优点
  (1)一次迭代是对所有样本进行计算,此时利用矩阵进行操作,实现了并行。
  (2)由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。当目标函数为凸函数时,BGD一定能够得到全局最优。
  
缺点
  (1)当样本数目 m 很大时,每迭代一步都需要对所有样本计算,训练过程会很慢。
  从迭代的次数上来看,BGD迭代的次数相对较少。其迭代的收敛曲线示意图可以表示如下:

在这里插入图片描述

1.2 随机梯度下降

随机梯度下降法不同于批量梯度下降,随机梯度下降是每次迭代使用一个样本来对参数进行更新。

优点
  (1)由于不是在全部训练数据上的损失函数,而是在每轮迭代中,随机优化某一条训练数据上的损失函数,这样每一轮参数的更新速度大大加快。

缺点
  (1)准确度下降。由于即使在目标函数为强凸函数的情况下,SGD仍旧无法做到线性收敛。
  (2)可能会收敛到局部最优,由于单个样本并不能代表全体样本的趋势。
  (3)不易于并行实现。

其迭代的收敛曲线示意图可以表示如下:

在这里插入图片描述

1.3 小批量梯度下降

小批量梯度下降,是对批量梯度下降以及随机梯度下降的一个折中办法。其思想是:每次迭代 使用 batch_size个样本来对参数进行更新。

优点
  (1)由于不是在全部训练数据上的损失函数,而是在每轮迭代中,随机优化某一条训练数据上的损失函数,这样每一轮参数的更新速度大大加快。

缺点
  (1)准确度下降。由于即使在目标函数为强凸函数的情况下,SGD仍旧无法做到线性收敛。
  (2)可能会收敛到局部最优,由于单个样本并不能代表全体样本的趋势。
  (3)不易于并行实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值