Support Vector Machines are a type of machine learning algorithm that can automatically create a model to classify data based on training examples. The model represents data as points in space and finds the optimal hyperplane that separates categories of data by the widest possible margin. SVMs use kernels to project data into a higher dimensional space to allow for the discovery of more complex patterns that would not be possible in the original input space.