Neural Network - R value equal 1- Over-fitting or not?

Dear All;
I built a neural network model for regression as shown below but I got an R value equal 0.99998 which is almost 1. Does this indicate that I have overfitting? If yes, then how can I prevent or avoid overfitting?
% Read input and output vaules
data=readtable ('GOSP_DATA_Final.xlsx','sheet','Data');
I1=data.Ta;
I2=data.LPPT_P;
I=[I1 I2];
I=I';
T=data.LR;
T=T';
% Normalization between -1 and 1
[I,ps] = mapminmax(I);
[T,ts] = mapminmax(T);
% Building Network
h= 10;
net= fitnet(h);
[net,tr] = train(net, I, T);
% Teting Neural networl
tInd= tr.testInd;
tstOutput=net(I(:,tInd));
tstOutput = mapminmax('reverse',tstOutput,ts);
T(tInd)= mapminmax('reverse',T(tInd),ts);
tstperformance = perform(net, T(tInd), tstOutput)
figure (1),
plotregression(T(tInd),tstOutput);

Answers (1)

If the calculated R value is almost same for all the three Train, Test and Validation sets then your model is no near to Overfitting. If you observe that the calculated R for training set is more than that for validation and test sets then your network is Over fitting on the training set. You can refer to Improve Shallow Neural Network Generalization and Avoid Overfitting.

1 Comment

@Srivardhan Gadila, they will all be different, always. I think the question is : how much different can the R of the Training set be from the R of the Validation or Test set before overfitting begins to be a concern?

Sign in to comment.

Asked:

on 5 Aug 2019

Commented:

on 23 Jun 2022

Community Treasure Hunt

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

Start Hunting!