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

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

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

Какова маржа?

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

Почему максимальная маржа лучше?

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

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

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

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

Найти запас от точек до гиперплоскости; мы проецируем каждую тренировочную точку на плоскость и находим из них ближайшие точки данных, чтобы максимизировать запас. Например, если мы возьмем точку A (т. е. A — это вектор в пространстве, показанный точкой) и спроецируем ее на гиперплоскость в точке. Теперь расстояние между векторами A и B определяется законом сложения векторовкак

так как вектор b лежит на плоскости, то он удовлетворяет уравнению плоскости. Так,

Как мы видим на рисунке выше, γ ⃗параллелен W, поэтому γ становится,

теперь помещаем значение вектора b в уравнение (2); тогда уравнение (2) становится,

решая относительно α, получаем,

Поскольку нам нужно рассчитать значение γ, мы можем использовать формулу евклидова расстояния, чтобы значение γ как

После упрощения вышеприведенного уравнения получаем,

Мы можем написать более обобщенное уравнение как,

В SVM мы пытаемся найти максимальные значения W и b, которые минимизируют это значение запаса (γ).

Поскольку гиперплоскость инвариантна к масштабу, мы можем масштабировать W и b для нашего удобства так, что

Тогда целевая функция становится;

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

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

Я надеюсь, что этот блог был полезен для понимания работы классификатора SVM. Прокомментируйте свои мысли, отзывы или предложения, если таковые имеются ниже. Спасибо!

Полезные ссылки для дальнейшего изучения: