Теория без математики?

В Интернете много материалов о том, что делают машины опорных векторов, но мало о математике, лежащей в основе этого. Мы знаем, что SVM работают, максимизируя ширину улицы, разделяющей положительную и отрицательную выборки, но как точно вывести формулу для этой ширины? Лично мне всегда было трудно понять истинную природу любого алгоритма без глубокого погружения в вычисления, которые им управляют. Поэтому я много исследовал в Интернете и случайно наткнулся на это удивительное видео https://www.youtube.com/watch?v=_PwhiWxHK8o, в котором вы совершите математическую поездку по SVM, потому что теория без математики? Большое НЕТ!

Математика, лежащая в основе SVM

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

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

Используя вектор перпендикулярно улице, неизвестный вектор внутри улицы и константы b и c, мы перейдите к правилу принятия решения, как указано выше.

Не знакомы с скалярным произведением векторов? Видеть это! Https://www.mathsisfun.com/algebra/vectors-dot-product.html

Где происходит волшебство

Умножьте 1 на уже имеющееся значение ≥ 1, и вы получите количество ≥ 1. Это приводит к уравнению (3)

Умножьте -1 на значение, уже ≤ -1, и вы получите количество, также ≥ 1. Это приводит к уравнению (4).

И вы получите уравнения (3) и (4), которые абсолютно одинаковы :)

Таким образом, исходя из уравнений (3) и (4), мы можем сказать, что для любой выборки (положительной или отрицательной) ВНЕ улицы мы имеем:

Это приводит к следующему уравнению:

Расчет ширины улицы

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

Шаг 1

Шаг 2

Но разве у нас нет вектора, перпендикулярного улице?

Мы делаем! Попробуйте прокрутить вверху, чтобы подвести итог;) Или переходите к следующему шагу ниже :)

Шаг 3

Мы приходим к уравнению (9) из уравнения (8), используя закон распределения для скалярных произведений для вычитания.

Шаг 4

Таким образом, мы получаем формулу ширины улицы. Чтобы максимизировать это, мы минимизируем обратное, для математического удобства :)

Минимизация осуществляется с помощью оптимизации Лагранжа, о которой мы расскажем на другой день;)