Enum fann_sys::fann_activationfunc_enum [] [src]

pub enum fann_activationfunc_enum {
    FANN_NONE,
    FANN_LINEAR,
    FANN_THRESHOLD,
    FANN_THRESHOLD_SYMMETRIC,
    FANN_SIGMOID,
    FANN_SIGMOID_STEPWISE,
    FANN_SIGMOID_SYMMETRIC,
    FANN_SIGMOID_SYMMETRIC_STEPWISE,
    FANN_GAUSSIAN,
    FANN_GAUSSIAN_SYMMETRIC,
    FANN_GAUSSIAN_STEPWISE,
    FANN_ELLIOTT,
    FANN_ELLIOTT_SYMMETRIC,
    FANN_LINEAR_PIECE,
    FANN_LINEAR_PIECE_SYMMETRIC,
    FANN_SIN_SYMMETRIC,
    FANN_COS_SYMMETRIC,
    FANN_SIN,
    FANN_COS,
}

The activation functions used for the neurons during training. The activation functions can either be defined for a group of neurons by fann_set_activation_function_hidden and fann_set_activation_function_output, or it can be defined for a single neuron by fann_set_activation_function.

The steepness of an activation function is defined in the same way by fann_set_activation_steepness_hidden, fann_set_activation_steepness_output and fann_set_activation_steepness.

The functions are described with functions where:

Variants

FANN_NONE

Neuron does not exist or does not have an activation function.

FANN_LINEAR

Linear activation function.

  • span: -inf < y < inf

  • y = x*s, d = 1*s

  • Can NOT be used in fixed point.

FANN_THRESHOLD

Threshold activation function.

  • x < 0 -> y = 0, x >= 0 -> y = 1

  • Can NOT be used during training.

FANN_THRESHOLD_SYMMETRIC

Threshold activation function.

  • x < 0 -> y = 0, x >= 0 -> y = 1

  • Can NOT be used during training.

FANN_SIGMOID

Sigmoid activation function.

  • One of the most used activation functions.

  • span: 0 < y < 1

  • y = 1/(1 + exp(-2*s*x))

  • d = 2*s*y*(1 - y)

FANN_SIGMOID_STEPWISE

Stepwise linear approximation to sigmoid.

  • Faster than sigmoid but a bit less precise.
FANN_SIGMOID_SYMMETRIC

Symmetric sigmoid activation function, aka. tanh.

  • One of the most used activation functions.

  • span: -1 < y < 1

  • y = tanh(s*x) = 2/(1 + exp(-2*s*x)) - 1

  • d = s*(1-(y*y))

FANN_SIGMOID_SYMMETRIC_STEPWISE

Stepwise linear approximation to symmetric sigmoid.

  • Faster than symmetric sigmoid but a bit less precise.
FANN_GAUSSIAN

Gaussian activation function.

  • 0 when x = -inf, 1 when x = 0 and 0 when x = inf

  • span: 0 < y < 1

  • y = exp(-x*s*x*s)

  • d = -2*x*s*y*s

FANN_GAUSSIAN_SYMMETRIC

Symmetric gaussian activation function.

  • -1 when x = -inf, 1 when x = 0 and 0 when x = inf

  • span: -1 < y < 1

  • y = exp(-x*s*x*s)*2-1

  • d = -2*x*s*(y+1)*s

FANN_GAUSSIAN_STEPWISE

Stepwise linear approximation to gaussian. Faster than gaussian but a bit less precise. NOT implemented yet.

FANN_ELLIOTT

Fast (sigmoid like) activation function defined by David Elliott

  • span: 0 < y < 1

  • y = ((x*s) / 2) / (1 + |x*s|) + 0.5

  • d = s*1/(2*(1+|x*s|)*(1+|x*s|))

FANN_ELLIOTT_SYMMETRIC

Fast (symmetric sigmoid like) activation function defined by David Elliott

  • span: -1 < y < 1

  • y = (x*s) / (1 + |x*s|)

  • d = s*1/((1+|x*s|)*(1+|x*s|))

FANN_LINEAR_PIECE

Bounded linear activation function.

  • span: 0 <= y <= 1

  • y = x*s, d = 1*s

FANN_LINEAR_PIECE_SYMMETRIC

Bounded linear activation function.

  • span: -1 <= y <= 1

  • y = x*s, d = 1*s

FANN_SIN_SYMMETRIC

Periodical sine activation function.

  • span: -1 <= y <= 1

  • y = sin(x*s)

  • d = s*cos(x*s)

FANN_COS_SYMMETRIC

Periodical cosine activation function.

  • span: -1 <= y <= 1

  • y = cos(x*s)

  • d = s*-sin(x*s)

FANN_SIN

Periodical sine activation function.

  • span: 0 <= y <= 1

  • y = sin(x*s)/2+0.5

  • d = s*cos(x*s)/2

FANN_COS

Periodical cosine activation function.

  • span: 0 <= y <= 1

  • y = cos(x*s)/2+0.5

  • d = s*-sin(x*s)/2

Trait Implementations

Derived Implementations

impl Clone for fann_activationfunc_enum

fn clone(&self) -> fann_activationfunc_enum

fn clone_from(&mut self, source: &Self)

impl Copy for fann_activationfunc_enum