Optimum MSE for neural networks

Illustration
Newman - 2021-08-04T09:56:24+00:00
Question: Optimum MSE for neural networks

hi, I was designing a neural network using the app in Matlab and I the MSE (mean squared error)that I got in the training set is 100-200. I don't have any more data to improve the network. So, should I go forward with the network or improve it in any other way?  

Expert Answer

Profile picture of John Williams John Williams answered . 2025-11-20

Impossible to tell without knowing or being able to calculate the normalized degree-of-freedom-adjusted (DOFA) training subset MSE (NMSEtrna) or the corresponding Rsquare or coefficient of determination (Rsqtrna = 1-NMSEtrna).
Search Rsquare and "coefficient of determination" on Google and Wikipedia.
 
Calculations can be made as follows
 [ I N ]    = size(x)
 [ O N ]    = size(t) = size(y)
 Ntrn      = No. of training examples ( Ntrn ~ 0.7*N is default )
 Ntrneq    = Ntrn*O  % No. of training equations
 MSEtrn00  = mean(var(ttrn',1))% avg training target variance
 SSEtrn    = sse(ttrn-ytrn)
 MSEtrn    = SSEtrn/Ntrneq
 NMSEtrn   = MSEtrn/MSEtrn00
 Rsqtrn    = 1 - NMSEtrn

Adjustments ("a") for degrees of freedom lost when evaluating the net with the same data that was used to estimate the weights:

 

 H         = number of hidden nodes
 Nw       = (I+1)*H+(H+1)*O  %  No. of unknown weights
 Ndof     =  Ntrneq - Nw     % No. of DOF
 MSEtrn00a = mean(var(ttrn',0))
NOTE: If there are more unknown weights than equations, Ndof < 0 and special methods like trainbr and/or regularization are required. Otherwise,
 
For DOFA with Ndof > 0:
 
 MSEtrna   = SSEtrn/Ndof
 NMSEtrna  = MSEtrna/MSEtrn00a
 Rsqtrna   = 1 - NMSEtrna

For many problems an appropriate training goal is

 R2sqtrna >= 0.99

or

 MSEtrn <= MSEtrngoal = 0.01*max(Ndof,0)*MSEtrn00a/Ntrneq

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!