Para determinar si más datos serán útiles o no, debe comparar el rendimiento de su algoritmo en los datos de entrenamiento (es decir, los datos utilizados para entrenar la red neuronal) con su rendimiento en los datos de prueba (es decir, los datos que hizo la red neuronal no "ver" en el entrenamiento).
Una buena cosa para verificar sería el error (o precisión) en cada conjunto en función del número de iteración. Hay dos posibilidades para el resultado de esto:
1) El error de entrenamiento converge a un valor significativamente menor que el error de prueba. Si este es el caso, el rendimiento de su algoritmo seguramente mejorará con más datos.
2) El error de entrenamiento y el error de prueba convergen en aproximadamente el mismo valor (con el error de entrenamiento probablemente siendo un poco más bajo que el error de prueba). En este caso, los datos adicionales por sí mismos no ayudarán a su algoritmo. Si necesita un mejor rendimiento del que está obteniendo en este momento, debe intentar agregar más neuronas a sus capas ocultas o agregar más capas ocultas. Si se agregan suficientes unidades ocultas, encontrará que su error de prueba será notablemente más alto que el error de entrenamiento, y más datos ayudarán en ese punto.
Para una introducción más completa y útil sobre cómo tomar estas decisiones, recomiendo encarecidamente el curso Coursera de Andrew Ng , en particular las lecciones "Evaluación de un algoritmo de aprendizaje" y "Sesgo frente a varianza".
Supongo que lo más importante es que las muestras en sus datos están bien distribuidas, porque no importa cuántos datos tenga, más datos siempre serían mejores. Después de todo, si intenta aprender a distinguir entre las imágenes de gatos y perros, no puede esperar que su modelo funcione bien si solo lo alimenta con imágenes de gatos.
Como se sugiere en la respuesta de Kevin L , tiene sentido considerar la diferencia entre el error de entrenamiento y el error de prueba. Si sus datos de prueba son independientes de sus datos de entrenamiento, esto le indica qué tan bien generaliza su modelo a los datos que no están disponibles. Algo que me gustaría agregar a eso es el hecho de que una gran diferencia entre el error de entrenamiento y prueba solo te dice que tu modelo no se generaliza bien, es decir, estás sobreajustado en los datos de entrenamiento. Probablemente, más datos ayudarán, porque ahora la red también necesita modelar los puntos de datos adicionales, por lo tanto, ya no puede sobreajustar tanto. Sin embargo, podría valer más la pena cambiar su modelo para que se generalice mejor. Este capítulo de un excelente libro. explica qué tipos de regularización existen y cómo se pueden aplicar en las redes para obtener una mejor generalización.
Si estaba buscando una medida más cuantitativa, recientemente encontré esta pregunta en quora. Se trata de un codificador automático, pero supongo que también debería ser aplicable a su ejemplo. No tengo idea de si esto es correcto (hágamelo saber), pero razonaría que, por ejemplo, para MNIST, se podría argumentar que intenta reducir las imágenes con un máximo de 28 * 28 * 8 * 10 000 = 62 720 000 bits de entropía a diez clases en una codificación de uno en caliente con 10 * 10 * 10 000 = 1 000 000 bits de entropía. Como solo estamos interesados en los 1 000 000 bits de entropía en la salida, podemos decir que con 1 000 000 parámetros, cada parámetro representa un solo bit, que es 1e-4 bits por muestra. Esto significa que necesitaría más datos. O tiene demasiados parámetros, porque, por ejemplo, con 100 parámetros, tiene 10 000 bits por parámetro y, por lo tanto, 1 bit por muestra. Sin embargo,
fuente
Otro método generalmente utilizado para determinar si su red ha aprendido suficientes características es visualizar los filtros iniciales. Si la red está bien entrenada, debería mostrar un filtro suave. Un filtro ruidoso generalmente indica que la red no se ha entrenado lo suficiente o que se ha sobreajustado. Para más información lee esta página .
fuente