Diseñé una red neuronal para clasificar unas imágenes en 28 clases. Estos son los parámetros :
- Decaimiento del peso : 0.005
- Momentum : 0,01
- Tasa de aprendizaje : 0,001 y 0,005
- Decaimiento del aprendizaje : 1
- Entrada : 100x100 imágenes
- Salida : 28 Clases
- Datos de entrenamiento : 1500 imágenes
- Datos de la prueba : 30 imágenes
- Aprendizaje por lotes
- Uso de Python con PyBrain
Las imágenes son memes y cada clase tiene cerca de 50 imágenes en ella. las imágenes en cada clase son altamente simialr (porque son memes). no importa cuántas redes diferentes corrí, terminó así:
La red aprende al 100% y para los datos de prueba (casi 30 imágenes) puede clasificar hasta el 85%... PERO después de algunas épocas más, pierde precisión y se vuelve completamente inútil... Probé muchos Hyper Parameters (con 50 epochs) para elegir estos parámetros al final pero creo que no los probé por más de 50 epochs...
Estas son mis preguntas:
-
Si dejara de entrenar la red cuando ésta alcanzara la máxima precisión de entrenamiento y prueba, ¿sería útil la red o la red real se mostraría después de más épocas, volviéndose inútil?
-
¿Por qué ocurre algo así? ¿Por qué pierde precisión después de 25 épocas? ¿Qué estoy haciendo mal?
Gracias