Support Vector Machines (SVMs) are a type of supervised learning algorithm used for classification and regression tasks. They are particularly effective in high-dimensional spaces and are known for their robustness in handling non-linear data distributions. The core idea of SVMs is to find the optimal hyperplane that separates different classes in the feature space, maximizing the margin between data points of different classes.