liveBook · Manning

CVXOPT

As explained in Machine Learning Algorithms in Depth

CVXOPT is a Python software package for convex optimization, including quadratic programming.

CVXOPT is a Python package for convex optimization, used here to solve the quadratic program arising from a binary support vector machine. section 5.3

The implementation converts the SVM dual objective into CVXOPT’s standard quadratic-program form, parameterized by P, q, G, h, A, and b. Matrix P must be positive semidefinite for a convex objective. section 5.3

A typical CVXOPT-backed SVM workflow is:

  • Formulate the dual problem and populate the solver parameters. section 5.3
  • Call the solver, identify support vectors from positive Lagrange multipliers, then compute the normal vector and intercept. section 5.3
  • Use the fitted parameters and kernel function for prediction. section 5.3
(5.14)
figure

Use the standard quadratic-program formulation to inspect the optimization interface. section 5.3

Figure 5.9 Support vector machine pseudo-code
figure

Use the solver workflow pseudocode to follow formulation, optimization, support-vector selection, and prediction. section 5.3

How Machine Learning Algorithms in Depth covers it

How deep it goes
Derives the solver parameters and describes fitting, but stops short of explaining CVXOPT internals.
Examples
Uses an RBF-kernel SVM implementation with CVXOPT solver parameters, support vectors, and prediction.
What you can do after
Build a binary SVM by translating its dual problem into CVXOPT’s quadratic-program interface.
How it connects
Connects convex optimization and quadratic programming with support vector machines and kernel functions.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Machine Learning Algorithms in Depth. The section links point to the parts of the book it draws on.