machine-learning - 神经网络小批量梯度下降

标签 machine-learning neural-network gradient-descent

我正在使用多层神经网络。我打算进行小批量梯度下降。假设我有超过 100 万个数据点的 100 个小批量。我不明白必须更新整个网络权重的部分。当我对这 100 个样本进行前向传递时,我将这 100 个样本的所有误差相加。除了这个我还能做什么?我是否也必须并排计算隐藏层误差?什么时候计算它们?

最佳答案

神经网络中的批量学习

对于(选择的)数据集中的每个数据实例,您必须计算网络中所有层中每个神经元的权重增量。这与反向传播中的过程相同。

由于您希望使用批量学习,因此您将延迟权重更新步骤。相反,您应该存储这些增量,并在批处理完成后将批处理中不同实例的增量相加。然后使用这些新操纵的增量来更新网络中的权重。

enter image description here

关于machine-learning - 神经网络小批量梯度下降,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25343159/

相关文章:

machine-learning - 理解卷积滤波器

python - Theano 教程中的说明

python - 任何神经网络体系结构的梯度下降的通用实现

machine-learning - 具有度量条件的平面聚类

python - 如何以正确的方式缩放和预测单个样本

python - 神经网络结果总是一样的

python - 如何训练具有 2D 输出的网络? ( python ,凯拉斯)

neural-network - 使用 Theano 进行平均池化

machine-learning - 梯度下降 : Do we iterate on ALL of the training set with each step in GD? 或者我们是否更改每个训练集的 GD?

python - scikit learn 中的 OneHotEncoder 困惑