| Neural Network Toolbox | |
| Provide feedback about this page |
Focused Time-Delay Neural Network (newfftd)
Begin with the most straightforward dynamic network, which consists of a feedforward network with a tapped delay line at the input. This is called the focused time-delay neural network (FTDNN). This is part of a general class of dynamic networks, called focused networks, in which the dynamics appear only at the input layer of a static multilayer feedforward network. The following figure illustrates a two-layer FTDNN.
This network is well suited to time-series prediction. The following demonstrates the use of the FTDNN for predicting a classic time series.
The following figure is a plot of normalized intensity data recorded from a Far-Infrared-Laser in a chaotic state. This is a part of one of several sets of data used for the Santa Fe Time Series Competition [WeGe94]. In the competition, the objective was to use the first 1000 points of the time series to predict the next 100 points. Because the objective is simply to illustrate how to use the FTDNN for prediction, the network is trained to perform one-step-ahead predictions. (You can use the resulting network for multistep-ahead predictions by feeding the predictions back to the input of the network and continuing to iterate.)
The first step is to load the data, normalize it, and convert it to a time sequence (represented by a cell array):
Now create the FTDNN network, using the newfftd command. This command is similar to the newff command, described on page 5-11, with the additional input of the tapped delay line vector (the second input). For this example, use a tapped delay line with delays from 1 to 8, and use five neurons in the hidden layer:
Arrange the network inputs and targets for training. Because the network has a tapped delay line with a maximum delay of 8, begin by predicting the ninth value of the time series. You also need to load the tapped delay line with the eight initial values of the time series (contained in the variable Pi):
Notice that the input to the network is the same as the target. Because the network has a minimum delay of one time step, this means that you are performing a one-step-ahead prediction.
Now simulate the network and determine the prediction error.
This result is much better than you could have obtained using a linear predictor, such as those shown in Linear Filters. You can verify this with the following commands, which design a linear filter with the same tapped delay line input as the previous FTDNN. (Because newlind creates a tapped delay line that contains a zero delay, you need to shift the input to the network by one time step.)
p = y(8:end-1); clear Pi Pi=y(1:7); lin_net = newlind(p,t,Pi); lin_yp = sim(lin_net,p,Pi); lin_yp = cell2mat(lin_yp); lin_e = lin_yp-cell2mat(t); lin_rmse = sqrt(mse(lin_e)) lin_rmse = 0.1807
The rms error is 0.1807 for the linear predictor, but 0.0260 for the nonlinear FTDNN predictor.
One nice feature of the FTDNN is that it does not require dynamic backpropagation to compute the network gradient. This is because the tapped delay line appears only at the input of the network, and contains no feedback loops or adjustable parameters. For this reason, you will find that this network trains faster than other dynamic networks.
If you have an application for a dynamic network, try the linear network first (newlind) and then the FTDNN (newfftd). If neither network is satisfactory, try one of the more complex dynamic networks discussed in the remainder of this chapter.
| Provide feedback about this page |
![]() | Introduction | Distributed Time-Delay Neural Network (newdtdnn) | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |