Approcci durante l'apprendimento da enormi set di dati?


10

Fondamentalmente, ci sono due modi comuni per imparare contro enormi set di dati (quando ti trovi di fronte a restrizioni di tempo / spazio):

  1. Barare :): utilizzare solo un sottoinsieme "gestibile" per l'allenamento. La perdita di accuratezza può essere trascurabile a causa della legge dei rendimenti decrescenti: le prestazioni predittive del modello spesso si appiattiscono molto prima che tutti i dati di addestramento vengano incorporati in esso.
  2. Elaborazione parallela: dividi il problema in parti più piccole e risolvi ciascuna su una macchina / processore separata. Tuttavia, è necessaria una versione parallela dell'algoritmo, ma la buona notizia è che molti algoritmi comuni sono naturalmente paralleli: il più vicino, gli alberi delle decisioni, ecc.

Ci sono altri metodi? C'è qualche regola empirica quando usarli? Quali sono gli svantaggi di ciascun approccio?

Risposte:


10

Streaming mining è una risposta. Si chiama anche:


concordato, la cassetta degli attrezzi del MOA sarebbe un buon punto di partenza
tdc

7

Invece di utilizzare solo un sottoinsieme, è possibile utilizzare più sottoinsiemi come nell'apprendimento in mini lotti (ad es. Discesa gradiente stocastica). In questo modo utilizzeresti comunque tutti i tuoi dati.


Ah, questo è un buon punto - ho chiarito la domanda. Sono interessato a uno scenario in cui ti trovi di fronte a limiti di tempo / spazio e "mini-batch" di apprendimento.
Andreister

1

Insiemi come l'insaccamento o la fusione: nessun dato viene sprecato, il problema diventa banalmente parallelo e potrebbero esserci significativi miglioramenti di precisione / robustezza.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.