Podejścia przy uczeniu się z ogromnych zestawów danych?

10

Zasadniczo istnieją dwa typowe sposoby uczenia się przeciwko ogromnym zestawom danych (gdy napotykasz ograniczenia czasowe / przestrzenne):

  1. Oszukiwanie :) - użyj tylko „zarządzalnego” podzbioru do treningu. Utrata dokładności może być nieistotna z uwagi na prawo malejących zwrotów - predykcyjne działanie modelu często spłaszcza się na długo przed włączeniem do niego wszystkich danych treningowych.
  2. Przetwarzanie równoległe - podziel problem na mniejsze części i rozwiąż każdą z nich na osobnej maszynie / procesorze. Potrzebujesz jednak równoległej wersji algorytmu, ale dobra wiadomość jest taka, że ​​wiele popularnych algorytmów jest naturalnie równoległych: najbliższy sąsiad, drzewa decyzyjne itp.

Czy są inne metody? Czy jest jakaś reguła, kiedy z nich korzystać? Jakie są wady każdego podejścia?

andreister
źródło

Odpowiedzi:

10

Stream Mining to jedna odpowiedź. Jest również nazywany:

Atilla Ozgur
źródło
zgodził się, zestaw narzędzi MOA byłby dobrym miejscem do rozpoczęcia
tdc
7

Zamiast używać tylko jednego podzbioru, można użyć wielu podzbiorów, tak jak w uczeniu mini-wsadowym (np. Stochastyczne obniżanie gradientu). W ten sposób nadal będziesz korzystać ze wszystkich swoich danych.

Lucas
źródło
Aha, to dobra uwaga - wyjaśniłem pytanie. Interesuje mnie scenariusz, w którym masz do czynienia z ograniczeniami czasowymi / przestrzennymi i „nie stać mnie” na naukę mini-partii.
andreister
1

Zespoły takie jak tworzenie worków lub mieszanie - żadne dane nie są marnowane, problem automatycznie staje się trywialnie równoległy i może wystąpić znaczny wzrost dokładności / niezawodności.


źródło