Es curioso que la respuesta más votada no responda realmente a la pregunta :) así que pensé que sería bueno respaldar esto con un poco más de teoría - en su mayoría tomada de "Minería de datos: Herramientas y técnicas prácticas de aprendizaje automático" y "Aprendizaje automático" de Tom Mitchell .
Introducción.
Así que tenemos un clasificador y un conjunto de datos limitado, y una cierta cantidad de datos debe ir al conjunto de entrenamiento y el resto se utiliza para las pruebas (si es necesario, un tercer subconjunto utilizado para la validación).
El dilema al que nos 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 mismo grupo.
Es obvio que el conjunto de entrenamiento debe ser mayor que el conjunto de prueba, es decir, la división no debe ser 1:1 (el objetivo principal es tren no a prueba ) - pero no está claro dónde debería estar la división.
Procedimiento de retención.
El procedimiento de división del "superconjunto" en subconjuntos se denomina método de retención . Tenga en cuenta que es fácil tener mala suerte y que falten ejemplos de una determinada clase (o que estén representados en exceso) en uno de los subconjuntos, lo que puede solucionarse mediante
- muestreo aleatorio, que garantiza que cada clase esté adecuadamente representada en todos los subconjuntos de datos - el procedimiento se denomina estratificado holdout
- muestreo aleatorio con un proceso repetido de entrenamiento-prueba-validación, lo que se denomina retención estratificada repetida
En un único procedimiento de retención (no repetido), podría considerar intercambiar los papeles de los de prueba y entrenamiento y promediar los dos resultados, pero esto sólo es plausible con una división 1:1 entre los conjuntos de entrenamiento y prueba, lo que no es aceptable (véase Introducción ). Pero esto da una idea, y un método mejorado (llamado validación cruzada en su lugar) - ¡véase más abajo!
Validación cruzada.
En la validación cruzada, se decide un número xed de pliega (particiones de los datos). Si utilizamos tres pliegues, los datos se dividen en tres particiones iguales y
- utilizamos 2/3 para la formación y 1/3 para la prueba
- y repetir 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 se adopta también la estratificación (lo que suele ser cierto) se denomina validación cruzada estratificada de tres veces .
Pero, he aquí que la forma estándar es no la división 2/3:1/3. Citando a "Minería de datos: Herramientas y técnicas prácticas de aprendizaje automático" ,
La forma estándar [...] es utilizar la validación cruzada estratificada de 10 veces. Los datos se dividen aleatoriamente en 10 partes en las que la clase está representada en aproximadamente las mismas proporciones que en el conjunto de datos completo. Cada parte se excluye por turnos y el esquema de aprendizaje se entrena en las nueve décimas partes restantes; luego se calcula su tasa de error en el conjunto excluido. Así, 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). Por último, se promedian las 10 estimaciones de error para obtener una estimación de error global.
¿Por qué 10? Porque " Pruebas exhaustivas en numerosos conjuntos de datos, con diferentes técnicas de aprendizaje, han demostrado que 10 es el número correcto de pliegues para obtener la mejor estimación del error, y también hay algunas pruebas teóricas que lo respaldan " No he encontrado a qué pruebas extensas y pruebas teóricas se referían, pero este parece un buen comienzo para indagar más, si lo deseas.
Básicamente dicen
Aunque estos argumentos no son en absoluto concluyentes, y el debate sigue en los círculos de aprendizaje automático y minería de datos sobre cuál es el mejor esquema de evaluación, la validación cruzada de 10 veces se ha convertido en el método estándar en términos prácticos. [...] Además, no hay nada mágico sobre el número exacto 10: es probable que la validación cruzada de 5 o 20 veces sea casi igual de buena.
Bootstrap, y -¡por fin! - la respuesta a la pregunta original.
Pero aún no hemos llegado a la respuesta de por qué se suele recomendar el 2/3:1/3. Mi opinión es que es una herencia de bootstrap método.
Se basa en el muestreo con reemplazo. Anteriormente, colocamos una muestra del "gran conjunto" en exactamente uno de los subconjuntos. El bootstraping es diferente y una muestra puede aparecer fácilmente tanto en el conjunto de entrenamiento como en el de prueba.
Veamos un escenario particular en el que tomamos un conjunto de datos D1 de n instancias y la muestra 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á (casi con toda seguridad), debe haber algunos casos en el conjunto de datos original que no han sido elegidos: los utilizaremos como casos de prueba.
¿Cuál es la posibilidad de que un caso concreto 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 prueba será aproximadamente 1/3 y el conjunto de entrenamiento será aproximadamente 2/3.
I adivinar esta es la razón por la que se recomienda utilizar la división 1/3:2/3: esta proporción se toma del método de estimación bootstrapping.
Para terminar.
Quiero terminar con una cita del libro de minería de datos (que no puedo probar pero asumo que es correcta) en la que se recomienda generalmente preferir la validación cruzada de 10 veces:
El procedimiento bootstrap puede ser la mejor forma de estimar el error para conjuntos de datos muy conjuntos de datos muy pequeños. Sin embargo, al igual que la validación cruzada con exclusión, tiene desventajas que pueden ilustrarse considerando una situación especial y artificial [...] 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 memorizara el conjunto de entrenamiento daría una puntuación de resustitución perfecta del 100%. de modo que etraining instances= 0, y el bootstrap de 0,632 mezclará esto con un peso de 0,368 para dar una tasa de error global de sólo el 31,6% (0,632 ¥ 50% + 0,368 ¥ 0%), lo cual es engañosamente optimista.