Здесь мы рассмотрим не столь известную, но очень интересную геометрическую интерпретацию алгоритма машины опорных векторов (SVM) с использованием концепции выпуклой оболочки
Цель: понять геометрическую интерпретацию алгоритма метода опорных векторов (SVM) с использованием концепции выпуклой оболочки.
Мы достигнем нашей цели, ответив на следующие вопросы:
- Что такое SVM и для чего он предназначен?
- Что такое выпуклый многоугольник и выпуклая оболочка?
- Как использовать концепцию выпуклой оболочки для интерпретации SVM?
Примечание. Мы ответим на эти вопросы с помощью самых основных понятий и простых объяснений на английском языке…. Так что расслабьтесь и давайте начнем :)
1. Что такое SVM и для чего он предназначен?
Метод опорных векторов (SVM) — это алгоритм классификации, который относит заданную точку данных к одному из известных классов с помощью линейной поверхности/гиперплоскости, которая:
1. Best separates the datapoints of different classes. 2. Maximizes the Margin.
Позвольте мне разбить приведенное выше определение для вас…..
- линейная поверхность. Линейная поверхность — это линия в 2D, плоскость в 3D и гиперплоскость в более высоких измерениях (nD).
Примечание. Я буду использовать линии и гиперплоскости как синонимы. Здесь оба означают одно и то же, что и «линейная поверхность».
- Лучше всего разделяет точки данных разных классов:
Рассмотрим ниже изображение:
1. Имеются точки данных 2-х классов: пусть синие точки данных относятся к положительному классу, а красные точки данных относятся к критическому классу.
2. Пунктирная линия/гиперплоскость (π) (изображение 1) лучше всего разделяет точки данных положительного класса и критического класса.
- Увеличивает прибыль:
Я провел 2 линии (π+) и (π-) параллельно разделительной линии π. Часть обозначений на изображении выше показывает, что:
π+ : line/Hyperplane parallel to π and touching the 1st closest positive datapoint closest to π. π- : line/Hyperplane parallel to π and touching the 1st closest Critical datapoint closest to π.
Расстояние от края: расстояние между этими двумя параллельными линиями (π+) и (π-).
Согласно SVM, чем выше поле, тем лучше гиперплоскость/линия.
Теперь для того же набора данных выше может быть несколько других гиперплоскостей (π), которые разделяют точки данных обоих классов (см. Изображение 2 ниже). Но SVM выбирает тот, который имеет наибольшее расстояние Margin.
Из изображения 1 и изображения 2 мы видим, что предельное расстояние на изображении 1 больше, чем предельное расстояние на изображении 2. Таким образом, SVM выбирает линию/гиперплоскость(π), который имеет максимальное предельное расстояние (маржа). Следовательно, линия/гиперплоскость изображения 1 выбирается SVM.
Примечание. Машина опорных векторов (SVM) используется как для задач классификации, так и для регрессии, но наиболее широко используется для задач классификации.
Интересная информация:
Точки данных, через которые проходят линии/гиперплоскости (π+) и (π-), называются опорными векторами. Следовательно, алгоритм называется Машина опорных векторов.
2. Что такое выпуклый многоугольник и выпуклая оболочка?
Выпуклый многоугольник: фигура называется выпуклым многоугольником, если линия, нарисованная на этой фигуре, пересекается только в 2 точках.
Источник изображения: http://back2basic.phatcode.net/?Issue-%231/2D-Convex-Polygon-Collision-using-SAT
Выпуклая оболочка : наименьшая фигура/многоугольник, в котором все точки данных лежат внутри/на многоугольнике.
3.Как использовать концепцию выпуклой оболочки для интерпретации SVM?
Шаг 1. Создайте выпуклую оболочку для положительных и критических точек данных.
Рассмотрим ниже (Изображение 4):
Шаг 2. Нарисуйте кратчайшую линию, соединяющую 1 точку данных положительного класса и 1 точку данных критического класса (см. рис. 5).
Шаг 3. Нарисуйте линию/гиперплоскость, которая делит пополам самую короткую линию, нарисованную на шаге 2. Эта линия/гиперплоскость равна (π).
Это гиперплоскость, которая лучше всего разделяет точки данных обоих классов и максимизирует запас.
Последнее примечание:
Я попытался объяснить концепцию SVM с помощью геометрических интерпретаций на очень простом английском языке, не прибегая к громоздким уравнениям.
Поздравляем …… Вы продвинулись в понимании алгоритма машинного обучения SVM.
Если у вас есть какие-либо вопросы/вопросы, обращайтесь к Ашутошу Упадхьяю. Я был бы рад ответить. Если вы видите какие-либо исправления, укажите на это, я был бы рад добавить/исправить, помните, что мы все учимся вместе…
Большое спасибо за чтение и продолжайте суетиться…… :)