Generate feedforward neural network
Feedforward networks consist of a series of layers. The first layer has a connection from the network input. Each subsequent layer has a connection from the previous layer. The final layer produces the network’s output.
You can use feedforward networks for any kind of input to output mapping. A feedforward network with one hidden layer and enough neurons in the hidden layers can fit any finite input-output mapping problem.
A variation on the feedforward network is the cascade forward network, which has
additional connections from the input to every layer, and from each layer to all following
layers. For more information on cascade forward networks, see the
Construct and Train a Feedforward Neural Network
This example shows how to use a feedforward neural network to solve a simple problem.
Load the training data.
[x,t] = simplefit_dataset;
The 1-by-94 matrix
x contains the input values and the 1-by-94 matrix
t contains the associated target output values.
Construct a feedforward network with one hidden layer of size 10.
net = feedforwardnet(10);
Train the network
net using the training data.
net = train(net,x,t);
View the trained network.
Estimate the targets using the trained network.
y = net(x);
Assess the performance of the trained network. The default performance function is mean squared error.
perf = perform(net,y,t)
perf = 1.4639e-04
hiddenSizes — Size of the hidden layers
10 (default) | row vector
Size of the hidden layers in the network, specified as a row vector. The length of the vector determines the number of hidden layers in the network.
Example: For example, you can specify a network with 3 hidden layers, where the first
hidden layer size is 10, the second is 8, and the third is 5 as follows:
The input and output sizes are set to zero. The software adjusts the sizes of these during training according to the training data.
trainFcn — Training function name
'trainlm' (default) |
'trainscg' | ...
Training function name, specified as one of the following.
Scaled Conjugate Gradient
Conjugate Gradient with Powell/Beale Restarts
Fletcher-Powell Conjugate Gradient
Polak-Ribiére Conjugate Gradient
One Step Secant
Variable Learning Rate Gradient Descent
Gradient Descent with Momentum
Example: For example, you can specify the variable learning rate gradient descent
algorithm as the training algorithm as follows:
For more information on the training functions, see Train and Apply Multilayer Shallow Neural Networks and Choose a Multilayer Neural Network Training Function.
net — Feedforward network
Feedforward neural network, returned as a
Introduced in R2010b