Es curioso que la respuesta más votada realmente no responda la pregunta :) así que pensé que sería bueno respaldar esto con un poco más de teoría, mayormente tomada de "Minería de datos: herramientas y técnicas prácticas de aprendizaje automático" y de Tom Mitchell "Aprendizaje automático" .
Introducción.
Por lo tanto, tenemos un clasificador y un conjunto de datos limitado, y una cierta cantidad de datos debe ingresar al conjunto de entrenamiento y el resto se usa para las pruebas (si es necesario, un tercer subconjunto utilizado para la validación).
El dilema que enfrentamos es el siguiente: para encontrar un buen clasificador, el "subconjunto de entrenamiento" debe ser lo más grande posible, pero para obtener una buena estimación del error, el "subconjunto de prueba" debe ser lo más grande posible, pero ambos subconjuntos se toman del misma piscina
Es obvio que el conjunto de entrenamiento debe ser más grande que el conjunto de prueba, es decir, la división no debe ser 1: 1 (el objetivo principal es entrenar , no probar ), pero no está claro dónde debería estar la división.
Procedimiento de espera.
El procedimiento de dividir el "superconjunto" en subconjuntos se llama método de retención . Tenga en cuenta que es posible que tenga mala suerte y que falten ejemplos (o que estén sobrepresentados) en una de las categorías, que se pueden abordar
- muestreo aleatorio, que garantiza que cada clase esté representada correctamente en todos los subconjuntos de datos; el procedimiento se denomina reserva estratificada
- muestreo aleatorio con proceso repetido de entrenamiento-prueba-validación encima, que se llama retención estratificada repetida
En un procedimiento de espera único (no repetido), puede considerar intercambiar los roles de los datos de prueba y entrenamiento y promediar los dos resultados, pero esto solo es plausible con una división 1: 1 entre los conjuntos de entrenamiento y prueba que no es aceptable (vea Introducción ) Pero esto da una idea, y un método mejorado (en su lugar se usa validación cruzada ) - ¡vea a continuación!
Validación cruzada.
En la validación cruzada, usted decide un número fijo de pliegues (particiones de los datos). Si usamos tres pliegues, los datos se dividen en tres particiones iguales y
- Usamos 2/3 para entrenamiento y 1/3 para pruebas
- y repita el procedimiento tres veces para que, al final, cada instancia se haya utilizado exactamente una vez para la prueba.
Esto se llama validación cruzada triple , y si también se adopta la estrati fi cación (lo que a menudo es cierto) se llama validación cruzada estratificada triple .
Pero, he aquí, la forma estándar no es la división 2/3: 1/3. Citando "Minería de datos: herramientas y técnicas prácticas de aprendizaje automático" ,
La forma estándar [...] es utilizar una validación cruzada estratificada 10 veces. Los datos se dividen aleatoriamente en 10 partes en las que la clase se representa en aproximadamente las mismas proporciones que en el conjunto de datos completo. Cada parte se desarrolla a su vez y el esquema de aprendizaje se capacita en las nueve décimas restantes; entonces su tasa de error se calcula en el conjunto de reserva. Por lo tanto, el procedimiento de aprendizaje se ejecuta un total de 10 veces en diferentes conjuntos de entrenamiento (cada uno de los cuales tiene mucho en común). Finalmente, las 10 estimaciones de error se promedian para producir una estimación de error general.
¿Por qué 10? Debido a que "las pruebas ..Extensive en numerosos conjuntos de datos, con diferentes técnicas de aprendizaje, han demostrado que el 10 es aproximadamente el número correcto de pliegues para obtener la mejor estimación del error, y también hay cierta evidencia teórica que respalda esto .." No he No encontré qué pruebas extensas y evidencia teórica significaban, pero esta parece ser un buen comienzo para cavar más, si lo deseas.
Básicamente solo dicen
Aunque estos argumentos no son concluyentes, y el debate continúa en los círculos de aprendizaje automático y minería de datos sobre cuál es el mejor esquema para la evaluación, la validación cruzada 10 veces se ha convertido en el método estándar en términos prácticos. [...] Además, no hay nada mágico en el número exacto 10: la validación cruzada de 5 o 20 veces es casi tan buena.
Bootstrap y, finalmente! - La respuesta a la pregunta original.
Pero aún no hemos llegado a la respuesta sobre por qué a menudo se recomienda 2/3: 1/3. Mi opinión es que se hereda del método bootstrap .
Se basa en muestreo con reemplazo. Anteriormente, colocamos una muestra del "gran conjunto" en exactamente uno de los subconjuntos. Bootstraping es diferente y una muestra puede aparecer fácilmente en el conjunto de entrenamiento y prueba.
Veamos un escenario particular donde tomamos un conjunto de datos D1 de n instancias y lo muestreamos n veces con reemplazo, para obtener otro conjunto de datos D2 de n instancias.
Ahora mira con atención.
Debido a que algunos elementos en D2 se repetirán (casi con certeza), debe haber algunas instancias en el conjunto de datos original que no se hayan seleccionado: las utilizaremos como instancias de prueba.
¿Cuál es la posibilidad de que una instancia en particular no se haya recogido para D2 ? La probabilidad de ser recogido en cada toma es 1 / n, por lo que lo contrario es (1 - 1 / n) .
Cuando multiplicamos estas probabilidades juntas, es (1 - 1 / n) ^ n, que es e ^ -1, que es aproximadamente 0.3. Esto significa que nuestro conjunto de pruebas será de aproximadamente 1/3 y el conjunto de entrenamiento será de aproximadamente 2/3.
Yo supongo que esta es la razón por la cual se recomienda el uso 1/3: 2/3 dividida: esta relación se toma del método de estimación bootstrap.
Envolviendolo.
Quiero terminar con una cita del libro de minería de datos (que no puedo probar pero supongo que es correcta) donde generalmente recomiendan preferir la validación cruzada 10 veces:
El procedimiento de arranque puede ser la mejor forma de estimar el error para conjuntos de datos muy pequeños. Sin embargo, como la validación cruzada de dejar uno fuera, tiene desventajas que pueden ilustrarse al considerar una situación especial y artificial [...] como un conjunto de datos completamente aleatorio con dos clases. La tasa de error real es del 50% para cualquier regla de predicción, pero un esquema que memorice el conjunto de entrenamiento daría un puntaje de restitución perfecto del 100% para que las instancias de entrenamiento = 0, y el arranque de 0.632 lo mezcle con un peso de 0.368 a dan una tasa de error general de solo 31.6% (0.632 ¥ 50% + 0.368 ¥ 0%), lo cual es engañosamente optimista.
Este es el problema de la generalización, es decir, qué tan bien nuestra hipótesis clasificará correctamente futuros ejemplos que no forman parte del conjunto de entrenamiento. Vea este fantástico ejemplo, lo que sucedió en caso de que su modelo se ajuste solo a los datos que tiene y no a uno nuevo: la ley de Titius-Bode
fuente
Hasta ahora, @andreiser dio una respuesta brillante a la segunda parte de la pregunta de OP con respecto a la división de datos de entrenamiento / prueba, y @niko explicó cómo evitar el sobreajuste, pero nadie ha llegado al mérito de la pregunta: ¿Por qué usar datos diferentes para capacitación y evaluación? nos ayuda a evitar el sobreajuste.
Nuestros datos se dividen en:
Es importante darse cuenta de cuáles son los diferentes roles de las instancias de Validación y Prueba.
Consulte la página 222 de Los elementos del aprendizaje estadístico: minería de datos, inferencia y predicción para obtener más detalles.
fuente