Estoy haciendo un preprocesamiento de datos y luego construiré un Convonets en mis datos.
Mi pregunta es: digamos que tengo un total de conjuntos de datos con 100 imágenes, estaba calculando la media de cada una de las 100 imágenes y luego las restaba de cada una de las imágenes, luego las dividía en el conjunto de tren y validación, y hago lo mismo pasos para procesar en un conjunto de pruebas dado, pero parece que esta no es una forma correcta de hacerlo de acuerdo con este enlace: http://cs231n.github.io/neural-networks-2/#datapre
" Escollo común . Un punto importante a destacar sobre el preprocesamiento es que cualquier estadística de preprocesamiento (por ejemplo, la media de datos) solo debe calcularse en los datos de entrenamiento, y luego aplicarse a los datos de validación / prueba. Por ejemplo, calcular la media y restarla de Sería un error cada imagen en todo el conjunto de datos y luego dividir los datos en divisiones de tren / val / prueba. "
Supongo que lo que dice el autor es que, no calcule la media y reste dentro de cada imagen, sino que calcule la media del conjunto de imágenes totales (es decir (imagen1 + ... + imagen100) / 100) y reste la media a cada una de la imagen.
No entiendo ¿alguien puede explicarlo? y posiblemente también explique por qué lo que estaba haciendo está mal (si de hecho está mal).
Respuestas:
Supongamos que tiene 100 imágenes en total; 90 son datos de entrenamiento y 10 son datos de prueba.
fuente
A
rendimiento del modelo siA
no se generaliza bien a diferentes edades. Si calculamos la edad media en todo el conjunto de datos, obtendremos una edad media más representativa. Si ahora usamos esta sesgada-media de edad en el modeloA
que probablemente obtener un mejor rendimiento que antes a pesar deA
no generalizar así a las diferentes edades).