Why the neural network creates the same output values for the different inputs?

2 views (last 30 days)
I created a neural network model as you can see the model code. Firstly I normalized the data between 0 and 1, then I divided the input and target data for test and validation. I see that the all validation output values (y) is the same. I checked the normalized validation input data, it doesn't contain an error.
(Xtn: Normalized input test values, Xvn: Normalized input validation values, Ytn: Normalized target test values, Y:Normalized validation output values, Ye: Denormalized validation output values)
Can you help me?
Data=xlsread('Data31.10.xlsx'); Input=Data(:,4:12); Target=Data(:,end);
I=Input';
T=Target';
A=minmax(I); Min=A(:,1); Max=A(:,2); Fark=Max-Min; In=(I-Min)./Fark;
Tmin=min(T); Tmax=max(T);
nofdata=size(In,2);
ntd=round(nofdata*trainingrate);
Xtn=In(:,1:ntd);
Xvn=In(:, ntd+1:end);
Yt=T(1:ntd);
Yv=T(ntd+1:end);
Ytn=(Yt-Tmin)./(Tmax-Tmin);
net=newff(Xtn, Ytn, [n1,n2], {'logsig', 'logsig', 'logsig'}, 'trainlm');
net=train(net,Xtn,Ytn);
y=sim(net,Xvn);
ye=y*(Tmax-Tmin)+Tmin;
  3 Comments
Perihan Bilgeç
Perihan Bilgeç on 6 Nov 2018
I couldn't get an answer. Can somebody help me what the problem is about it. Thanks a lot.

Sign in to comment.

Answers (1)

Greg Heath
Greg Heath on 7 Nov 2018
Where is your training data?
Typically, the data division is
train/val/test = 70%/15%/15%
Hope this helps,
Greg
  1 Comment
Perihan Bilgeç
Perihan Bilgeç on 7 Nov 2018
I defined a trainingrate and I divided the data with using this rate. Xtn is the testing data, Xvn is the validation data.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!