Is online learning / optimization used in practice? I saw a lot of papers, and they mention document ranking, stock prediction, online ad placements as examples applications of online learning. Is it actually used / evaluated in industry? Is there any white paper either for or against using online learning?
3 Answers
There is no reason to prefer online learning to batch learning when you can use both methods.
But in some cases (millions of features, millions of observations), you have to use online learning because everything else will fail (or will not terminate).
Some implementations of online learning methods even have a constant memory footprint (hashing the features and allowing collisions).
Click-through rate (CTR) prediction, per example, is generally tackled using online algorithms. Ad Click Prediction: a View from the Trenches is a nice overview.
There are two main reasons to use online learning in practice:
- When not all data fits in memory;
- When data arrives in real-time and the amount of processing power per arriving datum is low.
RUser4512 gave a good example of scenario 1 in his answer.
Scenario 2 is very frequently encountered in industrial applications. For instance, stochastic gradient descent and adaptive filtering techniques have been used for decades in electronics and control.
Here's a white paper on an implementation of an efficient recursive regression algorithm Implementation of CORDIC-Based QRD-RLS Algorithm on Altera Stratix FPGA with Embedded Nios Soft Processor Technology.
Online learning is also useful in case of nonstationarities. You might want to track changes in a signal or system.