Support Vector Machine is highly preferred by many as it produces significant accuracy with less computation power.
Support Vector Machine (SVM) can be used for both regression and classification tasks. But, it is widely used in classification objectives.
The objective of the support vector machine algorithm is to find a hyperplane in an N-dimensional space(N — the number of features) that
distinctly classifies the data points.
To separate the two classes of data points, there are many possible hyperplanes that could be chosen. Our objective is to find a plane
that has the maximum margin, i.e the maximum distance between data points of both classes. Maximizing the margin distance provides some
reinforcement so that future data points can be classified with more confidence.
SVM is mostly about making two or more separate classes of data points. In real world application, finding perfect class for millions of training data
set takes lot of time. Thats why, we define two terms regularization parameter, Kernel and gamma . These are tuning
parameters in SVM classifier. Varying those we can achive considerable non linear classification line with more accuracy in reasonable amount of time.
Kernel:
The learning of the hyperplane in linear SVM is done by transforming the problem using some linear algebra. This is where the kernel plays role.
Regularization:
The Regularization parameter (often termed as C parameter in python’s sklearn library) tells the SVM optimization how much you want to avoid
misclassifying each training example.
For large values of C, the optimization will choose a smaller-margin hyperplane if that hyperplane does a better job of getting all the training
points classified correctly. Conversely, a very small value of C will cause the optimizer to look for a larger-margin separating hyperplane, even
if that hyperplane misclassifies more points.
Gamma:
The gamma parameter defines how far the influence of a single training example reaches, with low values meaning ‘far’ and high values
meaning ‘close’. In other words, with low gamma, points far away from plausible seperation line are considered in calculation for the
seperation line. Where as high gamma means the points close to plausible line are considered in calculation.
Margin:
And finally last but very importrant characteristic of SVM classifier. SVM to core tries to achieve a good margin.
A margin is a separation of line to the closest class points.
A good margin is one where this separation is larger for both the classes. Images below gives to visual example of good
and bad margin. A good margin allows the points to be in their respective classes without crossing to other class.