¿Puede un perceptrón olvidar?

16

Me gustaría construir un sistema de aprendizaje automático en línea basado en la web, donde los usuarios puedan agregar continuamente muestras clasificadas y actualizar el modelo en línea. Me gustaría usar un perceptrón o un algoritmo de aprendizaje en línea similar.

Pero los usuarios pueden cometer errores e insertar ejemplos irrelevantes. En ese caso, me gustaría tener la opción de eliminar un ejemplo específico, sin volver a entrenar el perceptrón en todo el conjunto de ejemplos (que puede ser muy grande).

es posible?

Erel Segal-Halevi
fuente
idea muy interesante ¿has hecho un esfuerzo para formalizar esto?
Strin
Dados los detalles de su modelo de perceptrón y su clasificador, ¿qué sucede cuando vuelve a insertar el ejemplo con una clasificación corregida? ¿No reduce esto el peso de las neuronas de capa interna incorrectas y aumenta el peso de las neuronas de capa interna correctas?
Wandering Logic
1
Obviamente, volver a insertar la muestra puede ayudar de alguna manera, sin embargo, no estoy seguro de que las pruebas de corrección y convergencia del perceptrón se mantengan en este caso (es decir, no estoy seguro de que los resultados sean idénticos a la situación en la que la muestra errónea tiene no se ha insertado en primer lugar).
Erel Segal-Halevi
Como solución ingenua, puede mantener un registro de los pesos del perceptrón antes de agregar cada nueva muestra. Luego, cuando desee eliminar una muestra, (re) ajuste los pesos del perceptrón a sus valores antes de que se agregue el ejemplo "malo", y vuelva a entrenar el perceptrón con todos los ejemplos válidos agregados después del "malo". Esto implicaría una nueva capacitación, pero no en todo el conjunto de ejemplos. Por supuesto, también tendría que mantener registros de ejemplos y sus pesos asociados.
rphv

Respuestas:

6

Según tengo entendido el proceso , alterar un perceptrón sin reentrenamiento es imposible. Los ajustes de peso no solo están relacionados con ese ejemplo específico, sino también con respecto a los otros ejemplos de entrenamiento anteriores. Identificar la instancia clasificada incorrectamente y eliminarla del conjunto de prueba antes de volver a entrenar el modelo parece ser la forma más efectiva de corregir los pesos.

Creo que vale la pena señalar que, en comparación con otros algoritmos de aprendizaje automático, los perceptrones son relativamente resistentes al ruido e instancias clasificadas incorrectamente en el conjunto de entrenamiento . Si se encuentra con una gran cantidad de instancias mal clasificadas, parecería más prudente tener una mejor validación en el momento en que ingiere los datos antes del entrenamiento que encontrar alguna forma de corregir las instancias mal clasificadas después de que el perceptrón haya sido entrenado. Si eso no es posible y usted es capaz de identificar las instancias clasificadas incorrectamente como tales, entonces eliminarlas y reentrenarlas parecería la única forma de eliminar efectivamente el impacto de las instancias mal clasificadas.

Richard D
fuente