Grundsätzlich gibt es zwei gängige Methoden, um gegen große Datenmengen zu lernen (wenn Sie mit zeitlichen / räumlichen Einschränkungen konfrontiert sind):
- Betrug :) - Verwenden Sie nur eine "überschaubare" Teilmenge für das Training. Der Genauigkeitsverlust kann aufgrund des Gesetzes zur Verringerung der Rendite vernachlässigbar sein - die Vorhersageleistung des Modells wird häufig lange bevor alle Trainingsdaten in das Modell aufgenommen werden, flacher.
- Paralleles Rechnen - Teilen Sie das Problem in kleinere Teile auf und lösen Sie jedes auf einem separaten Computer / Prozessor. Sie benötigen zwar eine parallele Version des Algorithmus, aber eine gute Nachricht ist, dass viele gängige Algorithmen von Natur aus parallel sind: nächster Nachbar, Entscheidungsbäume usw.
Gibt es andere Methoden? Gibt es eine Faustregel, wann jeder verwendet werden soll? Was sind die Nachteile jedes Ansatzes?
quelle
Anstatt nur eine Teilmenge zu verwenden, können Sie wie beim Mini-Batch-Lernen mehrere Teilmengen verwenden (z. B. stochastischer Gradientenabstieg). Auf diese Weise würden Sie immer noch alle Ihre Daten nutzen.
quelle
Ensembles wie Absacken oder Mischen - es werden keine Daten verschwendet, das Problem wird automatisch trivial parallel und es kann zu erheblichen Genauigkeits- / Robustheitsgewinnen kommen.
quelle