Quelle est la différence entre l'apprentissage en ligne et l'apprentissage par lots?

16

Je lis actuellement l'article Efficient Online and Batch Learning using Forward-Backward Splitting de John Duchi et Yoram Singer. Je suis très confus quant à l'utilisation des termes «en ligne» et «lot».

Je pensais que «en ligne» signifie que nous mettons à jour les paramètres de poids après avoir traité une unité des données d'entraînement. Ensuite, nous utilisons les nouveaux paramètres de poids pour traiter l'unité suivante des données d'entraînement.

Cependant, dans le document ci-dessus, l'utilisation n'est pas aussi claire.

Vivian
la source
1
et la question est?
a.desantos

Réponses:

5

Pour moi, il semble qu'ils utilisent correctement l'apprentissage par lots et en ligne. Dans la section 3, ils travaillent sur l'ensemble des données pour effectuer l'apprentissage, c'est-à-dire l'apprentissage par lots, tandis que dans la section 4, ils passent au gradient stochastique suivant qui peut être utilisé comme algorithme d'apprentissage en ligne.

Je n'ai jamais utilisé le suivi de gradient stochastique comme algorithme d'apprentissage en ligne; cependant, il est possible d'arrêter simplement le processus d'optimisation au milieu d'un cycle d'apprentissage et c'est toujours un modèle utile. Pour les jeux de données très volumineux, cela est utile car vous pouvez mesurer la convergence et quitter l'apprentissage tôt. Vous pouvez utiliser le suivi de gradient stochastique comme méthode d'apprentissage en ligne puisque vous mettez à jour le modèle pour chaque nouveau point de données, comme je pense que vous l'avez dit vous-même. Cependant, je ferais attention à ne pas l'appeler "par données d'entraînement". Les données d'entraînement sont un ensemble de données, pas un point de données, mais je pense que je vous ai compris puisque vous avez dit « par données d'entraînement».

André Christoffer Andersen
la source
Merci pour votre réponse. Dans la section, les auteurs disent , ils devraient utiliser l'ensemble de formation avec le même numéro pour chacun. J'étais confus parce que dans l'apprentissage par lots, t signifie le nombre d'itérations. Mais dans l'apprentissage en ligne, t correspond à l'ensemble de données . FtFt
Vivian
11

Apprentissage par lots ou en ligne

Les modes en ligne et par lots sont légèrement différents, bien que les deux fonctionnent bien pour les surfaces de performance paraboliques. Une différence majeure est que l'algorithme par lots maintient les poids du système constants tout en calculant l'erreur associée à chaque échantillon dans l'entrée. Étant donné que la version en ligne met constamment à jour ses poids, son calcul d'erreur (et donc son estimation de gradient) utilise des poids différents pour chaque échantillon d'entrée. Cela signifie que les deux algorithmes visitent différents ensembles de points pendant l'adaptation. Cependant, ils convergent tous les deux vers le même minimum.

Notez que le nombre de mises à jour de poids des deux méthodes pour le même nombre de présentations de données est très différent. La méthode en ligne (LMS) met à jour chaque échantillon, tandis que le lot fait une mise à jour à chaque époque, c'est-à-dire

Mises à jour LMS = (mises à jour par lots) x (nombre d'échantillons dans l'ensemble de formation).

L'algorithme batch est également légèrement plus efficace en termes de nombre de calculs.

user69945
la source