A parallel IRWLS procedure to train full and semiparametric SVMs.

LIBIRWLS is an integrated library that makes use of a parallel implementation of the Iterative Re-Weighted Least Squares (IRWLS) procedure for solving the quadratic programmig (QP) problem that arises during the training of Support Vector Machines (SVMs). It implements the functions to run two different algorithms:

  • Parallel Iterative Re-Weighted Least Squares: A Parallel SVM solver based on the IRWLS algorithm.
  • Parallel Semi-parametric Iterative Re-Weighted Least Squares: A Parallel Semiparametric SVMs solver based on the IRWLS algorithm.

SVMs have two main limitations. The first problem is related to their non-parametric nature. The complexity of the classifier is not limited and depends on the number of Support Vectors (SVs) after training. If the number of SVs is very large we may obtain a very slow classifier when processing new samples. The second problem is the run time associated to the training procedure that may be excessive for large datasets.

To face these problems, we can make use of parallel computing, thus reducing the run time of the training procedure or we can use semi-parametric approximations than can limit the complexity of the model in advance, which directly implies a faster classifier.

The above situation motivated us to develop "LIBIRWLS", an integrated library based on a parallel implementation of the IRWLS procedure to solve non-linear SVMs and semi-parametric SVMs. This library is implemented in C, supports a wide range of platforms and also provides detailed information about its programming interface and dependencies.


If this software was useful for you, please cite our paper: "LIBIRWLS: A parallel IRWLS library for SVMs and semiparametric SVMs", submitted to Knowledge-Based Systems

Free & Open Source

This software is publicly available at Github as an Open Source Software with MIT license