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

Entradas más populares de este blog

Calculadora de Horizonte Radial - en Visual Basic

Errores de capa 8, capa 9 y capa 10

Roban datos de 1.5 millones de usuarios a TAP Air Portugal