Los algoritmos de aprendizaje automático escalables parecen estar de moda estos días. Todas las empresas están manejando nada menos que datos masivos . ¿Existe algún libro de texto en el que se hable de qué algoritmos de aprendizaje automático pueden escalarse utilizando arquitecturas paralelas como Map-Reduce, y qué algoritmos no? ¿O algunos artículos relevantes?
Respuestas
¿Demasiados anuncios?Mahout in Action es un buen libro para leer sobre Mahout ( http://manning.com/owen/ ). Por supuesto, el sitio web tiene una visión general de los algoritmos cubiertos ( http://mahout.apache.org/ ).
Vowpal Wabbit, un programa de aprendizaje automático muy rápido centrado en el aprendizaje por descenso de gradiente en línea, puede utilizarse con Hadoop: http://arxiv.org/abs/1110.4198 Aunque, nunca lo he usado de esta manera. Si lo entiendo correctamente, realmente sólo utiliza Hadoop para la fiabilidad y el suministro de los datos a los procesos Vowpal Wabbit. Utiliza algo como AllReduce de MPI para hacer la mayor parte de la comunicación.
Como señalan Jimmy Lin y Chris Dyer en el primer capítulo de su libro sobre Minería de textos con uso intensivo de datos con MapReduce A gran escala de datos, el rendimiento de los distintos algoritmos converge de tal manera que las diferencias de rendimiento prácticamente desaparecen. Esto significa que, dado un conjunto de datos lo suficientemente grande, el algoritmo que se quiere utilizar es el que es computacionalmente menos caro. Las diferencias de rendimiento entre los algoritmos sólo son importantes a escalas de datos más pequeñas.
Dicho esto, su libro (enlazado arriba) y Extracción de conjuntos de datos masivos de Anand Rajaraman, Jure Leskovec y Jeffrey D. Ullman son probablemente dos libros que también querrás consultar, especialmente porque están directamente relacionados con MapReduce para fines de minería de datos.
Si tienes acceso a un clúster Hadoop, yo le daría un vistazo a Spark. https://spark.apache.org/