¿Cuál es la regla de entrenamiento para redes de perceptrón de capa única con umbral?

Una ” red de perceptrón de capa única ” es, de hecho, solo una “red de perceptrón”, en el sentido estudiado por F. Rosenblatt en la década de 1950 (aunque la original tenía conexiones binarias aleatorias entre las células de entrada y las neuronas internas, lo que no influye en la matemáticas). [1]

El propio Rosenblatt introdujo una regla de aprendizaje para este modelo, y de hecho algunos lo consideran como el “primer” algoritmo de aprendizaje automático debido a su generalidad. Básicamente, cada vez que presenta un patrón [matemático] x [/ matemático] a la red, cada vez que comete un error, actualiza los pesos como:

[matemáticas] w = w + \ alpha ex [/ matemáticas]

donde [math] e [/ math] es el error, y [math] \ alpha [/ math] es un tamaño de paso adecuado. [Tener múltiples neuronas en paralelo no cambia la actualización, ya que todas se actualizan en paralelo.] Si los datos del problema son linealmente separables, entonces el algoritmo convergerá a una solución con cero errores (con una serie de errores que es libre de dimensiones y solo depende del margen de sus datos [1]).

¿Qué costo estamos optimizando en este caso? Puede demostrar que (bajo algunas advertencias), la regla del perceptrón es equivalente a un descenso de gradiente estocástico aplicado a la pérdida de bisagra de sus datos de entrenamiento:

https://www.cs.utah.edu/~piyush/…

Aclaración sobre la implementación de la Regla de Perceptrón vs. Descenso de gradiente vs. Descenso de gradiente estocástico

“Estocástico” porque está procesando sus datos un elemento a la vez, “subgradiente” porque el umbral en el perceptrón no es diferenciable (y el subgradiente viene dado por la función Dirac, recuperando la regla de actualización). De hecho, el perceptrón encontrará cualquier hiperplano que separe linealmente sus datos. Si además de esto, también desea encontrar el que tenga el margen máximo, recupere la máquina de vectores de soporte lineal o, más exactamente, el algoritmo de retrato generalizado original introducido por Vapnik y Lerner en 1963 [2].

Si desea obtener más información sobre la historia de estos modelos, le recomiendo encarecidamente la siguiente publicación de Widrow y Lehr:

Widrow, B. y Lehr, MA (1990). 30 años de redes neuronales adaptativas: perceptrón, madalina y retropropagación. Actas del IEEE , 78 (9), 1415-1442.


Referencias

[1] Novikoff, AB (1962). En pruebas de convergencia en perceptrones. Simposio sobre la teoría matemática de los autómatas, 12, 615-622. Instituto Politécnico de Brooklyn.

[2] Vapnik, V. y Lerner, A. (1963). Reconocimiento de patrones utilizando el método de retrato generalizado. Automatización y control remoto , 24 , 774-780.

Notas al pie

[1] Perceptrón

Hay algunas opciones

El estándar es: si la predicción fue incorrecta, sume o reste el vector de entrada del vector de peso (sumar o restar dependiendo de si la etiqueta verdadera debería haber sido positiva o negativa). Esto garantiza que, si vuelve a ver el mismo ejemplo de inmediato, su predicción estará más cerca de la etiqueta correcta.

En los casos en que espera que haya un buen clasificador lineal para los datos de entrenamiento, puede usar la versión Pasivo-Agresiva , donde las actualizaciones se escalan de tal manera que se corrija la última clasificación errónea. Es decir, hasta [math] (\ vec {x} \ cdot (\ vec {w} + \ alpha \ vec {x})) y \ geq 0 [/ math]. Esto es agresivo (generalmente mucho más rápido que la actualización normal de perceptrón) pero no es robusto al ruido en los datos. Un único punto de datos con una etiqueta incorrecta puede deshacer todo el aprendizaje hasta ese punto. Hay algunas versiones más seguras del algoritmo de PA en las que usa un límite superior en el tamaño del paso o puede usar un regularizador un poco más complejo. Consulte este documento para obtener detalles y explicaciones: http://jmlr.csail.mit.edu/papers

More Interesting

¿Qué hace una capa convolucional 1 × 1?

¿Cuál es la diferencia clave entre un autoencoder variacional y una red adversa generativa, y cuándo debo usar cada modelo?

¿Cómo se calcula el punto de ruptura de un algoritmo de aprendizaje?

¿Qué algoritmo de aprendizaje automático debo usar cuando tengo 5-6 valores categóricos independientes y 1 variable continua dependiente?

¿Cuál es una buena manera de entender la pérdida de Minkowski con una configuración diferente?

¿Cuál es un buen algoritmo para la extracción de características y la detección de texto escrito a mano?

¿Cómo funciona el aprendizaje profundo en tiempo real?

¿Por qué un niño de 6 años puede realizar tareas de reconocimiento de objetos mejor que una red neuronal distribuida a gran escala con decenas de miles de núcleos de CPU, pero incluso un cerebro adulto no puede competir con un procesador anticuado cuando se trata de cálculos de procedimientos? ¿Qué falta en nuestro procesador?

¿Por qué no reescalamos el vector de coeficiente de una regresión de lazo?

¿Cómo podemos hacer csv o dataset textual a partir de imágenes?

¿Por qué mi modelo de regresión produce valores negativos para SalePrice en los datos de prueba?

¿Qué es una red neuronal deconvolucional?

¿Es Cortana de Microsoft una copia flagrante de Siri de Apple?

¿Cuáles son las falacias comunes de minería de datos?

Según Wikipedia, las redes neuronales artificiales actuales tienen la complejidad del cerebro de un gusano. ¿Es eso cierto?