svm<P,K,D> implements the Support Vector Machine. A number of implementations is available [1, 2, 3, 4]. At the moment we have different classes for batch and on-line operation, our goal is to merge them to one class that automatically deploys the most suited algorithm.


In case of Classification, support vector machines maximise the margin of a class-separating hyperplane.



SMO is defined in the KML header <kml/svm.hpp>.

AOSVM and AOSVR are defined in the KML header <kml/online_svm.hpp>.

Template Parameters

Model of

Type requirements

Public Base Classes



See also



Gert Cauwenberghs and Tomaso Poggio. Incremental and decremental support vector machine learning. In Todd Leen, Thomas Dietterich, and Volker Tresp, editors, Advances in Neural Information Processing Systems (NIPS’00), volume 13, pages 409–415, Cambridge, Massachusetts, USA, April 2001. The MIT Press. ISBN 0-262-12241-3.


John Platt. Fast Training of Support Vector Machines using Sequential Minimal Optimization, chapter 12. The MIT Press, Cambridge, Massachusetts, USA, first edition, 1999. ISBN 0-262-19416-3.


Yaakov Engel, Shie Mannor, and Ron Meir. Sparse online greedy support vector regression. In Tapio Elomaa, Heikki Mannila, and Hannu Toivonen, editors, Machine Learning: ECML 2002, volume 2430 of Lecture Notes in Computer Science, Berlin, 2002. Springer-Verlag. ISBN 3-540-44036-4.


Junshiu Ma, James Theiler, and Simon Perkins. Accurate on-line support vector regression. Neural Computation, 15(11):2683–2704, November 2003. ISSN 0899-7667.