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

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

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

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

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

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

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

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

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

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

P.s.

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

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

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

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

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

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

Итак, что такое маржа?

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

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

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

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

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

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