tamaño de conjunto de datos eficiente para una formación de redes neuronales de alimentación hacia adelante
Pregunta
Estoy usando una red neuronal feed-foward en Python usando el href="http://www.pybrain.org/" rel="nofollow"> pybrain aplicación . Para el entrenamiento, voy a estar usando el algoritmo de retropropagación. Sé que con las redes neuronales, tenemos que tener la cantidad justa de los datos con el fin de no bajo / sobre-entrenar a la red. Yo podría obtener alrededor de 1.200 diferentes plantillas de datos para la formación de los conjuntos de datos.
Así que aquí está la pregunta:
¿Cómo se calcula la cantidad óptima de datos para mi formación?
Desde que he intentado con 500 elementos en el conjunto de datos y que nos llevó muchas horas a converger, preferiría no tener que tratar demasiado tamaños. Los resultados que estamos bastante bien con este último tamaño pero me gustaría encontrar la cantidad óptima. La red neuronal tiene alrededor de 7 entradas, 3 nodos ocultos y una salida.
Solución
¿Cómo puedo calcular la cantidad óptima de los datos de mi formación?
Es completamente dependiente de solución. También hay un poco de arte con la ciencia. La única manera de saber si usted está en el sobreajuste territorio esté previsto examinar regularmente su red frente a un conjunto de datos de validación (que son datos que usted hace no tren con). Cuando el rendimiento de ese conjunto de datos comienza a caer, lo que has entrenado demasiado -. Volver al rollo de la última iteración
Los resultados fueron bastante buenos con este última tamaño, pero me gustaría encontrar la cantidad óptima.
"óptima" no es necesariamente posible; También depende de su definición. Lo que generalmente estás buscando es un alto grado de confianza de que un conjunto dado de pesos interpretará "bien" en los datos no se ve. Esa es la idea detrás de un conjunto de validación.
Otros consejos
La diversidad del conjunto de datos es mucho más importante que la cantidad de muestras que usted está alimentando a la red.
Usted debe personalizar el conjunto de datos para incluir y reforzar los datos que desea que la red aprenda.
Después de haber elaborado este conjunto de datos personalizada que tiene que empezar a jugar con la cantidad de muestras, ya que es totalmente dependiente de su problema.
Por ejemplo: Si usted está construyendo una red neuronal para detectar los picos de una señal en particular, sería completamente inútil para entrenar a su red con un trillón de muestras de señales que no tienen picos. Ahí está la importancia de la personalización de la formación de datos, no importa cuántas muestras que tiene.
Hablando técnicamente, en el caso general, y suponiendo que todos los ejemplos son correctas, entonces más ejemplos son siempre mejor. La pregunta realmente es, ¿cuál es la mejora marginal (primera derivada de la calidad de la respuesta)?
Se puede probar esta capacitando con 10 ejemplos, el control de calidad (digamos 95%), luego 20, y así sucesivamente, para conseguir una mesa como:
10 95%
20 96%
30 96.5%
40 96.55%
50 96.56%
A continuación, puede ver claramente sus ganancias marginales, y tomar su decisión en consecuencia.