文章目录
- 总述
- SGD(Stochastic Gradient Descent)(随机梯度下降)
- Batch (批量)
- 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的速度和批处理的稳定性。因此,它经常被用于深度学习,它处理大量的数据。