
El perceptron es la primera aproximación real a las redes neuronales artificiales. Es un tipo de neurona basada en el modelo propuesto por McCulloch y Pitts, en 1.943, a la cuál se acopla una regla de aprendizaje basada en la corrección de error de Hebb.
Este modelo fue desarrollado por Frank Ronsenblantt en 1.958 y su éxito incial se debió a que era capaz de aprender y reconocer patrones sencillos, más tarde, Marvin Minsky y Seymur Papert publican “Perceptrons” en 1.969, donde demostraban matemáticamente que no podía aprender una función tan fácil como la XOR. Esto originó que fuese alvidado durante décadas.
Los problemas que el perceptrón puede solucionar son los linealmente separables, es decir, los que necesitan distinguir entre dos clases posibles y que trazando una línea, plano o hiperplano entre ellos se puedan ver de forma independiente. El perceptrón encontrará la solución, pero sin saber cuánto tiempo tardará y si la solución será la óptima. Los perceptrones son entrenados por medio de un algoritmo de aprendizaje sencillo, normalmente llamado regla delta.
Modelos de Perceptrón:
- Simple. Tiene solamente dos capas de neuronas, dos neuronas en la capa de entrada y una neurona en la de salida, no tiene capas ocultas. La información fluye de forma directa desde la capa de entrada hacia la capa de salida. Los valores de entrada son binarios y los de salida están en el mismo rango que los de entrada.


- Multicapa, MLP (MultiLayer Perceptron). Es una red neuronal alimentada hacia adelante (feedforward), su aprendizaje es supervisado con retrocesión y compuesta por:
- Sensores ó entradas. (Toman los valores de X…)
- Unidades intermedias de proceso, llamadas capas ocultas.
- Unidades de salida. (Obtienen los valores de Y…)
Cada sensor está conectado a todas las unidades de las capas ocultas y cada una de estas, conectada con todas las unidades de salida. Los valores que trata son números reales.
El primer Perceptron fue diseñado para el reconocimiento óptico de patrones, esta versión contenía una rejilla de 400 fotocélulas, similar a los conos y bastones sensibles a la luz de la retina. Las fotocélulas estaban conectadas a elementos asociativos que recogían los impulsos eléctricos emitidos desde las fotocélulas, la conexión era aleatoria. Sí las fotocélulas presentaban un valor de entrada superior a un umbral predeterminado entonces el elemento asociativo producía una salida.
Un ejemplo de Perceptron simple y multicapa en lenguaje Java:

