Overview
Similar to the perceptron, the support vector machine (SVM) is a classification algorithm that creates a linear boundary that separates the sample space. However, the SVM uses a more sophisticated training algorithm than the perceptron, which seeks to maximize the margin between points and the linear boundary. This makes the algorithm much better at classifying edge cases than the perceptron.
In order to deal with non-linear boundaries, the support vector machine relies on feature extraction and kernel based methods, much in the same way that the perceptron does.
libsvm
libsvm is an open source library for creating and using support vector machines using Javascript.
(see libsvm on davinci for use on the davinci platform)