Qual è la differenza tra apprendimento online e batch?


16

Al momento ho letto l'articolo Efficient Online and Batch Learning usando Forward-Backward Splitting di John Duchi e Yoram Singer. Sono molto confuso sull'uso dei termini "Online" e "Batch".

Ho pensato "Online" significa che aggiorniamo i parametri di peso dopo aver elaborato un'unità dei dati di allenamento. Quindi utilizziamo i nuovi parametri di peso per elaborare l'unità successiva dei dati di allenamento.

Tuttavia, nel documento sopra, l'uso non è così chiaro.


1
e la domanda è?
a.desantos,

Risposte:


5

A me sembra che stiano usando correttamente l'apprendimento batch e online. Nella sezione 3 stanno lavorando sull'intero set di dati per eseguire l'apprendimento, cioè l'apprendimento batch, mentre nella sezione 4 passano al gradiente stocastico che può essere utilizzato come algoritmo di apprendimento online.

Non ho mai usato il gradiente stocastico come algoritmo di apprendimento online; tuttavia, è possibile semplicemente interrompere il processo di ottimizzazione nel mezzo di una corsa di apprendimento ed è ancora un modello utile. Per set di dati molto grandi, ciò è utile poiché è possibile misurare la convergenza e abbandonare l'apprendimento in anticipo. Puoi usare il gradiente stocastico come metodo di apprendimento online poiché aggiorni il modello per ogni nuovo punto dati, come penso tu stesso abbia detto. Tuttavia, starei attento a chiamarlo "per dati di allenamento". I dati di allenamento sono un set di dati, non un punto dati, ma penso di averti capito da quando hai detto " per dati di allenamento".


ftft


11

Batch versus apprendimento on-line

Le modalità online e batch sono leggermente diverse, sebbene entrambe funzioneranno bene per superfici con prestazioni paraboliche. Una delle principali differenze è che l'algoritmo batch mantiene costante il peso del sistema mentre calcola l'errore associato a ciascun campione nell'input. Poiché la versione online aggiorna costantemente i suoi pesi, il calcolo dell'errore (e quindi la stima del gradiente) utilizza pesi diversi per ciascun campione di input. Ciò significa che i due algoritmi visitano diversi set di punti durante l'adattamento. Tuttavia, entrambi convergono allo stesso minimo.

Si noti che il numero di aggiornamenti di peso dei due metodi per lo stesso numero di presentazioni di dati è molto diverso. Il metodo on-line (LMS) aggiorna ogni campione, mentre batch aggiorna ogni epoca, ovvero

Aggiornamenti LMS = (aggiornamenti batch) x (# di campioni nel set di addestramento).

L'algoritmo batch è anche leggermente più efficiente in termini di numero di calcoli.

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.