神经网络:训练集的均方误差计算和时期(epoch)

4
我的问题是关于神经网络训练的。我已经搜索过了,但是没有一个好的解释。
首先,如何计算均方误差?(我知道这很傻,但我真的不懂)
其次,当神经网络进行训练时,我们输入了一个训练集,其中包含许多对输入和期望输出。现在应该在什么时候计算均方误差?当我们取完所有的对时再计算吗?还是每个对都要计算?
如果是每个对,则有可能在训练集中的所有对都被取出之前就达到了最小期望误差。
第三,epoch值增加是在一次训练集循环中增加还是在每次取出一对输入和期望输出时增加?(我知道这又很傻,请忍耐一下)
非常感谢。
2个回答

5
我的问题是关于神经网络训练的。我已经搜索过了,但是没有一个好的解释。
在网上和文献中有很多好的解释,其中一个例子可能是Haykin的书《神经网络与学习机》。
那么第一个问题,如何计算均方误差?(我知道这很愚蠢,但我真的不明白)
最简单的说法是,均方误差定义为:
sum_i 1/n (desired_output(i) - model_output(i))^2

所以,你只需要计算“误差”的“平方”平均值(输出结果与期望结果之间的差异)。
什么时候应该计算均方误差呢?我们是在考虑所有的配对数据后再进行计算吗?还是每个配对数据都要计算?
两种方法都可以使用,一种被称为批处理学习,另一种被称为在线学习。所以所有后续的问题的答案都是“两者都正确,取决于您是使用批处理还是在线学习”。选择哪一个?显然 - 这取决于情况,但出于简单起见,我建议从批处理学习开始(因此您要计算所有训练样本的误差,然后进行更新)。

当人们谈论神经网络训练的结果误差时,所比较的误差是否是均方误差?还是存在其他类型的误差? - wendy0402
有许多类型的错误,包括均方误差、熵误差、0/1损失等。它也可以在不同的数据集上进行测量:训练数据(不重要的度量),验证误差(从训练停止点的角度来看是重要的度量)或测试数据(重要的度量,显示泛化误差)。 - lejlot

0

如果我们使用在线训练,并且在训练集中覆盖所有数据项之前误差达到最小值,则跳过该值的权重更新并继续进行下一个训练数据,即确保完成一个时代再停止训练。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接