Очень простое объяснение

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

Как это работает?

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

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

Параметр регуляризации

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

Ядра

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

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

Типы ядер

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

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

Другие широко используемые ядра, такие как сигмовидное ядро ​​, полиномиальное ядро ​​ и гауссово ядро ​​.

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

Какое ядро ​​выбрать?

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

Заключение

Если вам интересно машинное обучение, стоит знать хотя бы основные принципы работы машины опорных векторов.

Спасибо за внимание!