Rsq from NMSE in NN

2 Ansichten (letzte 30 Tage)
vanrapa
vanrapa am 31 Mär. 2019
Bearbeitet: Greg Heath am 1 Apr. 2019
I am trying to find out the best number of hidden neurons for a network. I am training the network in a loop with different number of hidden neurons and storing the value of NMSE and Rsq for each iteration.
My ip database size is 20 x 714 and op database is 3 x 714. I am dividing the dataset as 70% training and 15% for validation and testing each.
I have computed NMSE and Rsq in the usual manner,
MSE00 = mean(var(trnopdb',1))
NMSE = mse(trnopdb'-net(trnipdb'))/MSE00
Rsq = 1 - NMSE
Now I have the following queries,
  1. The value of Rsq is negative. It does not lie between 0 and 1. What am I doing wrong?
  2. Also, matlab nnfit displays Rtraining, Rvalidation, Rtesting and Rall as positive values. So what is the relation between Rsq and the R values?
  3. Is it possible to extract the R values from the network info?
  4. Should I consider Rtesting as the network performance criteria or the other R values?
I am sure there might be lots of info about these trivial questions. Nonetheless I seem to have these doubts. So any help would be great. Thanks in advance.

Akzeptierte Antwort

Greg Heath
Greg Heath am 1 Apr. 2019
Bearbeitet: Greg Heath am 1 Apr. 2019
  1. NMSE = mse(trnopdb-net(trnipdb))/MSE00
i.e., NO TRANSPOSES
2. Rsq = R^2
3. Yes. Use separate calculations for the training, validation and training subsets.
4. I typically make 10 or more designs differing by random number initializations. Then I use the summary stats of NMSE.
Hope this helps
Thank you for formally accepting my answer
Greg

Weitere Antworten (0)

Produkte


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by