libradialfunctions.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Neural Network Framework. *
3  * Copyright (C) 2005-2011 Gianluca Massera <emmegian@yahoo.it> *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the Free Software *
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
18  ********************************************************************************/
19 
20 #ifndef LIBRADIALFUNCTIONS_H
21 #define LIBRADIALFUNCTIONS_H
22 
23 #include "nnfwconfig.h"
24 
30 #include "outputfunction.h"
31 
32 namespace farsa {
33 
37 class FARSA_NNFW_API GaussFunction : public OutputFunction {
38 public:
40  GaussFunction( double centre = 0.0, double variance = 1.0, double maxvaule = 1.0 );
42  virtual ~GaussFunction() { /* Nothing to do */ };
44  bool setVariance( double v );
46  double variance();
48  virtual void apply( DoubleVector& inputs, DoubleVector& outputs );
50  virtual bool derivate( const DoubleVector& x, const DoubleVector& y, DoubleVector& d ) const;
61  virtual void configure(ConfigurationParameters& params, QString prefix);
69  virtual void save(ConfigurationParameters& params, QString prefix);
71  double centre;
73  double max;
74 private:
75  // variance
76  double variancev;
77  // minus squared-variance
78  double msqrvar;
79 };
80 
81 }
82 
83 #endif
84 
This file contains the common type defitions used on the whole framework.
double max
Maximum value of GaussFunction.
OutputFunction Class.
double centre
Centre of GaussFunction.
This file contains the declaration of the abstract OutputFunction Class.
virtual ~GaussFunction()
Destructor.