Support Vector Machine (SVM)
Support Vector Machine (SVM) is a supervised learning method used for classifying data.
To separate data points of different classes as effectively as possible, SVM searches for class boundaries that have the largest possible distance from the data points of the different classes, leaving the widest possible area around the class boundary free of data points.
A central idea of SVM algorithms is to determine the boundaries between groups based only on those data points that are closest to the other group and thus to the boundary itself (support vectors).
For the class boundaries, SVM initially works with straight lines or planes. However, with the so-called kernel trick, i.e., a clever data transformation, it is also possible to find much more complex, non-linear decision boundaries or surfaces.
The resulting model is typically well generalizable to new data and not very susceptible to overfitting. On the other hand, SVM algorithms are not very good at handling noisy data.
SVM can also be used for regression. This is referred to as Support Vector Regression.