Slow learning neural network
이전 댓글 표시
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
Greg Heath
2017년 10월 24일
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
2017년 10월 26일
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Define Shallow Neural Network Architectures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!