Is Knn classifier suitable for online learning i.e. Is it effective to apply online learning approach for knn classifier?
2 Answers
KNN, as any other classifier, can be trained offline and then applied in online settings.
But data generation distribution may change over time, so you'll have to handle so-called "Concept Drifts" (see http://en.wikipedia.org/wiki/Concept_drift). The simplest way to deal with it is to retrain the model over some fixed period of time, e.g. each week. There are good surveys on concept drift adaptation, e.g. by Gama et al, 2014.
-
1$\begingroup$ Wow, I'm currently strugling with concept drift problem. Most of papers (including Gama's) predict drift based on knowing real output of sample. Do you know how to handle concept drift when you don't know real value (or know after some time)? $\endgroup$– Mr JediCommented May 10, 2015 at 18:09
-
1$\begingroup$ I think in case of unsupervised learning settings you still can detect changes in the probability distributions. E.g. you probably can monitor within cluster std and retrain when it's changed significantly. But I unfortunately can't recommend any references on this $\endgroup$ Commented May 11, 2015 at 7:27
KNN is essentially a special (extreme) case of the EM algorithm. Online variants for the EM have been developed (see for instance http://arxiv.org/pdf/0712.4273v3.pdf) and so the short answer to the question is yes