通过梯度下降的反向传播如何表示每次前向传递后的误差

数据挖掘 机器学习 神经网络 scikit-学习 梯度下降 小批量梯度下降
2021-09-18 20:40:08

在神经网络多层感知器中,我了解随机梯度下降 (SGD) 与梯度下降 (GD) 之间的主要区别在于训练时选择多少样本的方式。也就是说,SGD 迭代地选择一个样本来执行前向传播,然后进行反向传播来调整权重,这与 GD 相反,反向传播仅在前向传播中计算了整个样本之后才开始)。

我的问题是:当梯度下降(甚至迷你批量梯度下降)是所选的方法时,我们如何代表单个转发通行证的错误?假设我的网络只有一个输出神经元,错误是通过平均每个样本中的所有单个错误还是通过对所有错误求和来表示?对我来说,这听起来像是一种依赖于实现的方式,但我想知道是否有这样的传统方式。

1个回答

为了在反向传播之前获得总误差 - 通常取所有正向传递误差的平均值。这就是在 RNN(如 LSTM)中所做的。

在线性回归和逻辑回归的情况下,传统的均方误差函数可以产生这样的值。

本质上,该值由误差的平均值表示: Y(w)=1/ni=1nYi(w)

另外,作为提醒,谈到实际的反向传播 -来自维基百科

当用于最小化上述函数时,标准(或“批量”)梯度下降方法将执行以下迭代:

w:=wαY(w)

这基本上是

w:=wαi=1nYi(w)/n

注意/n当与i=1n它导致所有梯度的平均值

:= 表示“成为合格”

α是学习率