public class SigmoidFunction
extends java.lang.Object
implements java.io.Serializable
DefaultCostFunction
. This function depends on a internal value called
sigmoid sigma which will increase over the course of learning. This parameter
will determine the exact shape of the Heaviside function. Furthermore, an
interval has to be defined which specifies where the sigmoid sigma starts and
which value it will adapt once the learning process is finished. Within this
interval the sigma changes after each epoch and is increased in a logarithmic
manner.Constructor and Description |
---|
SigmoidFunction(double sigmoidSigmaIntervalStart,
double sigmoidSigmaIntervalEnd,
int totalNumberOfEpochs) |
Modifier and Type | Method and Description |
---|---|
double |
evaluate(double x)
computes the sigmoid function for the input value
|
double |
evaluatePrime(double x)
computes the derivative of the sigmoid function for the input value
|
double |
getCurrentSigmoidSigma() |
double |
getSigmoidSigmaIntervalEnd() |
double |
getSigmoidSigmaIntervalStart() |
int |
getTotalNumberOfEpochs() |
void |
increaseSigmoidSigma(int epoch)
increase the
currentSigmoidSigma depending on the
current epoch number |
public SigmoidFunction(double sigmoidSigmaIntervalStart, double sigmoidSigmaIntervalEnd, int totalNumberOfEpochs)
public void increaseSigmoidSigma(int epoch)
currentSigmoidSigma
depending on the
current epoch numberepoch
- the number of the current epochpublic double evaluate(double x)
x
- public double evaluatePrime(double x)
x
- public double getCurrentSigmoidSigma()
public double getSigmoidSigmaIntervalStart()
public double getSigmoidSigmaIntervalEnd()
public int getTotalNumberOfEpochs()