Actualmente leo el artículo Efficient Online y Batch Learning usando Forward-Backward Splitting de John Duchi y Yoram Singer. Estoy muy confundido sobre el uso de los términos 'Online' y 'Batch'.
Pensé que "en línea" significa que actualizamos los parámetros de peso después de procesar una unidad de los datos de entrenamiento. Luego usamos los nuevos parámetros de peso para procesar la siguiente unidad de los datos de entrenamiento.
Sin embargo, en el documento anterior, el uso no es tan claro.
Respuestas:
Para mí, parece que están utilizando el aprendizaje por lotes y en línea correctamente. En la sección 3 están trabajando en todo el conjunto de datos para realizar el aprendizaje, es decir, el aprendizaje por lotes, mientras que en la sección 4 cambian al siguiente gradiente estocástico que puede usarse como un algoritmo de aprendizaje en línea.
Nunca he usado el seguimiento de gradiente estocástico como algoritmo de aprendizaje en línea; sin embargo, es posible simplemente detener el proceso de optimización en medio de una ejecución de aprendizaje y seguir siendo un modelo útil. Para conjuntos de datos muy grandes, esto es útil, ya que puede medir la convergencia y dejar de aprender temprano. Puede usar el seguimiento de gradiente estocástico como método de aprendizaje en línea, ya que actualiza el modelo para cada nuevo punto de datos, como creo que usted mismo dijo. Sin embargo, sería cuidadoso al llamarlo "por datos de entrenamiento". Los datos de entrenamiento son un conjunto de datos, no un punto de datos, pero creo que te entendí desde que dijiste " por datos de entrenamiento".
fuente
En breve,
En línea: Aprendizaje basado en cada patrón tal como se observa.
Lote: Aprendizaje sobre grupos de patrones. La mayoría de los algoritmos son por lotes.
Fuente: http://machinelearningmastery.com/basic-concepts-in-machine-learning/
fuente
Lote versus aprendizaje en línea
Los modos en línea y por lotes son ligeramente diferentes, aunque ambos funcionarán bien para superficies de rendimiento parabólico. Una diferencia importante es que el algoritmo por lotes mantiene los pesos del sistema constantes mientras calcula el error asociado con cada muestra en la entrada. Dado que la versión en línea actualiza constantemente sus pesos, su cálculo de error (y, por lo tanto, la estimación del gradiente) usa pesos diferentes para cada muestra de entrada. Esto significa que los dos algoritmos visitan diferentes conjuntos de puntos durante la adaptación. Sin embargo, ambos convergen al mismo mínimo.
Tenga en cuenta que la cantidad de actualizaciones de peso de los dos métodos para la misma cantidad de presentaciones de datos es muy diferente. El método en línea (LMS) actualiza cada muestra, mientras que el lote actualiza cada época, es decir,
Actualizaciones de LMS = (actualizaciones por lotes) x (# de muestras en el conjunto de entrenamiento).
El algoritmo por lotes también es ligeramente más eficiente en términos de número de cálculos.
fuente