AND Código python
import numpy as np
# Definir las entradas y las salidas deseadas para la compuerta AND
entradas = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
salidas_deseadas = np.array([0, 0, 0, 1])
# Inicializar los pesos aleatoriamente
np.random.seed(0)
pesos = np.random.rand(2)
# Definir la función de activación (en este caso, la función escalón)
def funcion_activacion(sumatoria):
return 1 if sumatoria >= 0 else 0
# Entrenamiento del perceptrón
num_epocas = 10
tasa_aprendizaje = 0.1
for epoca in range(num_epocas):
for entrada, salida_deseada in zip(entradas, salidas_deseadas):
# Calcular la sumatoria de las entradas ponderadas por los pesos
sumatoria = np.dot(entrada, pesos)
# Aplicar la función de activación
salida = funcion_activacion(sumatoria)
# Calcular el error
error = salida_deseada - salida
# Actualizar los pesos
pesos += tasa_aprendizaje * error * entrada
# Probar el perceptrón entrenado
for entrada, salida_deseada in zip(entradas, salidas_deseadas):
sumatoria = np.dot(entrada, pesos)
salida = funcion_activacion(sumatoria)
print(f'Entrada: {entrada}, Salida deseada: {salida_deseada}, Salida del perceptrón: {salida}')
Last updated