El Perceptrón

El perceptrón fue propuesto por Frank Rosenblatt a principio de los 1960's. En esta propuesta se veía que tenía un poderoso algoritmo de aprendizaje. En 1969 Minsky y Papert publicaron un libro llamado "perceptrón" que analizó lo que realmente se podría hacer y cuáles eran sus limitaciones, pero muchas personas entenderion mal al pensar que estas limitaciones se extendían a todas las redes neuronales. Hoy en día el algoritmo de aprendizaje del perceprón se sigue aplicando para tareas que requieren vectores de características muy grandes, quizá millones de ellos. 

Cada neurona tiene una unidad de decisión, llamada portal. Es una función matemática que decide revolver un valor binario a partir de la multiplicación de los vectores de entrada con sus pesos mas el bias. Esto se expresa mediante:

\[ z = b+\sum x_i w_i \]

 

\[ y = \begin{cases} 1 & \quad \text{si } x \geq 0\\ 0 & \quad \text{de lo contrario} \end{cases} \]

Donde b es el bias, un valor extra que facilita el aprendizaje, w es un vector de pesos y x es el vector de entrada. Y es el resultado del perceptrón.

¿Pero cómo se entrana una perceptrón?

Se agrega un vector w del que ya sabemos la salida correcta. Se realiza el las operaciones de la primer ecuación y se determina tres posibles acciones dependiendo del resultado:

  • Si la salida es la correcta, la que se supone debería de generarse, entonces ya no se realiza acción alguna.
  • Si la salida es incorrecta y su salida es un 0, entonces se suma el vector x al vector de pesos w.
  • Si la salida es incorrecta y su salida es un 1, entonces se resta el vector x al vector de pesos w. 

Realizar este procedimiento para todos los ejemplos garantiza encontrar un vector de pesos que obtiene los pesos correctos para todos los casos de entrenamiento, siempre y cuando este exista y el resultado sea lineal. 

 ¿Cómo visualizamos al perceptrón geométricamente?

Primero entendamos nos encontramos en un espacio que tiene una dimensión por peso y un punto en este espacio representa una configuración de pesos específicos. Cada entrada x puede ser representado como un hiperplano en el espacio desde el origen. En el momento de ajustar cada ejemplo se moverá el hiperplano de pesos para tener todos los casos para separa correctamente todos los casos. 

 ¿Pero por qué funciona?

Cada vez que el perceptrón se equivoqua el vector de pesos actuales se mueve para reducir la distancia cuatrada de cada vector de peso a una región cercana a la factibilidad. Y esto hace que la distancia cuadrada se reduce por al menos la distancia cuadrada del vector de entrada. Por lo tanto después de un número aceptable de errores, el vector de pesos tiene que entrar a la región de factibilidad, siempre y cuando este exista y sea lineal. 

¿Qué no puede hacer un perceptrón?

La canitdad de características de entrada se escogen a mano. Pero una vez que se ha escogido a mano se limita el modelo a esto. Entre varios casos tendremos estoas problemas:

  • Un portal binario no podrá decirnos si dos caracterrísticas son iguales.
  • Si en un espacio los elementos no son linealmente separables por un hiperplano.
  • Encontrar patrones con el mísmo número de elementos.

Esto nos lleva a que redes neuronales sin capas ocultas son muy limitadas, de unidades no lineales. Para eso necesitamos una forma eficiente de adaptar todos los pesos y no únicamente la última capay esto es difícil. Aprender los pesos que se asignan a las capas ocultas es equivalente que aprender características, pero en realidad no se especifica qué es lo que en realidad estas capas ocultas deben hacer. 

Share This