Интуиция и математика, лежащие в основе опорных векторных машин

вступление

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

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

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

Гиперплоскости

Давайте рассмотрим набор данных радужной оболочки глаза в качестве примера. Этот набор данных состоит из 3 классов, которые представляют разные классы цветов ириса и в общей сложности 4 особенности. Поскольку SVM были разработаны для классификации наборов данных только с двумя классами, мы собираемся отказаться от третьего класса. Мы используем 2 функции нашего набора данных. Характеристики заключаются в длине лепестка и ширине лепестка.

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

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

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

Маржа и векторы поддержки

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

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

Почему опорные векторы называются опорными векторами, а не опорными точками? Что ж, с точками и векторами можно обращаться одинаково. Точка с теми же координатами, что и вектор, будет лежать на конце этого вектора. Таким образом, если мы используем векторы или точки для представления координат, это просто дело вкуса, и создатели алгоритма SVM рассматривали свои данные как векторы.

Уравнение гиперплоскости

У гиперплоскости есть веса 𝑤, определяющие ее ориентацию. 𝑤 перпендикулярно (перпендикулярно) гиперплоскости . И он имеет предвзятость б. Уравнение, описывающее гиперплоскость:

Расстояние между гиперплоскостью и началом координат - это значение смещения, деленное на длину вектора нормали.

Расстояние от любой точки 𝑥 до гиперплоскости:

Нахождение оптимальной гиперплоскости

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

  • Увеличить маржу
  • Расстояние не должно быть меньше запаса.

Увеличение маржи

Мы можем использовать хитрый трюк и определить поле, равное 1 / (длина 𝑤).

В GIF ниже вы можете видеть, что вектор 𝑤 (обозначен белым) увеличивается в размере при уменьшении поля.

Поскольку на компьютерах подразделения работают медленно, мы не увеличиваем маржу, а минимизируем 1 / маржу.

Вычисление ‖ 𝑤 ‖ включает извлечение квадратного корня, что также требует больших вычислительных ресурсов. Мы можем ускорить процесс еще больше, уменьшив вместо этого ‖ 𝑤 ‖².

Ограничение расстояния

Я сказал, что каждая точка данных должна иметь расстояние до гиперплоскости больше, чем поле.

Это ограничение упрощает:

Весь алгоритм

Итак, весь алгоритм выглядит следующим образом.

Добавляем две линии, на которых расположены опорные векторы. У них есть расстояние до гиперплоскости, равное запасу.

Эти две линии вместе с гиперплоскостью образуют «улицу». Никакие точки данных не могут находиться внутри улицы.

Вы можете увидеть, как меняются опорные векторы, как только они касаются границ улицы.

Перспективы

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

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

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

Я расскажу обо всех этих расширениях стандартной SVM с жесткими полями в одном из следующих постов.

Резюме

Машины опорных векторов используют гиперплоскость для разделения двух классов в наборе данных. Чтобы обеспечить хорошее прогнозирование будущих или тестовых данных, мы хотим найти гиперплоскость с максимальным расстоянием до опорных векторов обоих классов. Это расстояние называется запасом.

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

Хотите подключиться?

Linkedin
https://www.linkedin.com/in/vincent-m%C3%BCller-6b3542214/
Facebook
https://www.facebook.com/profile .php? id = 100072095823739
Twitter
https://twitter.com/Vincent02770108
Средний
https://medium.com/@Vincent.Mueller
Станьте средним участником и поддержите меня
https://medium.com/@Vincent.Mueller/membership

Статьи по теме автора







Другие статьи автора







Ресурсы

Https://stats.stackexchange.com/questions/440640/what-are-w-and-b-parameters-in-svm