Thread Subject: approxiation by two steps? about radial basis function

Subject: approxiation by two steps? about radial basis function

From: Sandro

Date: 6 Dec, 2011 22:38:08

Message: 1 of 2

Dear All,

I came across with the issue of approximating a high dimensional function on scattered data, say the function is f = f(x1,...x20).

I tried naive polynomial approximation, which converges slowly and is getting more and more expensive and unstable when higher order terms added, but it does give reasonable results.

One suggest using radial basis function networks in matlab's toolbox for the task. I tried, but it seems that it can do a good job for interpolation, but when I use the interpolation results in an optimization problem, say max f, it does not return reasonable results.

I suspect i may use it in a wrong way.

Two steps I use:
net = newrb(X_old,f);
f_new = sim(net,X_new);

max f_new

I expect to see a slow down in the optimization part due to the more complexity of f from radial basis function approximation than f from lower order polynomials, but I don't understand why even the results seems wrong.

I notice this post
http://www.mathworks.com/matlabcentral/fileexchange/10056-scattered-data-interpolation-and-approximation-using-radial-base-functions
provides a version of radial basis function approximation. I tried, it works well, but i believe the under-performance of matlab function is due to my misunderstanding.

Please help~

Thanks a lot!

Best,
Sandro

Subject: approxiation by two steps? about radial basis function

From: Greg Heath

Date: 7 Dec, 2011 07:57:07

Message: 2 of 2

On Dec 6, 5:38 pm, "Sandro " <china...@gmail.com> wrote:
> Dear All,
>
> I came across with the issue of approximating a high dimensional function on scattered data, say the function is f = f(x1,...x20).
>
> I tried naive polynomial approximation, which converges slowly and is getting more and more expensive and unstable when higher order terms added, but it does give reasonable results.
>
> One suggest using radial basis function networks in matlab's toolbox for the task. I tried, but it seems that it can do a good job for interpolation, but when I use the interpolation results in an optimization problem, say max f, it does not return reasonable results.
>
> I suspect i may use it in a wrong way.
>
> Two steps I use:
> net = newrb(X_old,f);
> f_new = sim(net,X_new);
>
> max f_new
>
> I expect to see a slow down in the optimization part due to the more complexity of f from radial basis function approximation than f from lower order polynomials, but I don't understand why even the results seems wrong.
>
> I notice this posthttp://www.mathworks.com/matlabcentral/fileexchange/10056-scattered-d...
> provides a version of radial basis function approximation. I tried, it works well, but i believe the under-performance of matlab function is due to my >misunderstanding.
 > Please help~
help newrb
doc newrb
net = newrb(X_old,f, goal,spread,maxnoneurons);

In order to work well on nontraining data, you should specify the last
three inputs to make sure that you are not overtraining an overfit
net.This typically requires quite a bit of trial and error.

For additional discussions on overfitting and/or overtraining, see the
comp.ai.neural-nets FAQ. Also, search the CSSM archives in Google
Groups (or MATLAB Central):

5 threads for heath newrb overfitting overtraining

Neural Networks Question
Newrb with k-means training
*RBFNN Design using MATLAB's NEWRB
Retrain the created neural network
*Training Feed Forward Neural Networks

3 threads for heath newrb overfitting -overtraining

Question Regarding RBF?
Neural Network -- Incremental Training
train rfb newrb

2 threads for heath newrb -overfitting overtraining
See "*" above

Furthermore, since the basis functions are radial and not elliptical,
you should transform all of the variables to the same scale. I
recommend standardization (zero-mean/unit-variance)


Hope this helps.

Greg

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
radial basis fu... Sandro 6 Dec, 2011 17:39:11
fitting Sandro 6 Dec, 2011 17:39:11
scattered data Sandro 6 Dec, 2011 17:39:11
rssFeed for this Thread

Contact us at files@mathworks.com