【机器学习】批量&随机&小批量随机梯度下降

目录

1. 批量梯度下降(Batch Gradient Descent)

2. 随机梯度下降(Stochastic Gradient Descent, SGD)

3. 小批量随机梯度下降(Mini-Batch Gradient Descent)

总结区别


批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent, SGD)和小批量随机梯度下降(Mini-Batch Gradient Descent)是三种常用的优化算法,用于训练机器学习模型,尤其是神经网络。它们的主要区别在于每次更新模型参数时使用的数据量不同。

1. 批量梯度下降(Batch Gradient Descent)

原理:
批量梯度下降使用整个训练数据集来计算梯度并更新模型参数。在每次迭代(也叫一个epoch)中,算法会计算所有样本的损失函数的平均值,然后根据该平均梯度更新模型参数。

步骤:

  1. 计算整个训练数据集的损失函数。
  2. 计算损失函数相对于模型参数的导数(梯度)。
  3. 使用梯度更新模型参数。

优点:

  • 在每次更新中,使用所有训练数据来计算梯度,因而更新方向更加准确。

缺点:

  • 对于非常大的数据集,计算梯度需要大量的计算资源和时间。
  • 每次参数更新只能在处理完所有训练数据后进行,因此收敛速度可能很慢。

2. 随机梯度下降(Stochastic Gradient Descent, SGD)

原理:
随机梯度下降每次只使用一个样本来计算梯度并更新模型参数。与批量梯度下降相比,SGD在每次更新时引入了一定的噪声,因为每个样本的梯度可能不同。

步骤:

  1. 随机选择一个训练样本。
  2. 计算该样本的损失函数。
  3. 计算损失函数相对于模型参数的导数(梯度)。
  4. 使用梯度更新模型参数。

优点:

  • 更新频率更高,因为每次迭代只需要一个样本。
  • 可以在大数据集上更快速地进行训练,因为每次更新只需要计算一个样本的梯度。

缺点:

  • 每次使用一个样本计算的梯度是不准确的,可能会引入较大的波动,导致更新方向不稳定。
  • 可能会在局部最优解附近振荡,收敛到全局最优解的速度较慢。

3. 小批量随机梯度下降(Mini-Batch Gradient Descent)

原理:
小批量随机梯度下降结合了批量梯度下降和随机梯度下降的优点,每次使用一个小批量(mini-batch)样本来计算梯度并更新模型参数。这个小批量通常是从训练数据中随机选择的一部分(如32个、64个或128个样本)。

步骤:

  1. 随机选择一个小批量样本(例如32个样本)。
  2. 计算该小批量样本的损失函数的平均值。
  3. 计算平均损失函数相对于模型参数的导数(梯度)。
  4. 使用平均梯度更新模型参数。

优点:

  • 比批量梯度下降计算速度快,因为每次更新只需要计算一个小批量样本的梯度。
  • 比随机梯度下降更稳定,因为每次更新使用多个样本的平均梯度,可以减少波动。
  • 在大数据集上更加高效,通常能更快地收敛到全局最优解。

缺点:

  • 仍然需要选择合适的小批量大小(mini-batch size),太大或太小都会影响算法的效率和性能。

总结区别

方法更新频率

使用数据量

优点缺点
批量梯度下降低(每轮遍历所有数据)全部数据更新方向准确,收敛稳定每次更新计算量大,速度慢,不适合大数据集
随机梯度下降高(每个样本一次更新)单个样本更新频率高,适合大数据集更新方向不稳定,易振荡,收敛到局部最优解可能性大
小批量随机梯度下降适中(每小批量一次更新)小批量样本(如32个)平衡计算量与收敛速度,较稳定,适合大数据集需要选择合适的小批量大小
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
梯度下降是一种优化算法,用于调节权重向量,通过计算每个权重的梯度,更新权值,从而使目标函数尽可能最小化。全梯度下降算法(FGD)是一种传统的梯度下降算法,它计算训练集上所有样本的误差,并对其进行求和和平均,然后沿着梯度的相反方向移动权重向量,以减少目标函数的值。然而,由于需要在整个数据集上计算所有梯度,FGD的速度较慢,且无法处理超出内存容量限制的数据集。另一种梯度下降算法是随机梯度下降(SGD),它在每次更新时只使用一个样本的梯度,从而加快了速度。小批量梯度下降(MBGD)是FGD和SGD的一种折中方案,每次从训练样本集中随机抽取一个较小的样本集,然后在该小样本集上使用FGD进行权重的迭代更新。小批量梯度下降兼顾了FGD和SGD的优点,是深度学习优化中常用的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [全梯度下降算法、随机梯度下降算法、小批量梯度下降算法、随机平均梯度下降算法、梯度下降算法总结](https://blog.csdn.net/qq_43874317/article/details/128247578)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

sofaraway13

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

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

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

打赏作者

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

抵扣说明:

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

余额充值