Neural network 神经网络平均误差超平面的估计

Neural network 神经网络平均误差超平面的估计,neural-network,Neural Network,我有一个神经网络,我需要估计平均超平面,它表示所有训练示例的平均误差。培训示例同时出现。例如,如果我有一个单变量函数,那么我需要找到表示函数平均值的线。对于我的应用程序,不需要精确的平均值,启发式也可以 所有训练示例中每个输出神经元的平均输出。其中: t_j' = sum_i_1_to_N (t_i_j)/N 训练示例的每个输出神经元的平均输出(上面计算)与每个示例的实际目标输出之间的平方差之和: Avg Error = 1/2 * sum_i_1_to_N (sum_

我有一个神经网络,我需要估计平均超平面,它表示所有训练示例的平均误差。培训示例同时出现。例如,如果我有一个单变量函数,那么我需要找到表示函数平均值的线。对于我的应用程序,不需要精确的平均值,启发式也可以

所有训练示例中每个输出神经元的平均输出。其中:

t_j' = sum_i_1_to_N (t_i_j)/N            
训练示例的每个输出神经元的平均输出(上面计算)与每个示例的实际目标输出之间的平方差之和:

Avg Error = 1/2 * sum_i_1_to_N (sum_j_1_C (t_j' - t_i_j))^2)
这是一种启发式方法,但我想知道它如何在特定训练集中保持
Avg Error
恒定


这种方式有效吗?对于一个固定的训练集,有没有更好的方法来计算神经网络的平均值呢?

如果不知道更多关于你的问题,我会说没有

平均误差=1/2*sum_i_1_至N(sum_j_1_C(t_j'-t_i_j))^2)

以上看起来更像是标准差,而不是平均值。这不会告诉你很多,考虑一下:

Error=sum_i_1_to_N(sum_j_1_C(ABS(C_j'-t_i_j)))

(其中
c_j
是j处的正确输出)

现在你看到的是一个计算上很便宜的数字,它与数字平均值的作用相同(你可以将所有数字除以N得到实际的平均值,但你为什么要费心呢?)。RMS将如下所示:

ErrorRMS=sum_i_1_to_N(sum_j_1_C(ABS(e_j'-t_i_j)^2))

是否需要RMS或平均值取决于您的问题,但通常情况下,这并不重要(具有较低RMS的集合通常具有较低的平均值,因此您主要是在演化相同的东西)

请注意,
Error
ErrorRMS
这两个值实际上不是平均值或均方根值,但它们的排名相同,而且更便宜

除此之外,假设你有一个具有多个输出的神经网络,在多个步骤上运行(从而产生你所说的误差超平面),那么我首先建议以稍微不同的方式构造问题

你应该有一个多输出的神经网络的唯一原因是,如果输出只能相互联系理解。否则,您应该训练
N
神经网络,而不是1个具有
N
输出的神经网络。话虽如此,如果你不能在一个步骤中产生一个错误来描述一个网络的所有输出,也许你应该把它划分成多个网络?然后,您可以简单地在测试网络的样本上获取误差的RMS或直接平均值

这有意义吗