Linear Neural Network poor performance

1 Ansicht (letzte 30 Tage)
Triple G
Triple G am 12 Jun. 2020
Bearbeitet: Triple G am 12 Jun. 2020
I have been asked to build a linear neural network with a single hidden layer. All the layers (input, hidden and output) should have 3 nodes. So I have written the following code so far, with P and T a sample of the dataset:
P = [1.7500 1.8000 2.4000 1.4000; 3.3500 3.3000 3.3000 4.0000 ;4.2000 3.9500 2.5500 6.8000];
T = [0 0 0 1; 1 1 0 0; 0 0 1 0];
function testFF(P, T)
net = newff(P,T,3, {'purelin'});
net.trainParam.showCommandLine = 1;
net.trainParam.goal = 0.0001;
net.trainParam.lr = 0.1;
net.trainFcn = 'traingd';
net = train(net,P,T);
% Check network performance on training patterns.
EstimatedTrainingTargets = sim(net,P);
EstimatedTrainingTargets = round(EstimatedTrainingTargets);
Differences = abs(EstimatedTrainingTargets - T);
CorrectTrainClassificationRatio = 1 - (sum(sum(Differences)) / (2*size(P,2)))
First of all, is the above a valid implementation of a linear neural network?
Secondly, after I feed the input and output matrices, whose size is 3 X 22000, the networks prediction isnt accurate at all , for example for the first 4 inputs as given above, the output is:
0 0 0 0
0 0 0 0
0 0 0 0
and the CorrectTrainClassificationRatio for the whole data set is 0.4713.
I have tried different learning rates, training functions and parameters goals but the outcome doesn't change by much. How can I get better predictions?

Antworten (0)

Kategorien

Mehr zu Sequence and Numeric Feature Data Workflows finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by