Function fitting neural network
Construct and Train a Function Fitting Network
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 function fitting neural network with one hidden layer of size 10.
net = fitnet(10);
View the network.
The sizes of the input and output are zero. The software adjusts the sizes of these during training according to the training data.
Train the network
net using the training data.
net = train(net,x,t);
View the trained network.
You can see that the sizes of the input and output are 1.
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
The default training algorithm for a function fitting network is Levenberg-Marquardt (
'trainlm' ). Use the Bayesian regularization training algorithm and compare the performance results.
net = fitnet(10,'trainbr'); net = train(net,x,t);
y = net(x); perf = perform(net,y,t)
perf = 3.3416e-10
The Bayesian regularization training algorithm improves the performance of the network in terms of estimating the target values.
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 — Function fitting network
Function fitting network, returned as a
Function fitting is the process of training a neural network on a set of inputs in order to produce an associated set of target outputs. After you construct the network with the desired hidden layers and the training algorithm, you must train it using a set of training data. Once the neural network has fit the data, it forms a generalization of the input-output relationship. You can then use the trained network to generate outputs for inputs it was not trained on.