idea behind SVM is best illustrated through the case of a binary classifier. The binary SVM is trained on a set of input features $\mathbf{X} = \{X_1,X_2,X_3...X_d\}$, where $d$ is the total number of features, to classify data into one of two classes $Y=\{-1,1\}$. Consider a set of $N$ training data, each with a corresponding column vector of features $\mathbf{X}_i$ and a corresponding class $Y_i(\mathbf{X}_i)
= \pm 1$. An SVM attempts to separate the training data into their appropriate classes using 2 parallel hyperplanes in a high-dimensional space. These planes can be written as $$\mathbf{W} \cdot \mathbf{X} - b = \pm 1$$ where $\mathbf{W}$ is the normal vector to the hyperplane and $b$ is some constant scalar analogous to a $y$-intercept in 2D. The 2 planes must satisfy the condition that no points fall in between them, i.e. $$\mathbf{W} \cdot \mathbf{X}_i - b \geqslant 1$$ for $\mathbf{X}_i$ of the first class (i.e. $Y(\mathbf{X}_i)$=1) or $$\mathbf{W} \cdot \mathbf{X}_i - b \leqslant -1
\label{eqn:hyperplane}$$ for $\mathbf{X}_i$ of the second class. Note that this can be simply re-written as $$Y_i (\mathbf{W} \cdot \mathbf{X}_i - b) \geqslant 1.
\label{eqn:linsvmcon}$$

The region bounded by these 2 planes is known as the margin, which has width 