Finding best neural network structure using optimization algorithms and cross-validation
Hi.
I’m using optimization algorithm to find best structure+inputs of a ‘patternnet’ neural network in MATLAB R2014a using 5-fold cross validation. Where should i initialize weights of my neural network?
*Position_1(for weight initialization)* for i=1:num_of_loops
*Position_2(for weight initialization)* - repeating cross validation
for i=1:num_of_kfolds
*Position_3(for weight initialization)*
- Cross validation loop end
end
I’m repeating 5-fold cross validation (because random selection of cross validation) to have more reliable outputs (average of neural network outputs). Which part is better for weight initialization (Position_1,Position_2 or Position_3) and why?
ANSWER
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
To help understanding, I will assume Nval = Ntst = 0. Search for the nonzero examples in the NEWSGROUP and ANSWERS.
To design a typical I-H-O net with Ntrn training examples, try to not let the number of unknown weights
Nw = (I+1)*H+(H+1)*O
exceed the number of training equations
Ntrneq = Ntrn*O
This will occur as long as H <= Hub where Hub is the upperbound
Hub = -1+ceil( (Ntrneq-O) / (I+O+1) )
Based on Ntrneq and Hub I decide on a set of numH candidate values for H
0 <= Hmin:dH:Hmax <= Hmax numH = numel(Hmin:dH:Hmax)
and the number of weight initializations for each value of H, e.g.,
SEE COMPLETE ANSWER CLICK THE LINK