Support Vector Machine Classifier
SVMs are a set of related supervised learning methods used for classification and regression. Viewing input data as two sets of vectors in an n-dimensional space, an SVM will construct a separating hyperplane in that space, one which maximizes the margin between the two data sets. To calculate the margin, two parallel hyperplanes are constructed, one on each side of the separating hyperplane, which are "pushed up against" the two data sets. Intuitively, a good separation is achieved by the hyperplane that has the largest distance to the neighboring datapoints of both classes, since in general the larger the margin the lower the generalization error of the classifier.
Please refer to Wikipedia for more details.
Available implementations
SVM (Support Vector Machine) in C#
The source code of this example is contributed by Albert G. It requires Emgu CV 1.5.0.0
Work example is available here and here you can download Emgu CV.
Support Vector Machine Classifier in C++
It is available on the codeproject website.
SVM.NET
Fully available (documentation, source code, examples) on the Mattew Johnson website.