Clear Filters
Clear Filters

How to choose "Nlocmin,Nlocmax" in non linear regression and curve fitting?

4 views (last 30 days)
How can one choose "Nlocmin and Nlocmax" values for non linear regression using ANN feedforwardnet in the code mentioned by Greg sir??
Link to the thread
2. Estimate, by trial and error, the minimum number of hidden nodes necessary for successfully approximating the underlying input-output transformation. For a smooth function with Nlocmin local minima and Nlocmax local maxima, a reasonable lower
bound is H >= 2*max(Nlocmin,Nlocmax). Sometimes it is prudent to count endpoint extrema as 1/2 a local extremum. The addition of real-world noise, interference and measurement error should not change that minimum number. However, the contamination may make it difficult to identify the significant error-free extrema.
Thanks
Kishore

Accepted Answer

Greg Heath
Greg Heath on 28 Mar 2015
Edited: Greg Heath on 28 Mar 2015
Plot the target and count the number of local extrema.
This will only work for relatively smooth functions.
Otherwise use the search over
Hmin:dH:Hmax < Hub
with a preference for Hmax << Hub
For details, search NEWSGROUP and ANSWERS using
greg Hub
Hope this helps
Thank you for formally accepting my answer
Greg
  2 Comments
Kishore
Kishore on 30 Mar 2015
Edited: Kishore on 30 Mar 2015
1) What should be the criteria for selecting number of hidden neurons
Hub ?? or Ndof ??
2) I put 2 for loops in my code one for varying number of neurons and one for Ntrails, i ran the code for until i get the Ndof as negative quantity..
i get this result
R2 values for H = 0 to 3 and Ntrails = 1 to 10
0.753160684721697 0.815846821332570 0.935058715861745 0.954252137206118
0.753160684721697 0.815846821332570 0.935884289937718 0.980321755267376
0.753160684721697 0.815846821332570 0.917201138717953 0.997488719109723
0.753160684721697 0.815846821332570 0.930553054754834 0.960149651411815
0.753160684721697 0.762563239630275 0.951581078215140 0.993348125338601
0.753160684721697 0.815846821332570 0.900031911479721 0.979790825957402
0.753160684721697 0.815846821332570 0.885977723609531 0.998753726801378
0.753160684721697 0.815846821332570 0.895716885586277 0.999055291675377
0.753160684721697 0.815846821332570 0.931318496839154 0.960757183796528
0.753160684721697 0.779425009498547 0.918015150082236 0.947511177559573
my question is that how to choose particular number of hidden layers and Ntrails and how to reproduce the same R2??
suppose if i choose H=3 and Ntrails = 8 where i am getting R2 as 0.999
Thanks
Kishore
Greg Heath
Greg Heath on 4 Apr 2015
1. Initialize the random number state before the loops and choose the 38th after that
2. Store the random number state before each design
3. Store the random number state and corresponding net if the new MSE is smaller than the previous minimum.

Sign in to comment.

More Answers (0)

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!