Qm
Advanced

Sequential Minimal Optimization

The algorithm (SMO) that made training support vector machines practical at scale, by breaking the large quadratic optimization problem into a sequence of trivial two-variable subproblems that each have a closed-form solution.

Prerequisites: Support Vector Machines

Training a support vector machine means solving a quadratic optimization problem over all the Lagrange multipliers at once, one per training point, subject to a linear equality constraint. For thousands of training points, solving that directly with a general quadratic-programming solver is slow and memory-hungry. Sequential minimal optimization (SMO) sidesteps this by never solving for more than two multipliers at a time.

The trick

Because the SVM constraint ties all the multipliers together through one linear equation, you can't update just a single multiplier while holding the others fixed, that would violate the constraint. But updating exactly two multipliers together while holding the rest fixed keeps the constraint satisfied, and with only two free variables the subproblem has a closed-form analytic solution: no inner quadratic-programming solver is needed at all. SMO repeatedly picks a pair of multipliers that violates the optimality (KKT) conditions the most, solves that pair's tiny subproblem exactly, and repeats until every pair satisfies the conditions.

Worked example

With multipliers α1\alpha_1 and α2\alpha_2 selected for update and everything else fixed, the constraint α1y1+α2y2=const\alpha_1 y_1 + \alpha_2 y_2 = \text{const} pins α1\alpha_1 as a linear function of α2\alpha_2. Substituting that relationship into the objective turns it into a one-dimensional quadratic in α2\alpha_2 alone, which is minimized by a single formula and then clipped to stay within the box constraints [0,C][0, C]. This closed-form update, repeated over millions of pairs, is what let SVMs scale to datasets far larger than a general QP solver could handle directly.

Sequential minimal optimization trains an SVM by repeatedly solving the smallest possible subproblem, exactly two Lagrange multipliers at a time, which has a closed-form solution, avoiding the need for a heavyweight general-purpose quadratic-programming solver on the full training set.

Discussion

Sign in to join the discussion · reading is open to everyone

💡 Discussion rules

  1. Ask and answer about this concept. Off-topic gets removed.
  2. No homework dumps. Show what you tried first.
  3. Corrections are welcome. Cite a source when you claim an error.

Loading discussion…

Related concepts

Practice in interviews

Further reading

  • Platt, Sequential Minimal Optimization (1998)
ShareTwitterLinkedIn