Quels algorithmes d'apprentissage automatique peuvent être mis à l'échelle à l'aide de hadoop / map-Reduce

9

Les algorithmes d'apprentissage automatique évolutifs semblent être à la mode ces jours-ci. Chaque entreprise ne gère rien de moins que les mégadonnées . Existe-t-il un manuel qui explique quels algorithmes d'apprentissage automatique peuvent être mis à l'échelle en utilisant des architectures parallèles comme Map-Reduce, et quels algorithmes ne le peuvent pas? Ou quelques papiers pertinents?

Nik
la source

Réponses:

4

Vowpal Wabbit, un programme d'apprentissage automatique très rapide axé sur l'apprentissage de descente de gradient en ligne, peut être utilisé avec Hadoop: http://arxiv.org/abs/1110.4198 Cependant, je ne l'ai jamais utilisé de cette façon. Si je comprends bien, il n'utilise vraiment Hadoop que pour la fiabilité et la fourniture des données aux processus Vowpal Wabbit. Il utilise quelque chose comme AllReduce de MPI pour faire la plupart de la communication.

ektrules
la source
4

Comme le soulignent Jimmy Lin et Chris Dyer dans le premier chapitre de leur livre sur l' exploration de texte intensive en données avec MapReduce , à de grandes échelles de données, les performances de différents algorithmes convergent de telle sorte que les différences de performances disparaissent pratiquement. Cela signifie que, étant donné un ensemble de données suffisamment grand, l'algorithme que vous souhaitez utiliser est celui qui est le moins cher en termes de calcul. Ce n'est qu'à des échelles de données plus petites que les différences de performances entre les algorithmes sont importantes.

Cela étant dit, leur livre (lié ci-dessus) et Mining of Massive Datasets par Anand Rajaraman, Jure Leskovec et Jeffrey D. Ullman sont probablement deux livres que vous voudrez également consulter, d'autant plus qu'ils sont directement concernés par MapReduce à des fins d'exploration de données.

Richard D
la source
1
"..à grande échelle, les performances des différents algorithmes convergent ..." Je ne le savais pas. Merci pour ces informations utiles. De plus, je suis tombé sur "Mining of Massive Datasets" et je l'ai trouvé très utile. Regardera aussi l'autre livre.
Nik
1

Personne n'a mentionné le document suivant - http://papers.nips.cc/paper/3150-map-reduce-for-machine-learning-on-multicore.pdf (Andrew Ng est l'un des auteurs)

Le papier lui-même est destiné aux machines multi-cœurs, mais il s'agit essentiellement de refondre les problèmes d'apprentissage automatique afin qu'ils correspondent au modèle de réduction de carte, et peut être utilisé pour un cluster d'ordinateurs. (pour voir pourquoi ce n'est pas une bonne idée en général, vous voudrez peut-être lire cet article - http://arxiv.org/pdf/1006.4990v1.pdf . Il a une bonne vue d'ensemble).

user48654
la source
De plus, Mahout était une tentative de mettre en œuvre le document d'Andrew Ng que j'ai mentionné.
user48654
0

Renforcer l'apprentissage automatique : approches parallèles et distribuées est un excellent livre de John Langford et. Al. qui discute des implémentations parallèles d'algorithmes supervisés et non supervisés. Il parle de MapReduce, des ensembles d'arbres de décision, des moyens K parallèles, des SVM parallèles, de la propagation des croyances et de l'AD-LDA.

https://www.amazon.com/Scaling-Machine-Learning-Distributed-Approaches/dp/0521192242

Vadim Smolyakov
la source