How do I know the number of the hidden nodes in ANN ?

Illustration
simran - 2021-07-02T09:58:59+00:00
Question: How do I know the number of the hidden nodes in ANN ?

Hi All having an ANN network , in I inputs and O outputs, how do we know the number of hidden nodes? is it related to the number of hidden layers ? when designing an I H O topology , when you set the Hmax and Hmin and dH , you can change the number of trials by changing any of the Hmin , Hmax or even dH what is the main rule ? and advised relation between dH and Hmin ? should they be specific numbers ?

Expert Answer

Profile picture of Kshitij Singh Kshitij Singh answered . 2025-11-20

[I N ] = size(input)         % size("I"nput)

[O N ] = size(target)        % size("O"utput)

Ntrn   = N - 2*round(0.15*N) % Default no. of training examples ~ 0.7*N

Ntrneq = Ntrn*O              % No. of training equations 

Nw     = (I+1)*H +(H+1)*O    % No. of unknown weights for H = number of hidden nodes
Overfitting ( Nw > Ntrneq ) allows decreased performance on nontraining (e.g., val, test and unseen) data
Since H > ( Ntrneq -O )/(I+O+1) for overfitting, one training strategy is H <= Hub or preferably, H << Hub where
 
     Hub = -1 + ceil( (Ntrneq - O) / (I+O+1) ) % integer H
My training strategy:
Minimize the number of hidden nodes subject to the constraint that the mean-square-error is less than 1 percent of the mean target variance
 
     net.trainPerform.goal = 0.01*mean(var(target',1)))
Very often this is accomplished by trial and error subject to
 
 
     0 <= Hmin <= H <= Hmax <= Hub
However, sometimes it is necessary to exceed Hub. The mitigation for this is
 
 
     Validation Stopping and/or regularization (e.g., msereg or TRAINBR}


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!