SPIDER The Spider Objects

RBFNET object


 
   Radial Basis Function Network object             
   a=rbfnet(hyperParam) 
  
   Generates an rbfnet object with given hyperparameters. The used basis
   functions are exp(-gamma*||x-z_i||)  where gamma and z_i can be optimized
  
  
     Hyperparameters (with defaults)
     nr_of_centers=1      -- the number of centers to be used
     init_with_kmeans=0   -- the centers are initialized with a kmeans 
     fixgamma=0           -- the variance is fixed. model parameter gamma
                             is used
     maxiter=2000         -- number of maximal iterations
     eps = 0              -- stopping criteria
   
     Model
      centers               -- the centers used for basis functions
      gamma                 -- estimated 1/2*variance^2 parameter
      alpha                 -- final coefficients
  
   Methods:
    train, test
  
   Example:
     Estimate Sinc Function  with Rbfnet and Bagged Rbfnet
  t=[-5:0.29:5]';
  ttest=[-5:0.06:5]';
  y=sin(t)./t+1e-2*randn(length(t),1);
  ytest=sin(ttest)./ttest+1e-1*randn(length(ttest),1);
  
  d=data(t,y)
  dtest=data(ttest,ytest)
  
  rbn=rbfnet('nr_of_centers=3');
  rbn.fixgamma=0; rbn.gamma=1e-3; rbn.eps=1e-5; rbn.init_with_kmeans =0;
  rbn.maxiter=500; rbn.algorithm.use_signed_output=0;
  a0=bagging(rbn,'bags=3');
  a0.algorithm.use_signed_output=0;
  [r,a]=train(group({rbn,a0}),d)
  a1=a.child{1};   this was the rbf net 
  r=test(a1,dtest);
  hold on;
  plot(ttest,ytest,'.')
  plot(ttest,r.X,'ro-'); 
  loss(r,'quadratic_loss')
  a2=a.child{2};   this was the bagged rbf net
  r=test(a2,dtest); 
  plot(ttest,r.X,'b+-');  loss(r,'quadratic_loss')
  legend({'true','Rbf','Bagged RBF'})
  plot(a1.centers,a.centers*0,'rx')

Reference : Neural Networks
Author : Chris Bishop