机器学习之SGD, Batch, and Mini Batch的简单介绍

在这里插入图片描述

总述

  • SGD, Batch, and Mini Batch是可用于神经网络的监督学习计算权重更新的方案,即∆wij。

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

  • 随机梯度下降(SGD)计算每个训练数据的误差,并立即调整权重。如果我们有100个训练数据点,SGD将调整权重100次。

在这里插入图片描述

  • SGD调整每个数据点的权重,执行的神经网络的性能在训练过程中是弯曲的。“随机”这个名字暗示了训练过程中的随机行为
  • SGD计算的权重更新为:
  • 在这里插入图片描述
  • 上面的公式与增量规则是一样的,对啦,增量规则就是用了SGD 方法啦

Batch (批量)

  • 在批处理方法中,对训练数据的所有误差计算每次权重更新,并使用权重更新的平均值来调整权重。该方法使用了所有的训练数据,并且只更新了一次

  • 在这里插入图片描述

  • 权重改变的计算公式:

  • 在这里插入图片描述

  • 其中,∆wij(k)为第k个训练数据的权重更新,N为训练数据的总数。

缺点:由于平均权重更新计算,批处理方法消耗了大量的训练时间。

mini Batch (迷你批量)

  • 小批处理方法是SGD和批处理方法的混合。它选择训练数据集的一部分,并使用它们以批处理方法进行训练。因此,它计算所选数据的权值更新,并使用平均权值更新来训练神经网络。例如,如果从100个训练数据点中选择20个任意数据点,则将批量方法应用于20个数据点。在这种情况下,总共执行了5次重量调整,以完成所有数据点的训练过程(5 = 100/20)。
    在这里插入图片描述

  • 可以说,mini Batch结合了SGD 和Batch 的优点:SGD的速度和批处理的稳定性。因此,它经常被用于深度学习,它处理大量的数据。

猜你喜欢

转载自blog.csdn.net/weixin_74850661/article/details/133470687