Why the neural network creates the same output values for the different inputs?
2 ビュー (過去 30 日間)
古いコメントを表示
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;
回答 (1 件)
Greg Heath
2018 年 11 月 7 日
Where is your training data?
Typically, the data division is
train/val/test = 70%/15%/15%
Hope this helps,
Greg
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!