Apprendimento online vs offline?


38

Qual è la differenza tra apprendimento offline e online ? È solo una questione di apprendimento sull'intero set di dati (offline) rispetto all'apprendimento incrementale (un'istanza alla volta)? Quali sono esempi di algoritmi utilizzati in entrambi?

Risposte:


26

L'apprendimento online significa che lo stai facendo man mano che arrivano i dati. Offline significa che hai un set di dati statico.

Quindi, per l'apprendimento online, hai (in genere) più dati, ma hai vincoli di tempo. Un'altra ruga che può influire sull'apprendimento online è che i tuoi concetti potrebbero cambiare nel tempo.

Supponiamo che tu voglia creare un classificatore per riconoscere lo spam. È possibile acquisire un ampio corpus di e-mail, etichettarlo e formare un classificatore su di esso. Questo sarebbe apprendimento offline. Oppure, puoi prendere tutta la posta elettronica che arriva nel tuo sistema e aggiornare continuamente il tuo classificatore (le etichette potrebbero essere un po 'complicate). Questo sarebbe apprendimento online.


7
Sì, e un leggero chiarimento è che gli algoritmi di apprendimento online, almeno come studiato in Machine Learning, presumono principalmente che la tua capacità di memorizzare esempi sia molto limitata rispetto alle dimensioni del set di dati. Nel caso più limitativo, puoi vedere solo un esempio alla volta e poi devi dimenticarlo dopo averlo usato per aggiornare il tuo classificatore.
Harlan,

8

Il termine "online" è sovraccarico e quindi causa confusione nel dominio dell'apprendimento automatico.

Il contrario di "online" è l'apprendimento batch. Nell'apprendimento batch, l'algoritmo di apprendimento aggiorna i suoi parametri dopo aver consumato l'intero batch, mentre nell'apprendimento online, l'algoritmo aggiorna i suoi parametri dopo aver appreso da 1 istanza di training. Il mini batch learning è il punto intermedio tra l'apprendimento in batch da un lato e l'apprendimento online dall'altro estremo.

Inoltre, "quando" arrivano i dati o se possono essere archiviati o meno, è ortogonale all'apprendimento online o in batch.

Si ritiene che l'apprendimento online sia più lento a convergere in un minimo, rispetto all'apprendimento in lotti. Tuttavia, nei casi in cui l'intero set di dati non rientra nella memoria, l'utilizzo dell'apprendimento online è un compromesso accettabile.


Non penso sia vero. Quello che descrivi è l'algoritmo di ottimizzazione discesa graduale stocastica (o online) che può essere utilizzata per le impostazioni dei problemi sia online che offline.
danijar,

Credo che "come i dati arrivano" si riferisce agli algoritmi online e offline en.wikipedia.org/wiki/Online_algorithm Ritengo che i PO definiti per l'apprendimento online facciano chiaramente questa distinzione. Algos online -> processo man mano che arrivano i dati. Apprendimento online -> aggiorna progressivamente il modello sottostante durante l'addestramento.
gokul_uf,

4

Apprendimento online (chiamato anche apprendimento incrementale ): consideriamo un'unica presentazione degli esempi. In questo caso, ogni esempio viene utilizzato in sequenza secondo le modalità prescritte dall'algoritmo di apprendimento e quindi gettato via. Le variazioni di peso effettuate in una determinata fase dipendono specificamente solo dall'esempio (attuale) presentato e possibilmente dallo stato corrente del modello. È la procedura naturale per le regole che variano nel tempo in cui gli esempi potrebbero non essere disponibili in una sola volta.

Apprendimento offline : le variazioni di peso dipendono dall'insieme di dati (allenamento), definendo una funzione di costo globale. Gli esempi vengono utilizzati ripetutamente fino a quando non viene raggiunta la minimizzazione di questa funzione di costo.

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.