Support Vector Machine — это модель машинного обучения с учителем. Мы можем реализовать как классификацию, так и регрессию, используя SVM. Тем не менее, он в основном используется в задачах классификации.

начнем!

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

Что такое гиперплоскость?

Он определяется как n-1-мерное евклидово пространство, которое разделяет n-мерное евклидово пространство на два класса.

у нас может быть несколько гиперплоскостей, но какая из них лучше?

Рассмотрим приведенную выше плоскость, которая является двумерной. Теперь на этом графике у нас есть данные, разделенные несколькими гиперплоскостями.

Осторожно, терминология!

  1. Классификатор максимальной маржи
  2. Классификатор опорных векторов
  3. Машина опорных векторов

Классификатор максимальной маржи:

Здесь у нас есть два класса, и они линейно разделимы (можно разделить линией).

Как работает SVM?

Гиперплоскость также можно назвать границей решения между двумя классами, и она выглядит как прямая линия. SVM работает, рисуя границу между двумя классами.

Мы обсуждали, что может быть более одной гиперплоскости. Теперь выберем две точки из двух классов, ближайшие к гиперплоскости.

Теперь на изображении выше мы видим, что черная точка и синий квадрат считаются ближайшими к предполагаемой гиперплоскости. Теперь мы вычисляем расстояние между точками и гиперплоскостью, которое называется «Поля».

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

Эти классификаторы/гиперплоскости в основном зависят только от опорных векторов. Предположим, что если добавляется новая точка данных и это новый опорный вектор, оптимальная гиперплоскость может измениться.

Ограничение:

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

В этом случае вместо максимального маргинального классификатора мы используем классификатор опорных векторов.