Support vector machines (SVMs), proposed by Vapnik [23, 26–28], are used for
creating functions from a set of labeled training data [29]. The function can be a
classification function with binary outputs or it can be a general regression function.
For classification, SVMs operate by attempting to find a hypersurface in the space
of possible inputs that splits the positive examples from the negative examples. The
split will be chosen to have the largest distance from the hypersurface to the nearest
of the positive and negative examples. Intuitively, this makes the classification
correct for testing data that is near, but not identical, to the training data