神经网络打乱顺序shuffle 训练集 mini-batch epoch

论文中发现,是否打乱训练集数据和mini-batch对训练结果的影响。
记录一下!

梯度下降

除了梯度下降算法和随机梯度下降算法之外,还有一种常用的二者折中的算法:最小批学习(mini-batch learning)。
很好理解,梯度下降每一次用全部训练集计算梯度更新权重,随机梯度法每一次用一个训练样本计算梯度更新权重,最小批学习每次用部分训练样本计算梯度更新权重,比如50。
相对于梯度下降,最小批收敛速度也更快因为权重参数更新更加频繁。此外,最小批相对于随机梯度中,使用向量操作替代for循环(每一次跌倒都要遍历所有样本),使得计算更快。

  • 当每次是对整个训练集进行梯度下降的时候,就是 BGD 梯度下降。

  • 当每次只对一个样本进行梯度下降的时候,是 SGD 梯度下降。

  • 当每次处理样本的个数在上面二者之间,就是 MBGD (mini batch)梯度下降,也即小批量梯度下降。

  • 当数据集很大时,BGD训练算法是非常慢的,使用 MBGD 梯度下降更新参数更快,有利于更鲁棒地收敛,避免局部最优。 和 SGD 梯度下降相比,使用 MBGD的计算效率更高,可以帮助快速训练模型。

Imagine your last few minibatch labels indeed have more noise. Then these batches will pull the final learned weights in the wrong direction.
If you shuffle every time, the chances of last few batches being disproportionately noisy goes down.



Difference Between Batch and Epoch

Difference Between a Batch and an Epoch in a Neural Network

  1. Stochastic Gradient Descent
  2. What Is a Sample?
  3. What Is a Batch?
  4. What Is an Epoch?
  5. What Is the Difference Between Batch and Epoch?

在这里插入图片描述

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值