python - Does the SVM in sklearn support incremental (online) learning? -
i in process of designing recommender system text articles (a binary case of 'interesting' or 'not interesting'). 1 of specifications should continuously update changing trends.
from can tell, best way make use of machine learning algorithm supports incremental/online learning.
algorithms perceptron , winnow support online learning not support vector machines. scikit-learn python library support online learning , if so, support vector machine 1 of algorithms can make use of it?
i not tied down using support vector machines, go algorithm binary classification due round performance. willing change whatever fits best in end.
while online algorithms svms exist, has become important specify if want kernel or linear svms, many efficient algorithms have been developed special case of linear svms.
for linear case, if use sgd classifier in scikit-learn hinge loss , l2 regularization svm can updated online/incrementall. can combine feature transforms approximate kernel similar online kernel svm.
one of specifications should continuously update changing trends.
this referred concept drift, , not handled simple online svm. using passiveaggresive classifier give better results, it's learning rate not decrease on time.
assuming feedback while training / running, can attempt detect decreases in accuracy on time , begin training new model when accuracy starts decrease (and switch new 1 when believe has become more accurate). jsat has 2 drift detection methods (see jsat.driftdetectors) can used track accuracy , alert when has changed.
it has more online linear , kernel methods.
(bias note: i'm author of jsat).
Comments
Post a Comment