Slow learning neural network
Show older comments
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 Comments
Greg Heath
on 24 Oct 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
on 26 Oct 2017
Answers (0)
Categories
Find more on Define Shallow Neural Network Architectures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!