¿Cuál es la diferencia entre el sistema offline y el aprendizaje en línea ? ¿Se trata simplemente de aprender sobre todo el conjunto de datos (offline) frente a aprender de forma incremental (una instancia cada vez)? ¿Qué ejemplos de algoritmos se utilizan en ambos casos?
Respuestas
¿Demasiados anuncios?El aprendizaje en línea significa que lo haces a medida que llegan los datos. Offline significa que tienes un conjunto de datos estático.
Por lo tanto, en el caso del aprendizaje en línea, se dispone (normalmente) de más datos, pero hay limitaciones de tiempo. Otro aspecto que puede afectar al aprendizaje en línea es que los conceptos pueden cambiar con el tiempo.
Digamos que quieres construir un clasificador para reconocer el spam. Puede adquirir un gran corpus de correo electrónico, etiquetarlo y entrenar un clasificador con él. Esto sería un aprendizaje fuera de línea. O bien, puede tomar todo el correo electrónico que llega a su sistema y actualizar continuamente su clasificador (las etiquetas pueden ser un poco complicadas). Esto sería el aprendizaje en línea.
El término "en línea" está sobrecargado y, por tanto, causa confusión en el ámbito del aprendizaje automático.
Lo contrario de "online" es el aprendizaje por lotes. En el aprendizaje por lotes, el algoritmo de aprendizaje actualiza sus parámetros después de consumir todo el lote, mientras que en el aprendizaje en línea, el algoritmo actualiza sus parámetros después de aprender de una instancia de entrenamiento. El mini aprendizaje por lotes es el punto intermedio entre el aprendizaje por lotes en un extremo y el aprendizaje en línea en el otro.
Además, "cuándo" llegan los datos, o si son susceptibles de ser almacenados o no, es ortogonal al aprendizaje en línea o por lotes.
Se considera que el aprendizaje en línea es más lento para converger a un mínimo, en comparación con el aprendizaje por lotes. Sin embargo, en los casos en los que el conjunto de datos no cabe en la memoria, utilizar el aprendizaje en línea es una compensación aceptable.
Aprendizaje en línea (también llamado aprendizaje incremental ): consideramos una única presentación de los ejemplos. En este caso, cada ejemplo se utiliza secuencialmente de la manera prescrita por el algoritmo de aprendizaje, y luego se desecha. Los cambios de peso realizados en una etapa determinada dependen específicamente sólo en el ejemplo (actual) que se presenta y posiblemente en el estado actual del modelo. Es el procedimiento natural para las reglas que varían en el tiempo, en las que los ejemplos pueden no estar disponibles en su totalidad a la vez.
Aprendizaje sin conexión Los cambios de peso dependen de todo el conjunto de datos (de entrenamiento), definiendo una función de coste global. Los ejemplos se utilizan repetidamente hasta que se logra la minimización de esta función de coste.