En el campo de las Redes Neuronales, el perceptrón, creado por Frank Rosenblatt,[1] se refiere a: La limitación de este algoritmo es que si dibujamos en un gráfico estos elementos, se deben poder separar con un hiperplano únicamente los elementos «deseados» discriminándolos (separándolos) de los «no deseados».
El modelo biológico más simple de un perceptrón es una neurona y viceversa.
Es decir, el modelo matemático más simple de una neurona es un perceptrón.
Las dendritas operan como sensores que recogen información de la región donde se hallan y la derivan hacia el cuerpo de la neurona que reacciona mediante una sinapsis que envía una respuesta hacia el cerebro.
El perceptrón que capta la señal en adelante se extiende formando una red de neuronas, sean éstas biológicas o de sustrato semiconductor (compuertas lógicas).
El perceptrón usa una matriz para representar las redes neuronales y es un discriminador terciario que traza su entrada
(un vector binario) a un único valor de salida
(un solo valor binario) a través de dicha matriz.
es el 'umbral', el cual representa el grado de inhibición de la neurona, es un término constante que no depende del valor que tome la entrada.
La suma ponderada de las entradas debe producir un valor mayor que
[4] El algoritmo de aprendizaje es el mismo para todas las neuronas, todo lo que sigue se aplica a una sola neurona en el aislamiento.
Se definen algunas variables primero: Los dos tipos de aprendizaje difieren en este paso.
Para considerar una neurona al interactuar en múltiples iteraciones debemos definir algunas variables más: En cada iteración el vector de peso es actualizado como sigue: El periodo de aprendizaje
se dice que es separable linealmente si existe un valor positivo
Sin embargo si los datos no son separables linealmente, la línea de algoritmo anterior no se garantiza que converja.
Estas funciones son linealmente separables y por lo tanto pueden ser aprendidas por un perceptrón.
La función XOR no puede ser aprendida por un único perceptrón puesto que requiere al menos de dos líneas para separar las clases (0 y 1).
Debe utilizarse al menos una capa adicional de perceptrones para permitir su aprendizaje.
Un perceptrón aprende a realizar la función binaria NAND con entradas
Cada ciclo sobre todas las muestras en el conjunto de formación está marcado con líneas gruesas.
Este ejemplo se puede implementar en Python con el siguiente código.