24 #ifndef __REGULARISATION_H
25 #define __REGULARISATION_H
28 #include <selforg/controller_misc.h>
30 double inline sqr(
double x) {
35 double inline g(
double z)
41 double inline g_s(
double z)
53 return 1/((1+0.5 * z*z)*(1+0.5 * z*z));
60 return 1/(1.025 - k*k);
66 double inline g_s(
double z,
double xsi) {
67 double Z =
clip(z, -3.0, 3.0) +
clip(xsi, -1.0, 1.0);
75 double Z =
clip(z, -3.0, 3.0) +
clip(xsi, -1.0, 1.0);
83 double Z =
clip(z, -3.0, 3.0) +
clip(xsi, -1.0, 1.0);
91 double Z =
clip(z, -3.0, 3.0) +
clip(xsi, -1.0, 1.0);
100 double Z =
clip(z, -3.0, 3.0) +
clip(xsi, -1.0, 1.0);
108 double Z = z +
clip(xsi, -fabs(z), fabs(z));
115 double Z = z +
clip(xsi, -fabs(z)/2.0, fabs(z)/2.0);
122 double Z = z +
clip(xsi, -fabs(z)/2.0, fabs(z)/2.0);
131 return clip(z, -0.1, 0.1);
136 double inline squash(
void* d,
double z) {
137 double size = *((
double*)d);
138 return clip(z, -size, size);
double derive_g_s_inv_exact_clip(double z, double xsi)
with we get again with clipped Z
Definition: regularisation.h:99
double g_s_expand2(double z, double xsi)
which is the series expansion to the second order
Definition: regularisation.h:107
Definition: trackablemeasure.h:42
double squash(double z)
squashing function (-0.1 to 0.1), to protect against to large weight updates
Definition: regularisation.h:129
double g_ss_div_s_expand2(double z, double xsi)
with geometric series approximation
Definition: regularisation.h:121
double g_ss_div_s_soft(double z, double xsi)
an soft formula for g''/g' = -2Z, with clipped Z = z+xsi
Definition: regularisation.h:89
double g_derivative(double z)
first dervative with smoothing for large z
Definition: regularisation.h:51
double g_s(double z)
first dervative
Definition: regularisation.h:41
double g_s_inv(double z)
inverse of the first derivative
Definition: regularisation.h:57
double clip(double r, double x)
clipping function for mapP
Definition: controller_misc.cpp:39
double g(double z)
neuron transfer function
Definition: regularisation.h:35
double g_ss_div_s(double z, double xsi)
an exact formula for g''/g'= -2g(Z), with clipped Z = z+xsi
Definition: regularisation.h:81
double g_s_soft(double z, double xsi)
soft version: with additional clipping
Definition: regularisation.h:74
double g_s_inv_expand2(double z, double xsi)
with geometric series approximation
Definition: regularisation.h:114
double sqr(double x)
Definition: regularisation.h:30