# Finding best neural network structure using optimization algorithms and cross-validation

Original Source Here

# 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?

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.,