¿Cuántos datos son suficientes para entrenar mi modelo de aprendizaje automático?

11

He estado trabajando en aprendizaje automático y bioinformática durante un tiempo, y hoy tuve una conversación con un colega sobre los principales problemas generales de la minería de datos.

Mi colega (que es un experto en aprendizaje automático) dijo que, en su opinión, el aspecto práctico más importante del aprendizaje automático es cómo comprender si ha recopilado suficientes datos para entrenar su modelo de aprendizaje automático .

Esta declaración me sorprendió, porque nunca le había dado tanta importancia a este aspecto ...

Luego busqué más información en Internet, y encontré esta publicación en informes de FastML.com como regla general de que necesita aproximadamente 10 veces más instancias de datos que características .

Dos preguntas:

1 - ¿Es este problema realmente particularmente relevante en el aprendizaje automático?

2 - ¿Funciona la regla de 10 veces? ¿Hay otras fuentes relevantes para este tema?

DavideChicco.it
fuente
1. Sí 2. Es una buena línea de base, pero puede sortearla con regularización para reducir los grados efectivos de libertad . Esto funciona especialmente bien con el aprendizaje profundo. 3. Puede diagnosticar la situación de su problema trazando la curva de aprendizaje del tamaño de la muestra contra el error o la puntuación.
Emre
@ Emre Gracias! ¿Me puede sugerir también algunos documentos o algún material para leer?
DavideChicco.it
Esto generalmente se cubrirá junto con la validación cruzada y otras técnicas de validación de modelos en su libro de texto.
Emre
La regla de 10 veces es excelente si puede lograrla, pero simplemente no es práctica en algunos entornos empresariales. Hay muchas situaciones en las que el número de características es mucho mayor que las instancias de datos (p >> n). Existen técnicas de aprendizaje automático diseñadas específicamente para hacer frente a estas situaciones.
chico de ciencia de datos
Si necesita una explicación detallada que pueda ayudarlo a comprender el gráfico de la curva de aprendizaje, consulte esto: scikit-yb.org/en/latest/api/model_selection/learning_curve.html
shrikanth singh

Respuestas:

6

La regla de las diez veces me parece una regla general, pero es cierto que el rendimiento de su algoritmo de aprendizaje automático puede disminuir si no lo alimenta con suficientes datos de entrenamiento.

Una forma práctica y basada en datos de determinar si tiene suficientes datos de entrenamiento es trazando una curva de aprendizaje, como la del ejemplo a continuación:

Curva de aprendizaje

La curva de aprendizaje representa la evolución de los errores de entrenamiento y prueba a medida que aumenta el tamaño de su conjunto de entrenamiento.

  • El error de entrenamiento aumenta a medida que aumenta el tamaño de su conjunto de datos, porque se hace más difícil ajustar un modelo que tenga en cuenta la creciente complejidad / variabilidad de su conjunto de entrenamiento.
  • El error de prueba disminuye a medida que aumenta el tamaño de su conjunto de datos, porque el modelo puede generalizar mejor a partir de una mayor cantidad de información.

Como puede ver en la parte más a la derecha de la trama, las dos líneas en la trama tienden a llegar y a la asíntota. Por lo tanto, eventualmente llegará a un punto en el que aumentar el tamaño de su conjunto de datos no tendrá un impacto en su modelo entrenado.

La distancia entre el error de prueba y las asíntotas de error de entrenamiento es una representación del sobreajuste de su modelo. Pero lo más importante, esta trama dice si necesita más datos. Básicamente, si representa un error de prueba y entrenamiento para aumentar subconjuntos más grandes de sus datos de entrenamiento, y las líneas no parecen estar llegando a una asíntota, debe seguir recolectando más datos.

Pablo Suau
fuente
En la función learning_curve debería pasar X_train, y_train: Only train subsetoX, y: the entire dataset
Rookie_123
Esta curva se construye como resultado de aplicar la validación cruzada a medida que aumenta el número de muestras. Por lo tanto, necesita todo el conjunto de datos.
Pablo Suau
4
  1. Sí, el problema es ciertamente relevante, ya que su capacidad para ajustar el modelo dependerá de la cantidad de datos que tenga, pero lo más importante, depende de la calidad de los predictores.
  2. Una regla de 10 veces puede ser una regla general (y hay muchas otras), pero realmente depende de la utilidad predictiva de sus características. Por ejemplo, el conjunto de datos del iris es bastante pequeño pero fácil de resolver, porque las características producen una buena separación de los objetivos. Por el contrario, podría tener 10 millones de ejemplos y no encajar si las características son débiles.
HEITZ
fuente
¡Gracias! ¿Me puede sugerir también algunos documentos o algún material para leer?
DavideChicco.it