Choosing the best set of initial weights of a neural network to train all dataset
Mostra commenti meno recenti
I am developing a neural network for pattern recognition in Matlab.
Currently:
1) I divide my dataset into 6 folds (5 folds CV + 1 fold Test, which represent unseen data);
2) I choose 10 different number of hidden neurons;
3) I choose 10 different sets of initial weights (random);
4) For each fold (as test) (k);
- For each number of hidden neurons (i);
- - For each set of initial weights (j);
- - - I perform 5 fold CV (4 training and 1 early stop), saving the average performance (R^2) on Training Validation and Test and the average number of epochs of training across all iterations of the crossvalidation ([i,j,k] element of the result matrixes);
5) Averaging across the 6 different choices of test folds (k) (10x10x6 -> 10x10) I obtain a general estimate of the different models accross the entire DataSET considered as unseen data;
6) I choose the optimal number of hidden neurons as the value that describes the model which performs better in average across 10 iteration of different sets of initial weights (j);
7) I choose the number of training epochs as the average of training epochs found across the ten iteration of initial weights (j) for all possible choice of test set (k);
Now i have the number of hidden neurons and the number of epochs to train the final model on all data.
My question is how should i choose the initial set of weights ? Should I choose again ten sets of initial weights and train 10 different networks with the previous defined parameters to find the best ? In this case (since i don't have validation and test), the resulted net will not be overfitted?
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Deep Learning Toolbox in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!