How Support Vector Machines Work

Data records with n attributes can be thought of as points in n-dimensional space. SVM attempts to separate the points into subsets with homogeneous target values. Points are separated by hyperplanes in the linear case, and by non-linear separators in the non-linear case (Gaussian). SVM finds those vectors that define the separators giving the widest separation of classes (the support vectors). This is easy to visualize in the case of n = 2; in that case, SVM finds a straight line (linear) or a curve (non-linear) separating the classes of points in the plane.

SVM solves regression problems by defining an n-dimensional tube around the data points, determining the vectors giving the widest separation.