规范化的多个输出错误
最常见的性能函数用来训练神经网络的均方误差(mse)。然而,有不同范围的值的多个输出,训练均方误差往往优化精度与广泛的输出元素值相对于输出元素与一个较小的范围内。
例如,这两个目标元素有不同的范围:
x = 1:0.01:1;t1 = 100 * sin (x);t2 * cos (x) = 0.01;t = [t1;t2];
的范围t1
是200(从-100年至少到100),而的范围t2
只有0.02(从-0.01到0.01)。的范围t1
是10000倍的范围t2
。
如果你创建和训练一个神经网络的均方误差最小化,培训倾向于第一个输出元素的相对精度。
网= feedforwardnet (5);net1 =火车(净,x, t);
y = net1 (x);
在这里你可以看到网络已经学会很适合第一个输出元素。
图(1)情节(x, y (1:), x, t (1,:))
然而,第二个元素的功能是不适合近。
图(2)情节(x, y (2:), x, t (2:))
适合两个输出元素同样在相对意义上,设置归一化
性能参数“标准”
。然后计算错误性能措施如果每个输出元素有一系列2(即。,好像每个输出元素的值范围从1到1,而不是他们的不同的范围)。
net.performParam。归一化=“标准”;net2 =火车(净,x, t);
y = net2 (x);
现在,两个输出元素都适合。
图(3)情节(x, y (1:), x, t (1,:))
图(4)情节(x, y (2:), x, t (2:))