我正在开发一个研究神经网络的程序,我现在了解将数据集分为三个集合(训练、验证和测试)的区别。我的网络可能只有一个输出或多个输出,这取决于数据集和问题。学习算法是反向传播。
所以,问题基本上是我对每个错误和计算方式感到困惑。
哪个是训练误差?如果我想使用MSE,那么是(期望值 - 输出值)^ 2吗?但是,如果我的网络有两个或更多输出,训练误差将是所有输出的总和吗?
然后,验证误差只是使用验证数据集计算输出,将得到的结果与期望结果进行比较,这将给出一个误差,它的计算方式与训练误差相同吗?对于多个输出呢?
最后,不是很清楚,什么时候应该运行验证?我在某个地方读到过可以每5个周期运行一次验证,但是是否有任何规则?
提前感谢您的时间!
所以,问题基本上是我对每个错误和计算方式感到困惑。
哪个是训练误差?如果我想使用MSE,那么是(期望值 - 输出值)^ 2吗?但是,如果我的网络有两个或更多输出,训练误差将是所有输出的总和吗?
然后,验证误差只是使用验证数据集计算输出,将得到的结果与期望结果进行比较,这将给出一个误差,它的计算方式与训练误差相同吗?对于多个输出呢?
最后,不是很清楚,什么时候应该运行验证?我在某个地方读到过可以每5个周期运行一次验证,但是是否有任何规则?
提前感谢您的时间!