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

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

Знакомство с гиперплоскостями

Гиперплоскость в h-мерном пространстве - это объект размерности h-1, который разделяет пространство на две половины. О математической интерпретации гиперплоскостей я говорил в своей предыдущей статье. Напомним, что в общем h-мерном пространстве мы определяем общую гиперплоскость как:

Теперь каждый вектор x * переменных может лежать либо на гиперплоскости, если:

Или на одной из двух половинок, если:

Для простоты рассмотрим следующий двумерный случай:

Впредь довольно естественно следует установить решающее правило, которое классифицирует одно наблюдение в зависимости от стороны гиперплоскости, на которой оно лежит. А именно, представьте, что мы нарисовали лучшую гиперплоскость (мы увидим позже, что означает «лучший») на нашем наборе поездов, где нашей целью является двоичное значение -1,1. Теперь происходит новое наблюдение x * (выделено зеленым цветом), и мы хотим его классифицировать. Итак, единственное, что нам нужно сделать, это подставить его значения в выражение нашей гиперплоскости: если оно положительное, мы помечаем его 1, в противном случае - -1.

Итак, в этом случае граница нашего решения сообщила нам, что x * имеет метку 1.

Теперь давайте посмотрим, по какому критерию построить лучшую гиперплоскость.

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

Если мы снова посмотрим на изображение выше, мы увидим, что гиперплоскость была нарисована таким образом, что все доступные наблюдения правильно классифицированы. Это означает, что в наборе поездов размера n для всех i = 1,2,…, n мы имеем следующее:

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

Что выбрать? Идея состоит в том, что мы хотим каким-то образом максимизировать расстояние между границей и точками, чтобы алгоритм был хорошо обобщен (другими словами, `` область свободы '' для новых наблюдений, где они могут отклоняться от своих предшественников. , но все еще хорошо классифицируемый, крупнее). Итак, идея классификатора максимальной маржи заключается в следующем:

  • вычислить перпендикулярное расстояние между всеми наблюдениями (которые являются не чем иным, как вектором в h-мерном пространстве) и гиперплоскостями, которые мы оцениваем;
  • выберите самое короткое расстояние (или расстояния) для каждой гиперплоскости. Это называется маржей;
  • лучшая гиперплоскость - это та, для которой запас максимален.

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

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

Пока все хорошо, но что будет, если такой гиперплоскости не существует?

Классификатор опорных векторов

Рассмотрим следующую ситуацию:

Здесь просто не существует разделяющей гиперплоскости, поэтому нам нужно определить другой критерий, чтобы найти ее. Идея ослабляет предположение, что гиперплоскость должна хорошо разделять все наблюдения, а скорее разделять большинство из них. Поступая таким образом, мы можем позволить, с разной степенью «мягкости», некоторые наблюдения располагаться на неправильной стороне поля и, в конечном итоге, на неправильной стороне плоскости (и, таким образом, быть классифицированными).

В этом случае опорными векторами будут те наблюдения, которые лежат на границе и за ее пределами (пока они все еще находятся на правильной стороне гиперплоскости).

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

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