Slow learning neural network
Mostrar comentarios más antiguos
Hi,
I actually try to train a neural network to make consumption prediction. I got one hidden layer and i would like to try different size for this hidden layer. I loop for 20 to 300, with 40 as a step. As trainning data i got 604 vectors of 240 values as input and 604 vector of 48 values as output. I split my trainning data in 2 parts (70% and 30%) one for trainning, and the other for validation and avoid overlearning.
Here the definition of my network : (i already tried with 'elliotsig')
net=feedforwardnet(i);
net.layers{1}.transferFcn = 'tansig';
net.layers{1}.initFcn = 'initnw';
net.layers{2}.transferFcn = 'tansig';
net.layers{2}.initFcn = 'initnw';
I don't use parallele toolbox. As a computer i got "Intel Corei7 CPU @ 3.10GHz 8 process. 32go memory.
So my probleme is it got already 1 hour to train my nn with 20 neurons in the hidden layer... And with 60 neurons it's still not finish after 10 hours :'(.. Did i miss something to reduce the calcul time? to much training data ?
Thanks for helping.
2 comentarios
Greg Heath
el 24 de Oct. de 2017
1. You should seriously consider BOTH input and output variable reduction. Even that obtained using MATLAB'S linear variable reduction models will probably be significant.
2. Next, given a maximum allowable error, try to minimize the number of hidden nodes using as many defaults as possible.
3. For each specified number of hidden nodes, try at least 10 to 20 different combinations of random initial weights.
Hope this helps.
Greg
Cylergie
el 26 de Oct. de 2017
Respuestas (0)
Categorías
Más información sobre Define Shallow Neural Network Architectures en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!