Perceptrón

Perceptrón

El Perceptron se inspira en el procesamiento de información de una sola célula neuronal (llamada neurona). Una neurona acepta señales de entrada a través de su axón, que transmite la señal eléctrica al cuerpo celular. Las dendritas transmiten la señal a las sinapsis, que son las conexiones de las dendritas de una célula a los axones de otras células. En una sinapsis, la actividad eléctrica se convierte en actividad molecular (moléculas de neurotransmisores que cruzan la hendidura sináptica y se unen a los receptores). La unión molecular desarrolla una señal eléctrica que se transmite al axón de las células conectadas.

El objetivo de procesamiento de información de la técnica es modelar una función dada modificando los pesos internos de las señales de entrada para producir una señal de salida esperada. El sistema se entrena mediante un método de aprendizaje supervisado, donde el error entre la salida del sistema y una salida esperada conocida se presenta al sistema y se utiliza para cambiar su estado interno. El estado se mantiene en un conjunto de pesos sobre las señales de entrada. Los pesos se utilizan para representar una abstracción del mapeo de los vectores de entrada a la señal de salida para los ejemplos a los que se expuso el sistema durante el entrenamiento.

El Perceptron se compone de una estructura de datos (peso) y procedimientos separados para formar y aplicar la estructura. La estructura es en realidad solo un vector de ponderación (uno para cada entrada esperada) y un término de sesgo.

El siguiente algoritmo proporciona una pseudocódigo para aprender el Perceptrón. Se inicializa un peso para cada entrada más un peso adicional para un sesgo constante que casi siempre se establece en 1,0. La activación de la red en un patrón de entrada dado se calcula de la siguiente manera:

Perceptrón

donde n es el número de ponderaciones y entradas, x_ki es el k-ésimo atributo en el i-ésimo patrón de entrada y w_bias es la ponderación de sesgo. Los pesos se actualizan de la siguiente manera:

Perceptrón

donde w_i es el i-ésimo peso en los tiempos t y t + 1, α es la tasa de aprendizaje, e (t) y a (t) son la salida real esperada en el momento t, y x_i es la i-ésima entrada. Este proceso de actualización se aplica a cada peso por turno (así como al peso sesgado con su entrada).

Perceptrón

El Perceptron se puede usar para aproximar funciones lineales arbitrarias y se puede usar para problemas de regresión o clasificación. El Perceptron no puede aprender un mapeo no lineal entre los atributos de entrada y salida. El problema XOR es un ejemplo clásico de un problema que el Perceptron no puede aprender.

Los valores de entrada y salida deben normalizarse de manera que cada x esté en [0; 1]. La tasa de aprendizaje α en [0; 1] controla la cantidad de cambio que tiene cada error en el sistema, las enseñanzas más bajas son comunes, como 0.1. Los pesos se pueden actualizar en línea (después de la exposición a cada patrón de entrada) o en lotes (después de que se haya observado un número fijo de patrones). Las actualizaciones por lotes deberían ser más estables que las actualizaciones en línea para algunos problemas complejos.

Se utiliza una ponderación de polarización con una señal de entrada constante para garantizar la estabilidad del proceso de aprendizaje. Una función de transferencia paso a paso se usa comúnmente para transferir la activación a un valor de salida binaria de 1 <–activación ≥ 0, de lo contrario 0. Se recomienda exponer el sistema a patrones de entrada en orden aleatorio que no sea cada iteración. Los pesos iniciales suelen ser valores aleatorios pequeños, normalmente en [0; 0,5].