Zasadniczo istnieją dwa typowe sposoby uczenia się przeciwko ogromnym zestawom danych (gdy napotykasz ograniczenia czasowe / przestrzenne):
- 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.
- 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?
machine-learning
large-data
model-evaluation
train
andreister
źródło
źródło
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.
źródło
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