vectors, that is $$b = \frac{1}{N_{SV}}\sum_{i=1}^{N_{SV}} (\mathbf{W} \cdot \mathbf{X}_i
- Y_i)$$ where $N_{SV}$ is the number of support vectors.

It is often useful to introduce some slack (quantified by $\xi_i$ below) into the SVM classifier. This amounts to replacing the constraint in Equation (\[eqn:linsvmcon\]) with the new constraint $$Y_i (\mathbf{W} \cdot \mathbf{X}_i - b) \geqslant 1 - \xi_i.$$ The effective reduction of the margin width in the above equation allows for some misclassification of the data. We then minimize $$\frac{1}{2}||\mathbf{W}||^2 + C\sum_{i=1}^{N}\xi_i
\label{eqn:nlsvm}$$ where $C$ is a parameter that determines the penalty for any misclassification. If we solve the Lagrangian for this case, we will find that $\xi_i = \alpha_i/C$ is required.

In addition, one can see that Equation (\[eqn:ld\]) contains the term $\mathbf{X}_i \dot \mathbf{X}_j$ which is just the dot product between two vectors in feature space. We can then imagine generalizing this dot product to the dot product in a space spanned by a non-linear mapping ($\Phi$) of the features [@ABR64; @BGV92]. This mapping can be used to take the features into a higher dimensional space, making them more easily separable. The dot product $\Phi(\mathbf{X}_i)
\dot \Phi(\mathbf{X}_j)$ can be thought of as a kernel function $k(\mathbf{X}_i,\mathbf{X}_j)$. Commonly used 