I've trained fitnet network for prediction steel's yield stress with MATLAB ann
toolbox.
The neural network should predict yield stress. I have about 250 vector inputs. Every input vector has 12 parameters as inputs plus one parameter as target (yield stress).
ann
should predict yield stress.
The inputs are weight percent of chemical elements that are used in steel.
Here is my code snippet:
inputs=transpose(inputs);
targets=transpose(targets);
net = feedforwardnet(20);
%net.trainParam.max_fail=1000
% Setup Division of Data for Training, Validation, Testing
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
% Train the Network
[net, tr] = train(net,inputs,targets);
Here are the ann
training results:
Here is the regression plot:
Here is the actual output (green) and neural network output (red) charts in one diagram:
As it can be seen the charts are not overlapping. This means that network has not worked well.
How can I improve results? Should I use other network or topology. Is my data very noisy or incorrect or they are less to train ann
?
I've taken data from here: