Aprendizaje batch y online

Aprendizaje batch

En el aprendizaje tipo batch (lo que podemos traducir por "en lote"), también llamado aprendizaje offline, el modelo se entrena con todos los datos disponibles, lo que se hace antes de realizar ningún tipo de predicción. Si los datos de entrenamiento cambian -por ejemplo, si se reciben nuevos datos-, el modelo deberá ser reentrenado desde cero.

Aprendizaje online

En el aprendizaje online, el modelo se entrena incrementalmente con cada una de las nuevas muestras que se reciban, o en grupos pequeños de muestras llamados mini-batches (o mini-lotes).

Estos sistemas son más adecuados en entornos en los que los datos a partir de los que se entrena el algoritmo cambian con cierta rapidez. También son especialmente útiles en escenarios en los que no es posible cargar todos los datos en la memoria del ordenador (escenarios denominados "out-of-core learning").

En este tipo de aprendizaje resulta crítica la velocidad con la que el modelo deberá adaptarse a los nuevos datos, parámetro al que se denomina tasa de aprendizaje o learning rate (veremos más adelante que este concepto tiene otras acepciones). Una mayor tasa de aprendizaje llevará al modelo a olvidar más rápidamente los datos previamente considerados y, al contrario, una menor tasa de aprendizaje supondrá una mayor "inercia" y llevará al modelo a olvidar los datos antiguos más despacio.

En realidad, en ambos enfoques el entrenamiento se realiza "offline" (es decir, se entrena el modelo y solo después es posible realizar predicciones a partir de él), por lo que el nombre de "aprendizaje online" puede resultar confuso.