show_function <- function(fkt) {
x <- seq(-4,4,0.1)
y <- fkt(x)
plot(x, y)
}Aktivierungsfunktionen
Beim Aufbau der neuronalen Netzwerke werden Aktivierungsfunktionen eingesetzt, um die Ausgabe der Neuronen zu steuern.
Dabei werden Aktivierungsfunktionen verwendet, um nichtlineare Beziehungen in den Daten zu erfassen.
Die Eingänge eines Neutron werden dabei über die Aktivierungsfunktion mit dem Ausgang verknüpft. Die Aktivierungsfunktion steuert dabei, wie sehr das Neuron aktiviert wird, das heißt, wie stark (bzw. ob überhaupt) Werte weitergeleitet werden.
Die bekanntesten Aktivierungsfunktionen sind:
ReLU - Rectified Linear Unit
Leaky ReLU - Leaky Rectified Linear Unit
Tanh - Tangenz Hyperbolicus
Sigmoid - Logistische Funktion
Schauen wir uns diese Funktionen einmal kurz an.
ReLU - Rectified Linear Unit
relu <- function(x) {
pmax(x, 0)
}
show_function(relu)
Leaky ReLU / Leaky Rectified Linear Unit
leakyrelu <- function(x, alpha=0.05) {
pmax(x, alpha*x)
}
show_function(leakyrelu)
Tanh - Tangenz Hyperbolicus
tanh <- function(x) {
p <- exp(x)
n <- 1/p # = exp(-x)
(p-n)/(n+p)
}
show_function(tanh)
Sigmoid - Logistische Funktion
sigmonid <- function(x) {
1/(1+exp(-x))
}
show_function(sigmonid)