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

Зачем поддерживать векторную машину?

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

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

Двойная формулировка

Чтобы найти такую ​​гиперплоскость с максимальным запасом, нам нужно решить приведенную ниже задачу оптимизации SVM с ограничениями.

который можно переписать как

Идея решения проблемы A состоит в том, чтобы преобразовать приведенное выше в функцию Лагранжа.

Лагранжев метод

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

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

Чтобы получить представление о функции Лагранжа на высоком уровне, мы можем описать функцию Лагранжа как

L=(OPTIMIZATION_FUNCTION) -for_each_constraint(VARIABLE *(CONSTRAINT))

Переменная здесь — это то, что мы называем МНОЖИТЕЛЕМ ЛАГРАНЖА, обычно обозначаемым буквой α.

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

L=(OPTIMIZATION_FUNCTION) - Σ α *(ОГРАНИЧЕНИЕ)

В нашем случае лагранжиан определяется как

Шаги для решения

  1. Задайте функцию Лангранжа
  2. Решите приведенный ниже набор уравнений

3. Решение приведенных выше уравнений даст значение w, которое можно подставить в уравнение Лагранжа C.

4. Замените D на C.

ВC у нас есть |w|², что является не чем иным, как скалярным произведением w и w, т.е. w.w

5. Перестановка терминов

Умножение второго члена на yi, а также на минус единицу

Объединение похожих терминов вместе и умножение отрицательного значения на «b».

Третий член равен нулю в соответствии с уравнением E, а первые два члена имеют форму 1/2(что-то) - 1(что-то) = -1/2(что-то)

написано как

Это двойная форма SVM, мы можем наблюдать скалярное произведение xi и xj, которое является аналогичным значением между функцией i и функцией j. Если мы решим приведенную выше задачу оптимизации, мы получим значения для альфа, и альфа будет равна нулю для других областей, но не будет равна нулю для точек опорного вектора.

Итак, на данный момент у нас есть альфа, x(признак) y(метки), и это можно подставить в уравнение D, чтобы получить векторы весов.

Преимущества двойной задачи

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

Кредиты

Изображение баннера из: https://www.vectorstock.com/royalty-free-vector/svm-support-graph-statistic-vector-4724676

Для дальнейшего изучения есть много онлайн-ресурсов, которые можно узнать о KKT Conditions, трюках Kernal и т. д.