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?
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:
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.
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.
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.