Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Fast Training of Support Vector Machines Using Sequential Minimal Optimization

John C. Platt


This chapter describes a new algorithm for training Support Vector Machines: Sequential Minimal Optimization, or SMO. Training a Support Vector Machine (SVM) requires the solution of a very large quadratic programming (QP) optimization problem. SMO breaks this QP problem into a series of smallest possible QP problems. These small QP problems are solved analytically, which avoids using a time-consuming numerical QP optimization as an inner loop. The amount of memory required for SMO is linear in the training set size, which allows SMO to handle very large training sets. Because large matrix xomputation is avoided, SMO scales somewhere between linear and quadratic in the training set size for various test problems, while a standard projected conjugate gradient (PCG) chunking algorithm scales somehwere between linear and cubic in the training set size. SMO's computation time is dominated by SVM evaluation, hence SMO is fastest for linear SVMs and sparse data sets. For the MNIST database, SMO is as fast as PCG chunking; while for the UCI Adult database and linear SVMs, SMO can be more than 1000 times faster than the PCG chunking algorithm.


Publication typeInproceedings
Published inAdvances in Kernel Methods - Support Vector Learning
PublisherMIT Press

Newer versions

John Platt. Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines, April 1998.

John Platt. Using Analytic QP and Sparseness to Speed Training of Support Vector Machines, January 1999.

> Publications > Fast Training of Support Vector Machines Using Sequential Minimal Optimization