This document provides an overview of Support Vector Machines (SVMs). It discusses how SVMs find the optimal separating hyperplane between two classes that maximizes the margin between them. It describes how SVMs can handle non-linearly separable data using kernels to project the data into higher dimensions where it may be linearly separable. The document also discusses multi-class classification approaches for SVMs and how they can be used for anomaly detection.