En el campo del Aprendizaje Automático, el Perceptrón es un Algoritmo de Aprendizaje Supervisado para clasificadores binarios. El modelo Perceptron implementa la siguiente función:
Para una elección particular del vector de peso y el parámetro de sesgo , el modelo predice la salida para el vector de entrada correspondiente .
Tabla de verdad de la función lógica NOR para variables binarias de 2 bits , es decir, el vector de entrada y la salida correspondiente :
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
Podemos observar que,
ahora para el vector de peso correspondiente del vector de entrada al Node OR, la función de perceptrón asociada se puede definir como:
Posteriormente, la salida del Node OR es la entrada del Node NOT con peso . Entonces, la salida correspondiente es la salida final de la función lógica NOR y la función de perceptrón asociada se puede definir como:
For the implementation, considered weight parameters are and the bias parameters are .
Implementación de Python:
# importing Python library import numpy as np # define Unit Step Function def unitStep(v): if v >= 0: return 1 else: return 0 # design Perceptron Model def perceptronModel(x, w, b): v = np.dot(w, x) + b y = unitStep(v) return y # NOT Logic Function # wNOT = -1, bNOT = 0.5 def NOT_logicFunction(x): wNOT = -1 bNOT = 0.5 return perceptronModel(x, wNOT, bNOT) # OR Logic Function # w1 = 1, w2 = 1, bOR = -0.5 def OR_logicFunction(x): w = np.array([1, 1]) bOR = -0.5 return perceptronModel(x, w, bOR) # NOR Logic Function # with OR and NOT # function calls in sequence def NOR_logicFunction(x): output_OR = OR_logicFunction(x) output_NOT = NOT_logicFunction(output_OR) return output_NOT # testing the Perceptron Model test1 = np.array([0, 1]) test2 = np.array([1, 1]) test3 = np.array([0, 0]) test4 = np.array([1, 0]) print("NOR({}, {}) = {}".format(0, 1, NOR_logicFunction(test1))) print("NOR({}, {}) = {}".format(1, 1, NOR_logicFunction(test2))) print("NOR({}, {}) = {}".format(0, 0, NOR_logicFunction(test3))) print("NOR({}, {}) = {}".format(1, 0, NOR_logicFunction(test4)))
NOR(0, 1) = 0 NOR(1, 1) = 0 NOR(0, 0) = 1 NOR(1, 0) = 0
Aquí, la salida predicha del modelo ( ) para cada una de las entradas de prueba coincide exactamente con la salida convencional de la puerta lógica NOR ( ) de acuerdo con la tabla de verdad para la entrada binaria de 2 bits.
Por lo tanto, se verifica que el algoritmo de perceptrón para la puerta lógica NOR está correctamente implementado.
Publicación traducida automáticamente
Artículo escrito por goodday451999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA