¿Enfoques al aprender de grandes conjuntos de datos?

10

Básicamente, hay dos formas comunes de aprender contra grandes conjuntos de datos (cuando te enfrentas a restricciones de tiempo / espacio):

  1. Hacer trampa :): use solo un subconjunto "manejable" para el entrenamiento. La pérdida de precisión puede ser insignificante debido a la ley de rendimientos decrecientes: el rendimiento predictivo del modelo a menudo se aplana mucho antes de que se incorporen todos los datos de entrenamiento.
  2. Computación en paralelo: divida el problema en partes más pequeñas y resuelva cada una en una máquina / procesador separado. Sin embargo, necesita una versión paralela del algoritmo, pero una buena noticia es que muchos algoritmos comunes son naturalmente paralelos: vecino más cercano, árboles de decisión, etc.

¿Hay otros métodos? ¿Hay alguna regla general cuando usar cada uno? ¿Cuáles son los inconvenientes de cada enfoque?

andreister
fuente

Respuestas:

10

Stream Mining es una respuesta. También es llamado:

Atilla Ozgur
fuente
acordado, la caja de herramientas MOA sería un buen lugar para comenzar
tdc
7

En lugar de usar solo un subconjunto, podría usar múltiples subconjuntos como en el aprendizaje de mini lotes (por ejemplo, descenso de gradiente estocástico). De esta manera, aún haría uso de todos sus datos.

Lucas
fuente
Ajá, ese es un buen punto. Aclaré la pregunta. Estoy interesado en un escenario en el que te enfrentas a restricciones de tiempo / espacio y "no puedes permitirte" el mini aprendizaje por lotes.
andreister
1

Conjuntos como embolsado o mezcla: no se desperdician datos, el problema se vuelve automáticamente trivialmente paralelo y puede haber ganancias significativas de precisión / robustez.


fuente