10 votos

¿Cuál es la forma más eficaz de los datos de entrenamiento utilizando menos memoria?

Este es mi entrenamiento de datos: Ejemplos de 200.000 x 10.000 Características. Así que mi formación de matriz de datos es - 200,000 x 10.000.

Me las arreglé para guardar esto en un archivo plano sin tener problemas de memoria por el ahorro de cada conjunto de datos uno por uno (un ejemplo tras otro) como puedo generar las características de cada ejemplo.

Pero, ahora, cuando yo uso la Leche, SVMluz, o en cualquier otra Máquina Algoritmo de Aprendizaje, todo lo que intenta cargar el conjunto de datos de entrenamiento en memoria en lugar de la formación de uno por uno. Sin embargo, sólo tengo 8 GB de RAM, así que no puedo continuar de esta manera.

¿Sabe usted de todos modos podía entrenar el algoritmo de un conjunto de datos mediante un conjunto de datos? I. e., de modo que en cualquier instante acabo de tener un conjunto de datos se cargan en la memoria, mientras que la formación.

4voto

Boris Tsirelson Puntos 191

Creo que el término para este tipo de aprendizaje está fuera de núcleo de aprendizaje. Una sugerencia es vowpal wabbit, que tiene un conveniente R de la biblioteca, así como las bibliotecas para muchos otros idiomas.

1voto

ripper234 Puntos 39314

Yo sinceramente segundo Zach de la sugerencia. vowpal wabbit es una excelente opción, y usted sería sorprendido por su velocidad. Un 200k por 10k conjunto de datos no se considera grande por vowpal wabbit normas.

vowpal_wabbit (disponible en forma de código fuente a través de https://github.com/JohnLangford/vowpal_wabbit, una más vieja versión está disponible como un paquete estándar de Ubuntu universo) es un rápido online lineal + bilineal alumno, con muy flexible de entrada. Usted puede mezclar binario numéricos y valores de las características. No hay necesidad para el número de características como nombres de variables trabajará "como es". Que tiene un montón de opciones, los algoritmos, las reducciones, la pérdida de las funciones, y todo-en-todo gran flexibilidad. Usted puede unirse a la lista de correo (ver a través de github) y pregunte a cualquier pregunta. La comunidad es muy atento y de apoyo.

1voto

Atilla Ozgur Puntos 666

Me respondió pregunta similar aquí. El punto es que la mayoría de la máquina de aprendizaje/algoritmos de minería de datos son por lotes estudiantes que se cargan todos los datos a la memoria. Por lo tanto, tienen diferentes herramientas para conjuntos de datos muy grandes como tú. Ver que las preguntas de herramientas también.

El Aprendizaje en línea es una manera de reducir la huella en la memoria de los algoritmos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X