• Main Page
  • Related Pages
  • Classes
  • Files
  • Examples
  • File List
  • File Members

MSERBFNet.h

Go to the documentation of this file.
00001 //===========================================================================
00045 //===========================================================================
00046 
00047 #ifndef MSERBFNET_H
00048 #define MSERBFNET_H
00049 
00050 #include "ReClaM/RBFNet.h"
00051 #include "Array/Array.h"
00052 
00053 //===========================================================================
00114 class MSERBFNet : public RBFNet
00115 {
00116 
00117 public:
00118 
00119 //===========================================================================
00146     MSERBFNet(unsigned numInput, unsigned numOutput, unsigned numHidden)
00147             : RBFNet(numInput, numOutput, numHidden)
00148     { }
00149 
00150 
00151 //===========================================================================
00176     MSERBFNet(const std::string &filename) : RBFNet(filename)
00177     {};
00178 
00179 
00180 
00181 
00182 //===========================================================================
00217     MSERBFNet(unsigned numInput, unsigned numOutput, unsigned numHidden,
00218               const Array<double> &_m,
00219               const Array<double> &_A,
00220               const Array<double> &_b,
00221               const Array<double> &_v)
00222             : RBFNet(numInput, numOutput, numHidden, _m, _A, _b, _v)
00223     {};
00224 
00225 
00226 
00227 
00228 //===========================================================================
00259     double error(Model& model, const Array< double >& input, const Array< double >& target)
00260     {
00261         Array<double> myParameter(model.getParameterDimension());
00262         for (int i = 0; i < model.getParameterDimension(); i++)
00263         {
00264             myParameter[i] = model.getParameter(i);
00265         }
00266         setParams(myParameter);
00267         return mse(input, target) / (double)outputDimension;
00268     }
00269 
00270 //===========================================================================
00303     double errorDerivative(Model& model, const Array< double >& input, const Array< double >& target, Array<double> &derivative)
00304     {
00305         Array <double> myParameter(model.getParameterDimension());
00306         for (int i = 0;i < model.getParameterDimension();i++)
00307         {
00308             myParameter[i] = model.getParameter(i);
00309         }
00310 
00311         setParams(myParameter);
00312 
00313         double mse = gradientMSE(input, target, derivative) / (double)outputDimension;
00314         derivative /= (double)outputDimension;
00315         return mse;
00316     }
00317 };
00318 
00319 
00320 #endif
00321 
  • Shark Main Page
  • Array
  • Rng
  • LinAlg
  • FileUtil
  • EALib
  • MOO-EALib
  • ReClaM
  • Fuzzy
  • Mixture
  • Tutorials
  • FAQ