Entiendo el razonamiento detrás de dividir los datos en un conjunto de prueba y un conjunto de validación. También entiendo que el tamaño de la división dependerá de la situación, pero generalmente variará de 50/50 a 90/10.
Construí un RNN para corregir la ortografía y comenzar con un conjunto de datos de ~ 5 millones de oraciones. Afeito 500k oraciones y luego entreno con las ~ 4.5m oraciones restantes. Cuando termine la capacitación, tomo mi conjunto de validación y calculo la precisión.
Lo interesante es que después de solo el 4% de mi conjunto de validación tengo una precisión del 69,4% y este porcentaje no cambia en más del 0,1% en ninguna dirección. Finalmente, acabo de acortar la validación porque el número está atascado en 69.5%.
Entonces, ¿por qué cortar un 10% para la Validación cuando probablemente podría salirme con un 1%? ¿Importa?
fuente
Respuestas:
Los conjuntos de validación más grandes proporcionan estimaciones más precisas del rendimiento fuera de la muestra. Pero como ha notado, en algún momento esa estimación puede ser tan precisa como lo necesita, y puede hacer algunas predicciones aproximadas sobre el tamaño de la muestra de validación que necesita para llegar a ese punto.
Para una precisión de clasificación simple correcta / incorrecta, puede calcular el error estándar de la estimación como (desviación estándar de una variable de Bernouilli), donde es la probabilidad de una clasificación correcta, y es el tamaño del conjunto de validación. Por supuesto que no conoce , pero es posible que tenga una idea de su rango. Por ejemplo, supongamos que espera una precisión entre 60-80% y desea que sus estimaciones tengan un error estándar menor que 0.1%: ¿Qué tan grande debería ser (el tamaño de el conjunto de validación) ser? Para obtenemos: Para pnp √p(1−p)/n−−−−−−−−−√ p n p np=0.6n> 0.6 - 0.6 2
Estos cálculos también muestran el punto hecho por Tim en su respuesta, que la precisión de sus estimaciones depende del tamaño absoluto de su conjunto de validación (es decir, en ), en lugar de su tamaño en relación con el conjunto de entrenamiento.n
(También podría agregar que estoy asumiendo un muestreo representativo aquí. Si sus datos son muy heterogéneos, es posible que necesite usar conjuntos de validación más grandes solo para asegurarse de que los datos de validación incluyan las mismas condiciones, etc., que los datos de su tren y prueba. )
fuente
Andrew Ng ofrece una buena discusión sobre este problema en su curso de aprendizaje profundo en Coursera.org . Como él señala, las divisiones estándar como 8: 2 o 9: 1 son válidas si sus datos son pequeños o moderadamente grandes, pero muchos problemas actuales de aprendizaje automático utilizan grandes cantidades de datos (por ejemplo, millones de observaciones como en su caso), y en tal escenario, podría dejar el 2%, el 1% o incluso menos de los datos como un conjunto de prueba, tomando todos los datos restantes para su conjunto de entrenamiento (en realidad argumenta que también usa un conjunto de desarrollo). Como él argumenta, cuantos más datos alimente su algoritmo, mejor para su rendimiento y esto es especialmente cierto para el aprendizaje profundo * (también señala que este no debe ser el caso para los algoritmos de aprendizaje automático no profundo).
Como ya noté en el comentario de Alex Burn , no se trata realmente del tamaño de su conjunto de pruebas, sino de su representatividad para su problema. Por lo general, con un tamaño mayor de los datos, esperamos que sea más representativo, pero esto no tiene por qué ser así. Esto siempre es una compensación y necesita hacer consideraciones específicas del problema. No hay reglas que indiquen que el conjunto de pruebas no debe ser menor que X casos, o menor que Y% de sus datos.
* - Descargo de responsabilidad: estoy repitiendo los argumentos de Andrew Ng aquí, no me consideraría un especialista en aprendizaje profundo.
fuente
Asymptotic Statistical Theory of Overtraining and Cross-Validation
[1] https://www.ncbi.nlm.nih.gov/pubmed/18255701
fuente