MATLAB: Neural Network help

Deep Learning Toolboxneural networktoolbox

Hello everyone, I'm trying to create a neural network which relates voltage(input) to air gap depth(output). There is no training happening after I use the train command, my network outputs the target values. I want to fix that. Also, something extra, each value in one sample in the input corresponds to a frequency value.(for example V1=[1 2 3], the value 1 is at 1GHz frequency, 2 at 1.1GHz…etc) Is there any way to relate the inputs to the frequency maybe as a pair?
-The code I used:
D = [4 8 12 16 20 24 28 32];
DO = [D;D;D].'; %the air gap depth for each sample is the same, why can't I use one "D" ?
V2 = [777 786 780 772 774 767 762 753];
V3 = [595 600 602 598 606 605 602 590];
V4 = [580 581 594 602 603 609 630 633];
VI = [V2;V3;V4].';
NET = feedforwardnet(10);
NET.trainParam.goal=1e-10; %I tried to change the error to see if there is any change
NET = train(NET,VI,DO);
%Testing
Y = NET(VI)

Best Answer

The concept is very simple:
NNs are good interpolators.
NNs are NOT GOOD extrapolators.
Regardless of the physical source of the data:
1. The input and output must be correlated. This does not necessarily mean that there is a causal relationship. Both may be the result of the sanother source, known or uknown, for which there are no direct measurements.
2. If the statistical characteristics of the nontraining data are not similar to those of the training data, the net should not be expected to perform well.
If new data does not fulfill this criterion, a new net with representative training data should be designed.
Hope this helps.
Greg