Машина опорных векторов (SVM) — это алгоритм контролируемого машинного обучения (ML), который первоначально был разработан в 1960-х годах, а затем усовершенствован в 1990-х годах. И только сейчас SVM стал популярен в сфере машинного обучения благодаря своим определенным характеристикам. SVM можно использовать разными способами, например:

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

В этом посте я в основном буду обсуждать SVM для линейной двоичной классификации. Я делю эту статью на три части —

  1. Интуиция за SVM
  2. Математика для SVM
  3. Применение SVM к набору данных

Интуиция SVM

Мы будем использовать двумерное пространство для простоты — чтобы мы могли визуализировать модель. На следующем двухмерном рисунке — рис. 1 — есть несколько точек, где некоторые красные, а некоторые зеленые. Легко понять, что мы можем классифицировать это по бинарной классификации — класс 1 (красный) и класс 2 (зеленый), используя прямую линию. Рис. 2-A может быть решением для линейного разделения, а рис. 2-B может быть другим решением. Следовательно, эту бинарную классификацию можно решить разными способами, как показано на рис. 2-C.

Мы можем провести много прямых линий, чтобы разделить два класса. Для каждой из строк мы получим аналогичный результат для существующих точек данных (данные для обучения) — идеальное линейное разделение двух классов. Означает ли это, что мы можем использовать любые прямые линии? — НЕТ

Потому что для невидимых данных (тестовых данных), основанных на расположении данных и прямой линии, последствия могут быть разными, что означает, что новые данные могут быть либо в классе один, либо в классе 2. Следовательно, мы должны искать оптимальное прямая линия, которая может обобщить модель и хорошо работать для невидимых или тестовых данных. Давайте рассмотрим пример — зачем нам искать оптимальную прямую.

Мы использовали две разные линии для классификации данных на рис. 1. На рис. 3-A новые данные или тестовые данные классифицируются как красная точка, а на рис. 3-B точка классифицируется как зеленая, хотя местоположение тестовых данных указано. на том же месте.

SVM ищет оптимальную прямую для бинарной классификации, используя две другие прямые с обеих сторон, как показано на рис. 4. Предположим, что все красные точки класса +1 и все зеленые точки класса -1 . В SVM мы сначала находим линейную линию, а затем начинаем тянуть руки в обе стороны, пока не коснемся ближайшей точки с обеих сторон. Когда мы находим ближайшую точку, мы проводим параллельную линию и называем ее предельной линией. На рис. 4 красная предельная линия проходит через одну из красных точек (класс +1), мы называем ее положительной предельной линией, а зеленую линию — отрицательной предельной линией. Расстояние между положительной и отрицательной маргинальными линиями является маргинальным расстоянием. В SVM наша главная цель — максимизировать предельное расстояние для выполнения задачи классификации.

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

Мы обсудим две другие части в ближайшее время!