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?

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.


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.


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).


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.