Online Learning with Streaming Updates
Online Learning: A paradigm where models update incrementally as new data arrives, rather than retraining from scratch. Each observation immediately updates model parameters, enabling adaptation to distribution shifts within minutes instead of hours required for batch retraining.
Batch vs Online Trade-offs
Batch training sees all data multiple times, achieving optimal convergence but requiring hours for retraining. Online learning sees each example once, achieving faster adaptation but potentially noisier parameter estimates. The choice depends on data velocity and concept drift rate. If user preferences shift hourly (trending topics, flash sales), online learning captures changes that batch retraining misses. If patterns are stable, batch training typically produces more accurate models.
Algorithms Supporting Online Updates
Not all models support incremental updates. Supported: Linear models (logistic regression, linear SVM), factorization machines, online gradient boosting, neural networks with streaming SGD. Not supported: Random forests, standard gradient boosting (XGBoost in default mode), k-NN with full distance computation. Hoeffding trees provide an online alternative to random forests, growing trees incrementally. The algorithm constraint often dictates architecture.
Learning Rate and Stability
Online learning faces exploration-exploitation trade-off: high learning rate adapts quickly but is unstable; low learning rate is stable but slow. Common strategy: decay learning rate over time. However, this assumes distribution stabilizes—inappropriate for continuously shifting data. For non-stationary distributions, use adaptive learning rates (AdaGrad, Adam) or sliding window of recent examples with constant rate.
Hybrid Approach: Many systems combine batch and online: batch retrain nightly for stability, online updates for intraday adaptation. Batch provides stable baseline; online handles drift until next refresh.