LIBIRWLS is an integrated library that incorporates a parallel implementation of the Iterative Re-Weighted Least Squares (IRWLS) procedure, an alternative to quadratic programming (QP) for training of Support Vector Machines (SVMs) (Díaz Morales, 2016a)(Díaz Morales, 2016b). Although there are several methods for SVM training, the number of parallel libraries is very reduced. In particular, this library contains solutions to solve either full or budgeted SVMs making use of shared memory parallelization techniques:
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 large classifier, which is slow 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, we can use budgeted approximations than can limit the complexity of the model in advance, which directly implies a faster classifier, or even we can combine both approaches, as proposed in this library.
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, either full and budgeted. 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: "R. Díaz-Morales, A. Navia-V ázquez, LIBIRWLS: A parallel IRWLS library for full and budgeted SVMs", Knowledge-Based Systems (IN PRESS)
This software is publicly available at Github as an Open Source Software with MIT licenseGithub