public enum SquashingFunction extends java.lang.Enum<SquashingFunction>
Enum Constant and Description |
---|
ARCTAN
Arctangent.
|
LOGISTIC
Logistic Function.
|
NULL_STRING
The Null String "..." used in cases where neurons with different
squashing functions are selected simultaneously.
|
TANH
Hyperbolic Tangent.
|
Modifier and Type | Method and Description |
---|---|
static double |
atan(double val,
double ceil,
double floor,
double slope)
The arctan function given an upper and lower limit and slope for a
particular value.
|
static double |
derivAtan(double val,
double ceil,
double floor,
double slope)
The derivative of the arc tangent given the original function's upper and
lower bounds, and slope for a given value.
|
static double |
derivLogistic(double val,
double ceil,
double floor,
double slope)
The derivative of the logistic function given the original function's
upper and lower bounds, and slope for a given value.
|
static double |
derivTanh(double val,
double ceil,
double floor,
double slope)
The derivative of the hyperbolic tangent given the original function's
upper and lower bounds, and slope for a given value.
|
abstract double |
derivVal(double val,
double ceil,
double floor,
double slope)
Gives the value of the derivative of the given squashing function for
some input value, a ceiling, floor, and slope.
|
abstract double |
getDefaultLowerBound() |
abstract double |
getDefaultUpperBound() |
static double |
invAtan(double val,
double ceil,
double floor,
double slope)
Returns the result of the inverse arctangent or tangent function.
|
abstract double |
inverseVal(double val,
double ceil,
double floor,
double slope)
Gives the value of the inverse of the given squashing function for some
input value, a ceiling, floor, and slope.
|
static double |
invLogistic(double val,
double ceil,
double floor,
double slope)
Returns the results of the inverse of the standard sigmoidal (logistic)
function.
|
static double |
invTanh(double val,
double ceil,
double floor,
double slope)
The inverse hyperbolic tangent given an upper and lower limit and slope
for a particular value for the hyperbolic tangent before being inverted.
|
static double |
logistic(double val,
double ceil,
double floor,
double slope)
The logistic function given an upper and lower limit and slope for a
particular value.
|
static double |
tanh(double val,
double ceil,
double floor,
double slope)
The hyperbolic tangent given an upper and lower limit and slope for a
particular value.
|
abstract double |
valueOf(double val,
double ceil,
double floor,
double slope)
Gives the value of the given squashing function for some input value, a
ceiling, floor, and slope.
|
static SquashingFunction |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static SquashingFunction[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final SquashingFunction ARCTAN
public static final SquashingFunction LOGISTIC
public static final SquashingFunction TANH
public static final SquashingFunction NULL_STRING
public static SquashingFunction[] values()
for (SquashingFunction c : SquashingFunction.values()) System.out.println(c);
public static SquashingFunction valueOf(java.lang.String name)
name
- the name of the enum constant to be returned.java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is nullpublic abstract double valueOf(double val, double ceil, double floor, double slope)
val
- the base value to pass the functionceil
- the upper limit of the curvefloor
- the lower limit of the curveslope
- the slope of the curve at zeropublic abstract double inverseVal(double val, double ceil, double floor, double slope)
val
- the base value to pass the inverse functionceil
- the upper limit of the squashing function being invertedfloor
- the lower limit of the squashing function being invertedslope
- the slope of the squashing function being inverted at zeropublic abstract double derivVal(double val, double ceil, double floor, double slope)
val
- the base value to pass the functionceil
- the upper limit of the curvefloor
- the lower limit of the curveslope
- the slope of the curve at zeropublic abstract double getDefaultUpperBound()
public abstract double getDefaultLowerBound()
public static double tanh(double val, double ceil, double floor, double slope)
val
- the input to the tanh functionceil
- the desired maximum value (upper boundary) of tanhfloor
- the desired minimum value (lower boundary) of tanhslope
- the desired slope of the tanh function for val == 0public static double logistic(double val, double ceil, double floor, double slope)
val
- the input to the logistic functionceil
- the desired maximum value (upper boundary) of logisticfloor
- the desired minimum value (lower boundary) of logisticslope
- the desired slope of the logistic function for val == 0public static double atan(double val, double ceil, double floor, double slope)
val
- the input to the arctan functionceil
- the desired maximum value (upper boundary) of arctanfloor
- the desired minimum value (lower boundary) of arctanslope
- the desired slope of the arctan function for val == 0public static double invTanh(double val, double ceil, double floor, double slope)
val
- the input to the inverse tanh functionceil
- the desired maximum value (upper boundary) of the tanh
function that this is an inverse offloor
- the desired minimum value (lower boundary) of the tanh
function that this is an inverse ofslope
- the desired slope of the tanh function function that this is
an inverse of for val == 0public static double invLogistic(double val, double ceil, double floor, double slope)
val
- the input to the inverse logistic functionceil
- the desired maximum value (upper boundary) of the logistic
function that this is an inverse offloor
- the desired minimum value (lower boundary) of the logistic
function that this is an inverse ofslope
- the desired slope of the logistic function function that
this is an inverse of for val == 0public static double invAtan(double val, double ceil, double floor, double slope)
val
- the input to the inverse arctan (tan) functionceil
- the desired maximum value (upper boundary) of the arctan
function that this is an inverse offloor
- the desired minimum value (lower boundary) of the arctan
function that this is an inverse ofslope
- the desired slope of the arctan function function that this
is an inverse of for val == 0public static double derivTanh(double val, double ceil, double floor, double slope)
val
- the input to the derivative of the tanh functionceil
- the desired maximum value (upper boundary) of the tanh
function that this is the derivative offloor
- the desired minimum value (lower boundary) of the tanh
function that this is the derivative ofslope
- the desired slope of the tanh function function that this is
the derivative of for val == 0public static double derivLogistic(double val, double ceil, double floor, double slope)
val
- the input to the derivative of the logistic functionceil
- the desired maximum value (upper boundary) of the logistic
function that this is the derivative offloor
- the desired minimum value (lower boundary) of the logistic
function that this is the derivative ofslope
- the desired slope of the logistic function function that
this is the derivative of for val == 0public static double derivAtan(double val, double ceil, double floor, double slope)
val
- the input to the derivative of arctan (tan) functionceil
- the desired maximum value (upper boundary) of the arctan
function that this is the derivative offloor
- the desired minimum value (lower boundary) of the arctan
function that this is the derivative ofslope
- the desired slope of the arctan function function that this
is the derivative of for val == 0