An activation function that only allows a specified number, usually one, of
the out-bound connection to win. These connections will share in the sum of
the output, whereas the other neurons will receive zero.
This activation function can be useful for "winner take all" layers.
public final double derivativeFunction(double b,
Calculate the derivative. For performance reasons two numbers are provided.
First, the value "b" is simply the number that we would like to calculate
the derivative of.
Second, the value "a", which is the value returned by the activation function,
when presented with "b".
We use two values because some of the most common activation functions make
use of the result of the activation function. It is bad for performance to
calculate this value twice. Yet, not all derivatives are calculated this way.
By providing both the value before the activation function is applied ("b"),
and after the activation function is applied("a"), the class can be constructed
to use whichever value will be the most efficient.