El propósito de la función de activación es introducir la no linealidad en la red.
a su vez, esto le permite modelar una variable de respuesta (también conocida como variable objetivo, etiqueta de clase o puntaje) que varía de forma no lineal con sus variables explicativas
no lineal significa que la salida no se puede reproducir a partir de una combinación lineal de las entradas (que no es lo mismo que la salida que se representa en una línea recta; la palabra para esto es afín ).
Otra forma de pensarlo: sin una función de activación no lineal en la red, un NN, sin importar cuántas capas tenga, se comportaría como un perceptrón de una sola capa, porque la suma de estas capas le daría simplemente otra función lineal. (ver definición justo arriba).
>>> 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])
Una función de activación común utilizada en backprop ( tangente hiperbólica ) evaluada de -2 a 2: