Алгоритм контролируемого машинного обучения, который можно использовать как для задач классификации, так и для регрессии. Однако в основном он используется в задачах классификации. В этом алгоритме мы отображаем каждый элемент данных как точку в n-мерном пространстве (где n — количество признаков, которые у вас есть в данном кортеже X), при этом значение каждого признака является значением конкретной координаты. Затем мы выполняем классификацию, находя прямую линию для 2D-данных (только с двумя атрибутами), плоскость для набора 3D-данных (3 атрибута) и гиперплоскость для n-мерных данных, которые хорошо различают два класса. На самом деле они основаны на концепции плоскостей решений, которые определяют границы решений. Плоскость принятия решений — это плоскость, разделяющая набор объектов, принадлежащих к разным классам.

В приведенном ниже примере объекты принадлежат либо к классу ЗЕЛЕНЫЙ, либо к КРАСНОМУ. Разделительная линия определяет границу, справа от которой все объекты ЗЕЛЕНЫЕ, а слева все объекты КРАСНЫЕ. Любой новый объект (белый кружок), падающий вправо, помечается, т. е. классифицируется, как ЗЕЛЕНЫЙ (или классифицируется как КРАСНЫЙ, если он падает слева от разделительной линии).

Выше приведен классический пример линейного классификатора, т. е. классификатора, который разделяет набор объектов на соответствующие группы (ЗЕЛЕНЫЙ и КРАСНЫЙ в данном случае) с помощью линии.

Может возникнуть ситуация, когда очень трудно различать классы, такие как

Нет линии, которая могла бы разделить два класса в этой плоскости x-y. Таким образом, чтобы различать классы, мы можем применить преобразование и добавить еще одно измерение, которое мы называем осью Z. Допустим значение точек на плоскости z, w = x² + y². Эти преобразования обычно называются ядрами.

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

Регуляризация

Параметр Regularization (часто называемый параметром C в библиотеке Python sklearn) сообщает оптимизации SVM, насколько вы хотите избежать неправильной классификации каждого обучающего примера. «Большие значения C будут выбирать меньшее пространство на полях для гиперплоскости, а меньшее значение будет выбирать большее пространство на полях, которые будут полезны для будущих наборов данных».

Гамма

Этот параметр сообщает, насколько далеко простирается влияние одного обучающего примера, при этом низкие значения гаммы означают «далеко», а высокие значения означают «близко». При низком значении гаммы при расчете линии разделения учитываются точки, находящиеся далеко от вероятной линии разделения, а при высоких значениях гаммы при расчете учитываются точки, близкие к вероятной линии разделения.

ядро

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

Вывод

Я надеюсь, что этого обзора достаточно для начинающих и поможет им углубиться в эту тему. Приветствую счастливого кодирования !!.