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

  • Чтобы понять интуицию, стоящую за SVM, нам нужно понять две важные темы.

- Точечные продукты

- множитель Лагранжа

Вся идея начинается с простого понимания вектора, чтобы перейти к точечному продукту. Вектор — это не что иное, как прохождение от точки X до точки Z в том же направлении. Если вы пройдете такое же количество шагов в другом направлении, то вы не достигнете точки Z, а достигнете чего-то еще.

На предыдущем слайде мы видели, как Вектор движется от «X» к «Z». В этом случае расстояние от «X» до «Z» будет величиной. Направление будет координатой оси x и оси y для этой величины. Если мы знаем направление вектора, как мы узнаем величину этого вектора? В этом случае мы можем вернуться к теореме Пифагора, чтобы узнать величину. Теорема Пифагора: a² + b² = c².

Здесь возникает идея скалярного произведения, представьте, что у нас есть два таких вектора, указывающих в одном направлении. Насколько один вектор перекрывает другой вектор?

Имеются два вектора X и Z. Направление вектора «X» можно получить, двигаясь в направлении вектора «Z» до определенной точки, а затем двигаясь в перпендикулярном направлении.

Вот что такое скалярное произведение вектора. Это помогает нам получить точное измерение того, как два вектора движутся в одном и том же направлении, сообщая нам, насколько один вектор движется в направлении другого вектора, прежде чем разветвится в перпендикулярном направлении к этому вектору.

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

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

Общее производство = 300

Ограничение будет заключаться в том, что у нас есть только два завода для производства этого количества, поэтому уравнение будет G = X + Y = 300. Стоимость завода X и Y будет следующей: X² и 2Y². С = Х² + 2Y². Возьмем частную производную уравнения по X и Y.

Решая первое уравнение X + Y = 300 со значениями лямбда λ/2 + λ/4 = 300. Мы получаем λ = 400. x = λ/2 = 400/2 = 200 и y = λ/4 = 400/ 4 = 100.

Чтобы минимизировать целевую функцию, мы должны произвести 200 количеств на заводе X и 100 количеств на заводе Y.

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

В этом случае «X» — это новая точка, размещенная на плоскости, и уже есть одна граница решения, нам нужно использовать скалярное произведение, чтобы определить, находится ли точка выше / ниже или на границе.

«W» здесь перпендикулярно границе, потому что X может лежать где угодно на границе решения, но когда мы делаем скалярное произведение X и B, они будут на одной линии, и она перпендикулярна, и в зависимости от величины X это будет:

  • На границе решения, когда X * W = b
  • Положительный образец, когда: X * W > b
  • Отрицательный образец, когда: X * W ‹ b

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

Красные линии с обеих сторон — это отступы от границы решения. Предположим, что ширина поля не менее 1. В этом случае уравнения

Положительные образцы: X * W — b › 1

Отрицательные образцы: X * W -b ‹ -1

Давайте создадим переменную Ya = 1 для положительных образцов и Ya = -1 для отрицательных образцов, чтобы убрать неравенство и иметь только одно уравнение.

Если мы проделаем следующие операции, то получим одно уравнение:

  • 1 * (X * W — b) › 1 * +1 для положительных образцов.
  • -1 * (X * W - b) ‹ -1 * -1 для отрицательных проб.

Теперь оба уравнения приводят только к одному уравнению: Ya * (X * W -b) › 1.

Наконец, выходное уравнение будет следующим.

Ya * (X * W -b) -1 > 0 для всех выборок и,

Ya * (X * W -b) -1 = 0, когда точка находится на границе Решения.

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

На приведенном ниже рисунке мы берем две точки каждой выборки, лежащие на границе решения.

Теперь, чтобы определить идеальную ширину, давайте соединим эти два вектора, и векторная арифметика это просто (P-N).

На предыдущем слайде, поскольку это расстояние по диагонали между «P» и «N», оно может лежать где угодно на «N». Итак, нам нужна линия, перпендикулярная границе решения. Берем проекцию вектора вдоль перпендикуляра («W» — единичный вектор).

Ширина = (P-N) * W / Величина (W).

Итак, если Y=1 и X=P для Ya (X * W -b) > 1 для всех положительных образцов, мы получаем P = (1+b)/W. Для всех отрицательных образцов мы получаем N = (-1+b)/W.

P-N = (1+b)/W — (-1+b)/W

Максимум = 2/Вт.

Чтобы минимизировать приведенное выше уравнение, мы можем просто инвертировать уравнение, новое уравнение будет W/2.

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

Ya (X * W -b) — 1 › 0 все точки. & Ya (X * W -1) = 0 для всех точек на полях.

Теперь мы должны делать две вещи одновременно: максимизировать маржу, а также сохранять ограничения.

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

Вместо W/2 мы будем использовать W²/2 по причине выпуклой функции, у нас есть только один минимум. однако в невыпуклой функции у нас много локальных минимумов.

Наше уравнение Лагранжа будет следующим.

Если мы продифференцируем L по W, мы получим следующее уравнение.

Итак, окончательное уравнение будет линейной комбинацией данных.

Что, если наши данные нелинейны, как показано в примере ниже? В таком сценарии мы используем так называемый «трюк ядра».

Kernal Trick преобразует данные в новое измерение, где их можно разделить.

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

- полиномиальное ядро

- Сигмовидное ядро

  • Ядро радиальной базисной функции (RBF)

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