This document discusses support vector machines (SVM), a supervised machine learning algorithm that can be used for classification and regression. It finds the hyperplane that best divides a dataset into classes with the maximum margin or gap between the different classes. Examples are provided to illustrate how SVMs attempt to place a dividing line to maximize the gap between classes of data points. Questions about applying SVMs to non-linearly separable data are answered by explaining the use of kernels to transform the data into a higher dimensional space where a separating hyperplane can be found.