package func.nn.activation;
/**
* A sigmoid activation function
* @author Andrew Guillory gtg008g@mail.gatech.edu
* @version 1.0
*/
public class LogisticSigmoid extends DifferentiableActivationFunction {
/**
* @see nn.function.ActivationFunction#activation(double)
*/
public double value(double value) {
double enx = Math.exp(-value);
if (enx == Double.POSITIVE_INFINITY) {
return 0;
} else {
return 1.0 / (1.0 + enx);
}
}
/**
* @see nn.function.DifferentiableActivationFunction#derivative(double)
*/
public double derivative(double value) {
double logistic = value(value);
return logistic * (1 - logistic);
}
}