Машины опорных векторов (SVM) — это тип контролируемого алгоритма машинного обучения, который можно использовать как для задач классификации, так и для задач регрессии. Цель SVM — найти гиперплоскость в многомерном пространстве, которая максимально разделяет классы. Чтобы найти эту гиперплоскость, SVM оптимизируют целевую функцию, которая зависит от опорных векторов, которые являются точками данных, ближайшими к гиперплоскости.

Одним из ключевых аспектов SVM является то, что они могут обрабатывать данные, которые не являются линейно разделимыми, используя так называемый «трюк ядра», который неявно отображает данные в многомерное пространство, в котором они становятся линейно разделимыми. Это делается путем определения функции ядра, которая принимает две точки данных и возвращает точечный продукт их отображения в многомерное пространство. Общие функции ядра включают линейное ядро, полиномиальное ядро ​​и ядро ​​радиальной базисной функции (RBF).

Одним из преимуществ SVM является то, что они эффективны в многомерных пространствах, где количество измерений больше, чем количество выборок. Они также эффективно используют память, поскольку хранят только опорные векторы, а не весь набор обучающих данных.

Однако SVM могут быть чувствительны к выбору гиперпараметров, таких как функция ядра и параметр регуляризации, который контролирует компромисс между запасом и количеством неправильно классифицированных обучающих выборок. Кроме того, они могут медленно обучаться на больших наборах данных, поскольку задача оптимизации, которую они решают, включает решение задачи квадратичного программирования.

Несмотря на эти ограничения, SVM широко используются в различных приложениях, включая классификацию текста, классификацию изображений и биоинформатику.