Relevance vector machine

In mathematics, a Relevance Vector Machine (RVM) is a machine learning technique that uses Bayesian inference to obtain parsimonious solutions for regression and probabilistic classification. The RVM has an identical functional form to the support vector machine, but provides probabilistic classification.

It is actually equivalent to a Gaussian process model with covariance function:
 * $$k(\mathbf{x},\mathbf{x'}) = \sum_{j=1}^N \frac{1}{\alpha_j} \varphi(\mathbf{x},\mathbf{x}_j)\varphi(\mathbf{x}',\mathbf{x}_j) $$

where $$\varphi$$ is the kernel function (usually Gaussian), $$\alpha_j$$ are the variances of the prior on the weight vector $$w \sim N(0,\alpha^{-1}I)$$, and $$\mathbf{x}_1,\ldots,\mathbf{x}_N$$ are the input vectors of the training set.

Compared to that of support vector machines (SVM), the Bayesian formulation of the RVM avoids the set of free parameters of the SVM (that usually require cross-validation-based post-optimizations). However RVMs use an expectation maximization (EM)-like learning method and are therefore at risk of local minima. This is unlike the standard sequential minimal optimization (SMO)-based algorithms employed by SVMs, which are guaranteed to find a global optimum (of the convex problem).

The relevance vector machine was patented in the United States by Microsoft (patent expired September 4, 2019).

Software

 * dlib C++ Library
 * The Kernel-Machine Library
 * rvmbinary: R package for binary classification
 * scikit-rvm
 * fast-scikit-rvm, rvm tutorial