24 #ifndef __FEEDFORWARDNN_H
25 #define __FEEDFORWARDNN_H
50 virtual void damp(
double damping) =0 ;
54 static double linear(
double z) {
return z;}
55 static double dlinear(
double ) {
return 1;}
56 static double invlinear(
double z,
double xsi) {
return xsi;}
58 static double tanh(
double z) { return ::tanh(z); }
59 static double dtanh(
double z) {
double k =
::tanh(z);
return 1-k*k; }
63 static double tanhc(
double z) { return ::tanh(z); }
64 static double dtanhc(
double z) {
double k =
::tanh(
clip(z, -3.0, 3.0));
return 1-k*k; }
67 static double tanhr(
double z) { return ::tanh(z); }
69 static double dtanhr(
double z) {
return 1.0/(1.0+z*z); }
72 static double sigmoid(
double z) {
return 1/(1+exp(-z)); }
static double tanhr(double z)
Definition: feedforwardnn.h:67
abstract class (interface) for invertable models.
Definition: invertablemodel.h:33
virtual void damp(double damping)=0
damps the weights and the biases by multiplying (1-damping)
double g_s_expand2(double z, double xsi)
which is the series expansion to the second order
Definition: regularisation.h:107
double(* InvActivationFunction)(double, double)
inverse of Activation function with respect to some membrane potential and a certain output error...
Definition: feedforwardnn.h:38
static double dsigmoid(double z)
Definition: feedforwardnn.h:73
static double invtanh(double z, double xsi)
Definition: feedforwardnn.h:60
static double dtanhc(double z)
Definition: feedforwardnn.h:64
FeedForwardNN(const std::string &name, const std::string &revision)
Definition: feedforwardnn.h:45
double clip(double r, double x)
clipping function for mapP
Definition: controller_misc.cpp:39
abstract class (interface) for feed forward rate based neural networks
Definition: feedforwardnn.h:41
static double invsigmoid(double z, double xsi)
Definition: feedforwardnn.h:74
static double dlinear(double)
Definition: feedforwardnn.h:55
static double tanhc(double z)
Definition: feedforwardnn.h:63
double(* ActivationFunction)(double)
activation function type: input: membrane potential
Definition: feedforwardnn.h:34
static double dtanhr(double z)
Definition: feedforwardnn.h:69
static double linear(double z)
Definition: feedforwardnn.h:54
static double dtanh(double z)
Definition: feedforwardnn.h:59
static double tanh(double z)
Definition: feedforwardnn.h:58
static double sigmoid(double z)
Definition: feedforwardnn.h:72
static double invlinear(double z, double xsi)
Definition: feedforwardnn.h:56
virtual ~FeedForwardNN()
Definition: feedforwardnn.h:47