"Математика"

Математика, лежащая в основе машины опорных векторов

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

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

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

Предположим, что у нас есть точки данных, как показано на диаграмме ниже. Для простоты предположим, что у нас есть только две независимые переменные.
Гиперплан - это плоскость в пространстве, которая используется для разделения двух классов точек данных. Основная задача модели SVM - найти лучший гиперплан для классификации точек данных.

Гиперплан можно выразить следующим уравнением.

W - вектор констант, представляющих уклоны плана. В этом примере вектор может быть представлен двумя константами [-1 и 0]. Теперь давайте возьмем две точки данных, по одной от каждого класса, и найдем их проекцию на гиперплан. Предполагая, что гиперплан проходит через начало координат, поэтому b = 0.
Для первой точки данных (x1 = 4, x2 = 4), после подстановки ее в уравнение гиперплана, мы находим, что значение y отрицательно.

y = -1 * 4 + 0 * 4 = -4 → отрицательный

Для второй точки данных (x1 = -4, x2 = -4) значение y будет положительным.

y = -1 * -4 + 0 * -4 = 4 → положительный
Мы видим, что проекция любой точки данных на одной стороне гиперплана всегда положительна, а на другой стороне всегда отрицательна. На этом этапе мы можем классифицировать точки данных, проецируя их на гиперплан и находя класс каждой точки.

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

Чтобы найти расстояние между двумя граничными линиями, мы вычитаем две точки данных и, следовательно, находим следующее уравнение.

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

Это можно выразить проще, как показано ниже.

Это можно выразить как функцию минимизации, как показано ниже.

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

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

В этом блоге мы обсудили простые концепции SVM и математику, лежащую в основе этого. В следующих блогах мы углубимся в более сложные методы, такие как полиномиальное ядро ​​и трюки с ядром.

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

Https://www.linkedin.com/in/bassemessam/

Ссылки:

Https://www.researchgate.net/figure/Classification-of-data-by-support-vector-machine-SVM_fig8_304611323

Https://www.youtube.com/watch?v=H9yACitf-KM&list=PLZoTAELRMXVPBTrWtJkn3wWQxZkmTXGwe&index=83

Https://www.youtube.com/watch?v=efR1C6CvhmE