Quais algoritmos de aprendizado de máquina podem ser escalados usando hadoop / map-reduz


9

Atualmente, os algoritmos de aprendizado de máquina escalonáveis ​​parecem o burburinho. Toda empresa está lidando com nada além de big data . Existe um livro que discute quais algoritmos de aprendizado de máquina podem ser escalados usando arquiteturas paralelas como Map-Reduce e quais algoritmos não? Ou alguns documentos relevantes?

Respostas:



4

O Vowpal Wabbit, um programa de aprendizado de máquina muito rápido, focado no aprendizado de descida gradiente on-line, pode ser usado com o Hadoop: http://arxiv.org/abs/1110.4198 No entanto, nunca o usei dessa maneira. Se eu entendi direito, ele realmente só usa o Hadoop para oferecer confiabilidade e fornecer os dados aos processos do Vowpal Wabbit. Ele usa algo como o AllReduce da MPI para fazer a maior parte da comunicação.


4

Como Jimmy Lin e Chris Dyer apontam no primeiro capítulo de seu livro sobre mineração de texto intensiva em dados com o MapReduce , em grandes escalas de dados, o desempenho de diferentes algoritmos converge para que as diferenças de desempenho praticamente desapareçam. Isso significa que, dado um conjunto de dados grande o suficiente, o algoritmo que você deseja usar é o que é computacionalmente mais barato. É apenas em escalas de dados menores que as diferenças de desempenho entre algoritmos são importantes.

Dito isto, o livro ( link acima) e o Mining of Massive Datasets de Anand Rajaraman, Jure Leskovec e Jeffrey D. Ullman provavelmente são dois livros que você também precisará conferir, especialmente porque estão diretamente relacionados ao MapReduce para fins de mineração de dados.


1
"... em larga escala, o desempenho de diferentes algoritmos converge ..." Eu não sabia disso. Obrigado por esse insight útil. Além disso, deparei-me com "Mineração de conjuntos de dados maciços" e achei muito útil. Também olhará para o outro livro.
26413 Nik


1

Ninguém mencionou o seguinte artigo - http://papers.nips.cc/paper/3150-map-reduce-for-machine-learning-on-multicore.pdf (Andrew Ng é um dos autores)

O documento em si é para máquinas com vários núcleos, mas trata-se essencialmente de reformular problemas de aprendizado de máquina para que eles se ajustem ao padrão de redução de mapa e possam ser usados ​​para um cluster de computadores. (para entender por que essa não é uma boa ideia em geral, você pode ler este documento - http://arxiv.org/pdf/1006.4990v1.pdf . Ele tem uma boa visão geral).


Além disso, Mahout foi uma tentativa de implementar o artigo de Andrew Ng que mencionei.
user48654

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.