tutorial traduccion machine learning google español curso coursera course machine-learning

machine-learning - google - machine learning traduccion



¿Existe una regla de oro sobre cómo dividir un conjunto de datos en conjuntos de entrenamiento y validación? (6)

Bueno, deberías pensar en una cosa más.

Si tiene un conjunto de datos realmente grande, como 10 000 000 ejemplos, la división 80/10/10 puede ser innecesaria, porque 10% = 100000 ejemplos no es necesario para decir que el modelo funciona bien.

Tal vez 99 / 0.5 / 0.5 es suficiente, porque 5000 ejemplos pueden representar la mayor parte de la varianza en los datos y se puede decir fácilmente que el modelo funciona bien en base a estos 5000 ejemplos en prueba y desarrollo.

¿Existe una regla de oro sobre cómo dividir mejor los datos en conjuntos de entrenamiento y validación? ¿Es aconsejable una división pareja de 50/50? ¿O hay claras ventajas de tener más datos de entrenamiento en relación con los datos de validación (o viceversa)? ¿O es esta elección bastante dependiente de la aplicación?

He estado utilizando principalmente un 80% / 20% de datos de entrenamiento y validación, respectivamente, pero elegí esta división sin ninguna razón de principios. ¿Puede alguien con más experiencia en aprendizaje automático asesorarme?


El año pasado, seguí el curso de aprendizaje en línea en línea del profesor: Andrew Ng. Su recomendación fue

Entrenamiento: 60%

Validación cruzada: 20%

Pruebas: 20%


Quizás un 63.2% / 36.8% es una elección razonable. La razón sería que si tuvieras un tamaño de muestra n total y quisieras muestrear al azar con reemplazo (también re-muestrear, como en el bootstrap estadístico) n casos fuera del n inicial, la probabilidad de que se seleccione un caso individual en el volver a muestrear sería aproximadamente 0.632, siempre que n no sea demasiado pequeño, como se explica aquí: https://stats.stackexchange.com/a/88993/16263

Para una muestra de n = 250, la probabilidad de que se seleccione un caso individual para una nueva muestra a 4 dígitos es 0.6329. Para una muestra de n = 20000, la probabilidad es 0.6321.


Te sorprendería descubrir que 80/20 es una proporción bastante común, a menudo referido como el principio de Pareto . Por lo general, es una apuesta segura si usa esa proporción.

Sin embargo, dependiendo de la metodología de entrenamiento / validación que emplee, la relación puede cambiar. Por ejemplo: si usa una validación cruzada de 10 veces, entonces terminaría con un conjunto de validación de 10% en cada pliegue.

Se han realizado algunas investigaciones sobre cuál es la relación adecuada entre el conjunto de entrenamiento y el conjunto de validación :

La fracción de patrones reservados para el conjunto de validación debe ser inversamente proporcional a la raíz cuadrada del número de parámetros ajustables libres.

En su conclusión, especifican una fórmula:

Conjunto de validación (v) para la relación de tamaño del conjunto de entrenamiento (t), v / t, escalas como ln (N / h-max), donde N es el número de familias de reconocedores y h-max es la mayor complejidad de esas familias.

Lo que quieren decir con complejidad es:

Cada familia de reconocedores se caracteriza por su complejidad, que puede o no estar relacionada con la VC-dimension , la longitud de la descripción, el número de parámetros ajustables u otras medidas de complejidad.

Tomando la primera regla general (es decir, el conjunto de validación debe ser inversamente proporcional a la raíz cuadrada del número de parámetros ajustables libres), puede concluir que si tiene 32 parámetros ajustables, la raíz cuadrada de 32 es ~ 5.65, la fracción debe ser 1 / 5.65 o 0.177 (v / t). Aproximadamente el 17.7% debería reservarse para la validación y el 82.3% para la capacitación.


Todo depende de los datos disponibles. Si tiene una cantidad considerable de datos, entonces 80/20 es una buena opción como se mencionó anteriormente. Pero si no realiza una validación cruzada con una división de 50/50, puede ayudarlo mucho más y evitar que cree un modelo que ajuste demasiado sus datos de capacitación.


Hay dos preocupaciones que compiten entre sí: con menos datos de entrenamiento, las estimaciones de los parámetros tienen mayor varianza. Con menos datos de prueba, su estadística de rendimiento tendrá una mayor varianza. En términos generales, debería preocuparse por dividir los datos de modo que ninguna de las varianzas sea demasiado alta, lo cual tiene más que ver con el número absoluto de instancias en cada categoría en lugar del porcentaje.

Si tiene un total de 100 instancias, probablemente esté atrapado en la validación cruzada ya que ninguna división en particular le dará una variación satisfactoria en sus estimaciones. Si tiene 100.000 instancias, realmente no importa si elige una división 80:20 o una división 90:10 (de hecho, puede optar por utilizar menos datos de capacitación si su método es particularmente intensivo computacionalmente).

Suponiendo que tiene datos suficientes para realizar los datos de las pruebas extendidas (en lugar de la validación cruzada), la siguiente es una forma instructiva de manejar las variaciones:

  1. Divida sus datos en entrenamiento y pruebas (80/20 es de hecho un buen punto de partida)
  2. Divida los datos de capacitación en capacitación y validación (nuevamente, 80/20 es una división justa).
  3. Submuestra las selecciones aleatorias de tus datos de entrenamiento, entrena al clasificador con esto y registra el rendimiento en el conjunto de validación
  4. Pruebe una serie de ejecuciones con diferentes cantidades de datos de entrenamiento: muestree aleatoriamente el 20% de, digamos, 10 veces y observe el rendimiento en los datos de validación, luego haga lo mismo con un 40%, 60%, 80%. Debería ver un mayor rendimiento con más datos, pero también una menor varianza entre las diferentes muestras aleatorias.
  5. Para obtener un control sobre la varianza debido al tamaño de los datos de prueba, realice el mismo procedimiento al revés. Entrene en todos sus datos de entrenamiento, luego muestree aleatoriamente un porcentaje de sus datos de validación varias veces y observe el rendimiento. Ahora debe encontrar que el rendimiento medio en muestras pequeñas de sus datos de validación es aproximadamente el mismo que el rendimiento en todos los datos de validación, pero la varianza es mucho mayor con números más pequeños de muestras de prueba