Абель Теклеарегей

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

SVM основаны на идее поиска гиперплоскости, которая лучше всего разделяет набор данных на два класса, как показано на изображении ниже.

Ключевые слова

Что такое опорные векторы?

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

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

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

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

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

P.s.

Один из способов представить машину опорных векторов как «дорожную машину», которая разделяет левосторонние и правосторонние машины, здания, пешеходов и создает максимально широкую полосу движения. А те машины, здания, совсем рядом с улицей — это опорные векторы.

Выбор правильной гиперплоскости

Предполагая, что метка y равна 1 (для зеленого) или -1 (для красного), все эти три линии ниже являются разделяющими гиперплоскостями. Потому что все они имеют одно и то же свойство — над чертой выделено зеленым цветом; ниже линии, красный.

Это свойство можно снова записать в математике следующим образом:

Если мы далее обобщим эти два в одно, то получится:

Примечание. Это линейно разделимый случай.

Так что же такое маржа?

  • Допустим, у нас есть гиперплоскость — линия X
  • рассчитайте перпендикулярное расстояние от всех этих 40 точек до линии X, это будет 40 различных расстояний
  • Из 40, наименьшее расстояние, это наш запас!

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

Подводя итог, SVM в линейно разделимых случаях:

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

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

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