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

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

Давайте попробуем понять, как SVM выполняет задачу классификации для простоты интуиции, алгоритм пытается найти линейное разделение (линия в случае 2D, плоскость в случае 3D и гиперплоскость размерного пространства)

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

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

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

  • В каком размерном пространстве данные становятся линейно разделяемыми? - Ответить на вопрос не может быть однозначным.
  • Насколько это интенсивно с точки зрения вычислений? - На этот вопрос однозначно дорого.

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

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

В простом виде - шаги, выполняемые в SVM

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

Step02 - ядро ​​Magic Box

Шаг03 - значение скалярного произведения, как если бы входные данные сначала преобразовывались в пространство более высокой размерности, а затем вычисляли там скалярное произведение.

Существуют различные типы ядер, такие как линейное ядро, ядро ​​радиальной базисной функции, полиномиальное ядро ​​и т. Д., И в зависимости от данных мы можем выбрать соответствующие ядра или мы можем поэкспериментировать с разными ядрами и выбрать лучшее.

Чтобы поддерживать разумную вычислительную нагрузку, отображения, используемые схемами SVM, предназначены для обеспечения того, чтобы точечные произведения пар векторов входных данных можно было легко вычислить в терминах переменных в исходном пространстве, определяя их в терминах функции ядра k (x, y) выбран в соответствии с задачей

Гиперплоскости в многомерном пространстве определяются как набор точек, скалярное произведение которых с вектором в этом пространстве является постоянным, где такой набор векторов является ортогональным (и, следовательно, минимальным) набором векторов, который определяет гиперплоскость. Векторы, определяющие гиперплоскости, могут быть выбраны как линейные комбинации с параметрами {\ displaystyle \ alpha _ {i}}

изображений векторов признаков xi, которые встречаются в базе данных. При таком выборе гиперплоскости точки x в пространстве признаков, которое отображается в гиперплоскость, определяются соотношением

Обратите внимание, что если k (x, y) становится малым по мере того, как y растет дальше от x, каждый член в сумме измеряет степень близости контрольной точки x к соответствующей точке xi базы данных. Таким образом, указанная выше сумма ядер может использоваться для измерения относительной близости каждой контрольной точки к точкам данных, происходящим в том или другом из наборов, подлежащих различению. Обратите внимание на тот факт, что набор точек x, отображаемых в любую гиперплоскость, может быть довольно запутанным в результате, что позволяет гораздо более сложное различение между наборами, которые вообще не являются выпуклыми в исходном пространстве.

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

  • Если мы поставим очень строгое ограничение, что все точки данных должны быть правильно классифицированы линейным разделителем. Тогда такая маржа называется Hard Margin. Если алгоритм не может найти такую ​​гиперплоскость, что все точки не классифицированы правильно, то разделитель не рисуется.
  • Если мы можем ослабить ограничение и допустить некоторые неправильные классификации (ошибки), то можно будет идентифицировать линейный разделитель. Маржа с такими мягкими ограничениями называется мягкой маржей. Чтобы разрешить неправильную классификацию уравнения гиперплоскости yi WT. X + b ≥ 1 добавляется еще один термин, известный как резервная переменная. Это определяет, насколько допустима ошибочная классификация. Уравнение имеет вид yi WT .X + b≥1-ξ

Хочу провести аналогию с уравнением регуляризации. Функция стоимости представляет собой сумму ошибок и возведенную в квадрат сумму коэффициентов (с точки зрения гребня).

  • В случае SVM нам нужно получить W с учетом ограничений. Мы также видели, что если не найден линейный разделитель, который правильно классифицирует все точки данных, то мы ввели переменные резерва, которые могут допускать некоторую неправильную классификацию (или ошибку). Мы проверяем, что запас должен быть как можно более широким (чтобы минимизировать || W || и уменьшить количество ошибок классификации. Поэтому уравнение записывается как min∥w∥ + C∥ξ∥.

C здесь называется настраиваемым параметром. Чем выше параметр C, тем меньше маржа, а чем ниже параметр C, тем больше маржа. Почему это важно?

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

Как делаются прогнозы?

  • Следует помнить, что только опорные векторы определяют значения W (см. Пункт 6 f.), И это было решено с использованием структуры квадратичной оптимизации. Итак, модель SVM в основном хранит координаты опорных векторов.
  • Когда поступает новая контрольная точка, берется скалярное произведение между вектором поддержки и точкой данных.

  • Технически это скалярный продукт между векторами поддержки и контрольными точками. Если знак равен + ve, он принадлежит к одному классу, иначе он принадлежит к другому классу.

Преимущества опорной векторной машины:

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

Недостатки поддержки векторной машины:

  • Алгоритм опорной векторной машины неприемлем для больших наборов данных.
  • Это не очень хорошо работает, когда набор данных имеет больше звука, т. Е. Целевые классы перекрываются.
  • В случаях, когда количество свойств для каждой точки данных превышает количество экземпляров обучающих данных, машина опорных векторов будет работать хуже.
  • Поскольку классификатор опорных векторов работает путем размещения точек данных выше и ниже классифицирующей гиперплоскости, для классификации нет вероятностного пояснения.

Приложения опорных векторных машин:

  1. Наблюдение за лицом - используется для определения лица по классификатору и модели.
  2. Расположение текста и гипертекста - в этом случае метод категоризации используется для поиска важной информации, или вы можете указать необходимую информацию для организации текста.
  3. Группировка изображений - она также используется при группировке изображений для группировки, или вы можете сказать, сравнивая часть информации и предпринимая соответствующие действия.
  4. Биоинформатика - он также используется в медицине, а также в лабораториях, ДНК, исследованиях и т. д.
  5. Запоминание почерка - в данном случае используется для распознавания почерка.
  6. Белковая складка и определение удаленной гомологии - используется для определения или вы можете разделить классификационный класс на функциональные и структурные классы с учетом их аминокислотных последовательностей. Это одна из проблем биоинформатики.
  7. Обобщенное прогнозирующее управление (GPC) - он также используется для Обобщенного прогнозирующего управления (GPC) для прогнозирования и основан на прогнозирующем управлении с использованием многослойной сети с прямой связью, поскольку представлена ​​линейная модель объекта.

Точка 6-битная математическая (для дополнительного чтения):

Математически обозначим svms, граница определяется

Yi W ^ T. X + b ≥ ± 1 (где значение Yi равно ± 1, +1 для положительного класса и -1 для отрицательного класса).

W ^ T - вектор, перпендикулярный гиперплоскости, называемый вектором веса. Вышеприведенное уравнение в основном определяет границу / гиперплоскость. Если значение уравнения больше 1, оно принадлежит классу 1, а если значение меньше -1, оно принадлежит классу 2. Тогда задача сводится к тому, чтобы идентифицировать W и b, чтобы они удовлетворяли ограничениям.

Медиана двух границ имеет уравнение WT.X + b = 0. Расстояние между этой плоскостью и ближайшими точками с одной стороны геометрически задается как 1 / || W ||. Таким образом, технически маржа будет равна 2 / || W ||. || W || - величина W.

Как упоминалось ранее, нам необходимо максимизировать этот запас 2 / || W || или свести к минимуму || W ||, поскольку он обратный (min∥w∥)

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

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

W задается как ∑𝑛 𝛼 𝑦 ⃗𝑥⃗, где i находится в диапазоне от 1 до всех точек данных, и у нас есть ненулевые значения для точек данных опорных векторов, где 𝛼𝑖 - множитель Лагранжа, связанный с каждой точкой данных.