Uczenie maszynowe na dużą skalę [zamknięte]
Muszę uruchomić różne techniki uczenia maszynowego na dużym zbiorze danych (10-100 miliardów rekordów) Problemy dotyczą głównie wydobywania tekstu/ekstrakcji informacji i obejmują różne techniki jądra, ale nie są ograniczone do nich (używamy niektórych metod bayesowskich, bootstrapping, gradient boosting, drzewa regresji-wiele różnych problemów i sposobów ich rozwiązania)
Jaka byłaby najlepsza realizacja? Mam doswiadczenie w ML ale nie mam duzego doswiadczenia jak to zrobic za ogromne zestawy danych Czy istnieją rozszerzalne i konfigurowalne Biblioteki uczenia maszynowego wykorzystujące infrastrukturę MapReduce Silne preferencje do c++, ale Java i python są ok Amazon Azure czy własne datacenter (stać nas na to)?
8 answers
O ile przestrzeń Stanów klasyfikacji, której próbujesz się nauczyć, nie jest bardzo duża, spodziewałbym się, że istnieje znaczna redundancja w zbiorze danych skupionym na eksploracji tekstu z 10-100 miliardami rekordów lub próbkami treningowymi. Jako odgadnięcie, wątpię, że trzeba byłoby znacznie więcej niż 1-2% podzbiór próby losowej, aby nauczyć się wiarygodnych klasyfikatorów, które wytrzymałyby dobrze w testach walidacji krzyżowej.
Szybkie wyszukiwanie literatury wyszło z następujących odpowiednich dokumentów. Na Tsang paper twierdzi O (n) złożoność czasowa dla n próbek szkoleniowych, a oprogramowanie z tym związane jest dostępne jako libcvm toolkit. W artykule Wolfe opisuje rozproszone podejście EM oparte na MapReduce.
Wreszcie, na konferencji NIPS 2009 odbyły się warsztaty uczenia maszynowego na dużą skalę, które miały wiele interesujących i istotnych prezentacji.
Referencje
Ivor W. Tsang, James T. Kwok, Pak-Ming Cheung (2005). "Core Vector Machines: Fast SVM Training on Very Large Data Sets", Journal of Machine Learning Research, vol 6, pp 363-392.
J Wolfe, A Haghighi, D Klein (2008). "[23]}w pełni rozproszony EM dla bardzo dużych zbiorów danych ", Proceedings of the 25th International Conference on Machine Learning, pp 1184-1191.
Olivier Camp, Joaquim B. L. Filipe, Slimane Hammoudi i Mario Piattini (2005). "wydobywanie bardzo dużych zbiorów danych za pomocą maszyny wektorowej Algorytmy ", Enterprise Information Systems V, Springer Holandia, pp 177-184.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-09 04:43:44
Apache Mahout jest tym, czego szukasz.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-09 02:57:33
Późna odpowiedź, ale tutaj jest dobry link do eksploracji danych na dużą skalę i uczenia maszynowego: Projekt GraphLab składa się z rdzenia C++ GraphLab API i zbioru wysokowydajnych zestawów narzędzi do uczenia maszynowego i eksploracji danych zbudowanych na bazie API GraphLab. Ponadto aktywnie rozwijamy nowe interfejsy, aby umożliwić użytkownikom korzystanie z API GraphLab z innych języków i technologii.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-10 09:15:15
Nie znam żadnej biblioteki ML używającej map/reduce. Może masz możliwość korzystania z biblioteki ML i biblioteki Map/Reduce razem? Warto zajrzeć do mapy Hadoop / zredukować: http://hadoop.apache.org/mapreduce/
Trzeba by zaimplementować metody reduce i map. Fakt, że używasz tak wielu technik może to skomplikować.
Możesz uruchomić go na własnym klastrze lub jeśli robisz badania, może mógłbyś zajrzeć do BOINC ( http://boinc.berkeley.edu/).
Z drugiej strony, może możesz zmniejszyć swój zestaw danych. Nie mam pojęcia, na czym trenujesz, ale musi być jakieś zwolnienie w 10 miliardach rekordów...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-09 02:52:31
Nie znam żadnych bibliotek ML, które mogą obsługiwać 10 do 100 miliardów rekordów, to trochę ekstremalne, więc nie spodziewałbym się znaleźć niczego z półki. Polecam zapoznać się z laureatami NetFlix prize: http://www.netflixprize.com//community/viewtopic.php?id=1537
Nagroda NetFlix miał ponad 100 milionów zgłoszeń, więc choć nie jest tak duży, jak zestaw danych, nadal może znaleźć ich rozwiązania do zastosowania. Jaki zespół BelKor {[2] } czy było połączenie wielu algorytmów (coś podobnego do ensemble learning) i wagi "przewidywania" lub wyjście każdego algorytmu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-09 03:01:02
Spójrz na http://hunch.net/?p=1068 dla informacji o Vowpal Wabbit; jest to biblioteka gradientu stochastycznego dla aplikacji na dużą skalę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-26 17:19:07
Mój znajomy pracował nad podobnym projektem. Używał Perla do eksploracji tekstu i matlab do technik takich jak metody bayesowskie, analiza semantyczna utajona i mieszanina Gaussa...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-12 01:12:02
Zobacz listę dużych zasobów uczenia maszynowego (kursy, referaty itp.): http://www.quora.com/Machine-Learning/What-are-some-introductory-resources-for-learning-about-large-scale-machine-learning
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-15 01:18:23