Der Zweck der Aktivierungsfunktion besteht darin, Nichtlinearität in das Netzwerk einzuführen
Auf diese Weise können Sie eine Antwortvariable (auch als Zielvariable, Klassenbezeichnung oder Punktzahl bezeichnet) modellieren, die sich nicht linear mit ihren erklärenden Variablen ändert
Nichtlinear bedeutet, dass die Ausgabe nicht aus einer linearen Kombination der Eingaben reproduziert werden kann (was nicht mit der Ausgabe identisch ist, die auf eine gerade Linie gerendert wird - das Wort dafür ist affin ).
Eine andere Art, es zu betrachten: Ohne eine nichtlineare Aktivierungsfunktion im Netzwerk würde sich ein NN, egal wie viele Schichten es hatte, wie ein einschichtiges Perzeptron verhalten, da das Summieren dieser Schichten nur eine weitere lineare Funktion ergeben würde (siehe Definition oben).
>>> in_vec = NP.random.rand(10)
>>> in_vec
array([ 0.94, 0.61, 0.65, 0. , 0.77, 0.99, 0.35, 0.81, 0.46, 0.59])
>>> # common activation function, hyperbolic tangent
>>> out_vec = NP.tanh(in_vec)
>>> out_vec
array([ 0.74, 0.54, 0.57, 0. , 0.65, 0.76, 0.34, 0.67, 0.43, 0.53])
Eine häufige Aktivierungsfunktion für Backprop ( hyperbolische Tangente ), bewertet von -2 bis 2: