Funciones de Activación para IA
Probando funciones de Activación para IA
# Las Funciones de Activación permiten mayor flexibilidad
# de modo que las sucesivas capas de Neuronas no se transformen en una funcion lineal sin mas
import numpy as np
import matplotlib.pyplot as plt
# Funcion Sigmoide
# 1/(1-x) siendo x el exponencial de entrada
def sigmoide(a):
return 1 / (1+np.exp(-a))
# Funcion steep o escalonada. Va de 0 1
# Piecewise evalua variables
def steep(a):
return np.piecewise(matriz, [matriz < 0.0, matriz > 0.0],[0,1])
# Funcion Relu
# pass
def relu(a):
return np.maximum(0, a)
#con esta funcion generamos 100 valores de 10 a -10
matriz = np.linspace(10, -10, 100)
print(matriz)
#Sobre x le aplicamos la funcion sigmoide y la graficamos
#La funcion sigmoide da valores continuos de 0 a 1. Util para probabilidades.
plt.title("Activaction Functions: Sigmoide")
plt.xlabel("X")
plt.ylabel("Y")
plt.plot(matriz, sigmoide(matriz), linestyle = "dotted", color = "r")
plt.grid()
plt.show()
#Sobre x le aplicamos la funcion Steep y la graficamos
plt.title("Activaction Functions: Steep")
plt.xlabel("X")
plt.ylabel("Y")
plt.plot(matriz, steep(matriz), linestyle = "dashed", color = "g")
plt.grid()
plt.show()
#Sobre x le aplicamos la funcion Step y la graficamos
#La funcion Relu da 0 si el valor es inferior a 0.
plt.title("Activaction Functions: Relu")
plt.xlabel("X")
plt.ylabel("Y")
plt.plot(matriz, relu(matriz))
plt.grid()
plt.show()



Comentarios
Publicar un comentario