Rsq from NMSE in NN

4 vues (au cours des 30 derniers jours)
vanrapa
vanrapa le 31 Mar 2019
Modifié(e) : Greg Heath le 1 Avr 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.

Réponse acceptée

Greg Heath
Greg Heath le 1 Avr 2019
Modifié(e) : Greg Heath le 1 Avr 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

Plus de réponses (0)

Catégories

En savoir plus sur Sequence and Numeric Feature Data Workflows dans Help Center et File Exchange

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by