This document provides an overview of support vector machines (SVMs). It begins by discussing hard-margin linear classifiers and how to maximize the margin between classes. It notes that support vectors are data points that lie along the margin boundaries. The document then explains that the maximum margin linear classifier, or linear SVM, finds the linear decision boundary with the maximum margin using quadratic programming. It also discusses why maximizing the margin is preferable. The document continues by introducing the concept of soft-margin classifiers to handle non-separable data and notes that these can still be solved with quadratic programming. Finally, it provides an overview of how kernels can be used to transform linear SVMs into non-linear classifiers.