主要内容

用误差权值训练神经网络

在默认的均方误差性能函数(见多层浅层神经网络的训练与应用),每个平方误差对性能函数的贡献相同,如下所示:

F 年代 e 1 N 1 N e 2 1 N 1 N t 一个 2

然而,这个工具箱允许你对每个平方误差分别加权,如下所示:

F 年代 e 1 N 1 N w e e 2 1 N 1 N w e t 一个 2

错误权重对象需要具有与目标数据相同的维度。通过这种方法,可以根据时间步长、采样数、信号数或元素数对误差进行加权。下面是一个例子,说明在一个时间序列末尾的误差比在一个时间序列开头的误差权重更大。错误权重对象作为调用中的最后一个参数传递火车

y = laser_dataset;y = y (1:6);印第安纳州= 1:6 00;电子战= 0.99。^(600 -印第安纳州);图图(新)

图中包含一个轴对象。axis对象包含一个类型为line的对象。

电子战= con2seq (ew);ftdnn_net = timedelaynet ([1:8], 10);ftdnn_net.trainParam。时代= 1000;ftdnn_net。divideFcn ='';[p,π,人工智能,t, ew1] = preparets (ftdnn_net, y, y,{},电子战);[ftdnn_net1, tr] =火车(ftdnn_net p t,π,Ai, ew1);

该图说明了本示例的误差权重。训练数据中有600个时间步,误差按指数加权,最后一步的平方误差的权重为1,第一步的平方误差的权重为0.0024。

经过训练的网络的响应如下图所示。如果你将这个响应与没有对平方误差进行指数加权训练的网络的响应进行比较,如设计时间序列时滞神经网络,可以看到序列中较晚的错误比序列中较早的错误要小。之后发生的错误更小,因为它们对加权性能指数的贡献大于之前的错误。