# Support Vector Machine

## Um, what am i looking at?

This is a visualization of Support Vector Machine, which tries to fit the best possible decision Boundary from the given data points.

Just tap on the grid(Data Space) to add a new data points ( you can also drag the data points by click and drag), if you want to change the class of a new data point then simply click on the ‘Current Class’ switch.

Go ahead, play with the controls on the right and have fun!

### From Wiki:-

In machine learning, support-vector machines are supervised learning models with associated learning algorithms that analyze data used for classification and regression analysis. Given a set of training examples, each marked as belonging to one or the other of two categories, an SVM training algorithm builds a model that assigns new examples to one category or the other, making it a non-probabilistic binary linear classifier (although methods such as Platt scaling exist to use SVM in a probabilistic classification setting). An SVM model is a representation of the examples as points in space, mapped so that the examples of the separate categories are divided by a clear gap that is as wide as possible. New examples are then mapped into that same space and predicted to belong to a category based on the side of the gap on which they fall.

## Hyperparameters:

C: Regularization term

Kernel Type: Type of Kernel, currently support 3:

- Linear:

[K(x,y) = x^Ty]

- Polynomial:

[K(x,y) = (x^Ty + c)^d]

- RBF:

[K(x,y) = exp(-\frac{ | x - y | ^2}{2\sigma^2})] |

We also have Hyperparamters to control the behavior of our Kernels:

- If we select Polynomial Kernel then we can choose the Degree of our polynomial upto 3.
- If we select RBF Kernel then we can select the width of our kernel a.k.a sigma( \(\sigma\)).

## Further Reading

Wiki: Support Vector Machine StatQuest: Support Vector Machine