Problem with bias-variance tradeoff in neural network
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Alessandro Lo Presti
le 15 Avr 2017
Réponse apportée : Greg Heath
le 21 Avr 2017
Hi everyone, I've a problem with the error values returned by train function. In the first place, using:
[ net tr y e ] = train(net,x,t);
The matrix "e" returned has dimensions [number of classes x number of samples] but most of values has the negative sign. Why? What are those values? In which set these values relate? Training set, validation set or test set? In the second place, using:
biaserr = mean(e(:))
varerr = var(e(:))
despite the different size of the network (by inserting a different number of hidden units or by changing the number of hidden layer), I get always a bias value of zero. What are the causes of this phenomenon?
The dataset that use is unbalanced, in addition, whatever the number of hidden units or hidden layer get a maximum of 10% of the classification error.
0 commentaires
Réponse acceptée
Greg Heath
le 21 Avr 2017
I don't see how a net trained on a discontinuous target could be very useful for studying the error bias/variance tradeoff.
Therefore, it would be helpful for you to explicitly state what you expect to be demonstrated.
You should use a regression net (e.g., FITNET) with a predominately continuous input/output relation.
Furthermore, for a fixed network structure, differences in outputs will depend on initial weights. Therefore, for a fixed number of hidden nodes and layers at least 10 to 20 different nets from different random initial weights should be considered.
I would begin with the following goal:
Minimize the number of hidden nodes subject to the constraint that NMSE, the normalized mean-square-error, is less than 0.01 (i.e., Rsquare >= 0.99). Not all nets can achieve that goal. However, multiple trials will allow you to find the lowest achievable NMSE
Finally you should begin with the smaller regression data sets obtained using the commands
help nndatasets
and
doc nndatasets
as described in
Hope this helps.
P.S. I have designed zillions of regression nets in both the NEWSGROUP and ANSWERS.
You can find many of them by just adding adding
greg fitnet
to your search words.
Hope this helps.
Thank you for formally accepting my answer
Greg
0 commentaires
Plus de réponses (1)
Greg Heath
le 16 Avr 2017
Insufficient explanation:
I assume classification. For which the mean and variance of the error e = t-y is typically, irrelevant.
How many classes? Size of each class?
Dimensions of input and target matrices?
Are the targets [0,1] unit vectors?
Why aren't you using the MATLAB function PATTERNNET ?
Perplexed,
Greg
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!