Które algorytmy uczenia maszynowego można skalować za pomocą funkcji zmniejszania / zmniejszania mapy

9

Skalowalne algorytmy uczenia maszynowego wydają się być gwarem w dzisiejszych czasach. Każda firma obsługuje wyłącznie duże zbiory danych . Czy istnieje podręcznik omawiający, jakie algorytmy uczenia maszynowego można skalować za pomocą architektur równoległych, takich jak Map-Reduce, a które nie mogą? Lub jakieś odpowiednie dokumenty?

Nik
źródło

Odpowiedzi:

4

Vowpal Wabbit, bardzo szybki program do uczenia maszynowego skoncentrowany na uczeniu się gradientu w Internecie, może być używany z Hadoop: http://arxiv.org/abs/1110.4198 Chociaż nigdy nie używałem go w ten sposób. Jeśli dobrze to rozumiem, tak naprawdę używa Hadoop tylko do zapewnienia niezawodności i dostarczania danych do procesów Vowpal Wabbit. Wykorzystuje coś takiego jak AllReduce MPI, aby wykonać większość komunikacji.

ektrules
źródło
4

Jak podkreślają Jimmy Lin i Chris Dyer w pierwszym rozdziale swojej książki o intensywnym przetwarzaniu tekstu za pomocą MapReduce , w dużych skalach danych, wydajność różnych algorytmów zbiega się tak, że różnice wydajności praktycznie znikają. Oznacza to, że biorąc pod uwagę wystarczająco duży zestaw danych, algorytm, którego chcesz użyć, jest tym, który jest obliczeniowo tańszy. Różnice w wydajności między algorytmami mają znaczenie tylko w mniejszych skalach danych.

To powiedziawszy, ich książka (link powyżej) i Mining of Massive Datasets Ananda Rajaramana, Jure Leskovec i Jeffrey D. Ullman to prawdopodobnie dwie książki, które również chcesz sprawdzić, zwłaszcza, że ​​są one bezpośrednio związane z MapReduce do celów eksploracji danych.

Richard D.
źródło
1
„.. na dużą skalę wydajność różnych algorytmów jest zbieżna ...” Nie wiedziałem tego. Dzięki za ten pomocny wgląd. Ponadto natknąłem się na „Mining of Massive Datasets” i uznałem, że jest to bardzo przydatne. Spojrzy też na drugą książkę.
Nik
1

Nikt nie wspomniał o następującym artykule - http://papers.nips.cc/paper/3150-map-reduce-for-machine-learning-on-multicore.pdf (Andrew Ng jest jednym z autorów)

Sam artykuł dotyczy maszyn wielordzeniowych, ale zasadniczo dotyczy przekształcania problemów z uczeniem maszynowym, tak aby pasowały do ​​wzorca zmniejszania mapy, i mogą być używane w klastrze komputerów. (aby zobaczyć, dlaczego ogólnie nie jest to dobry pomysł, możesz przeczytać ten artykuł - http://arxiv.org/pdf/1006.4990v1.pdf . Ma dobry przegląd).

użytkownik48654
źródło
Mahout był także próbą wdrożenia artykułu Andrew Ng, o którym wspomniałem.
user48654
0

Skalowanie uczenia maszynowego : podejścia równoległe i rozproszone to świetna książka autorstwa Johna Langforda i in. glin. który omawia równoległe implementacje nadzorowanych i nienadzorowanych algorytmów. Mówi o MapReduce, zestawach drzew decyzyjnych, równoległych środkach K, równoległym SVM, propagacji przekonań i AD-LDA.

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

Vadim Smolyakov
źródło