Why the neural network creates the same output values for the different inputs?
Show older comments
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
Greg Heath
on 4 Nov 2018
size(I) = ?
size(T) = ?
Greg Heath
on 5 Nov 2018
Reply by Perihan Bilgeç
size(I) = [9 1756 ]
size(T) = [1 1756 ]
Perihan Bilgeç
on 6 Nov 2018
Answers (1)
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ç
on 7 Nov 2018
Categories
Find more on Define Shallow Neural Network Architectures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!