Support Vector Machines (SVMs) are a powerful supervised machine learning algorithm used for classification or regression tasks. SVMs are based on the concept of decision planes that define decision boundaries. A decision plane is one that separates between a set of objects having different class memberships. The main idea behind SVMs is to find a maximum-margin hyperplane that best divides the dataset into classes. This hyperplane is the decision boundary which maximizes the margin between the two classes. The points closest to the hyperplane are called support vectors, and the distance between the hyperplane and the support vectors is the margin. SVMs use a kernel function to transform the data into a higher dimensional space and find the hyperplane in that space.