Как получить «Машину опорных векторов»

машинное обучение
Как получить «Машину опорных векторов»

0. Предисловие

В этой статье описываются только основы машин опорных векторов (SVM) и не затрагиваются какие-либо дополнительные аспекты.

1. Роль машины опорных векторов

Сначала посмотрите на картинку:

Наш первый порыв — провести линию между двумя стопками точек, чтобы разделить два типа точек.

2. Как судить о хорошем или плохом

Приходит следующий вопрос, есть много линий, которые могут различать две стопки точек, как отличить, какая из них лучше? Это приводит к понятию **ширины улицы (маржи)**:

Приведенные выше две кривые могут быть выражены следующими двумя формулами:

Почему мы выбрали здесь константу 1? Потому что, если мы предполагаем константу k, мы всегда можем масштабировать w и b, разделив обе части на k, чтобы сделать правую часть равной 1.

Приведенные выше две формулы могут быть объединены как:

Теперь рассчитаем ширину улицы:

Мы используем следующую формулу для расчета ширины улицы.

(x_+ - x_-)* \frac{w}{||w||} = (wx_+-wx_-)* \frac{w}{||w||} =(1-b- (-1-b)) * \frac{w}{||w||} = 2 * \frac{1}{||w||}

3. Оптимизируйте ширину улицы

Теперь мы знаем, что ширина улицы зависит только от w, и вот наша цель оптимизации:

max \frac{1}{||w||} => min \frac{1}{2} ||w||^2

В этот момент все (x, y) удовлетворяют:

4. Оптимальное решение

Подводя итоги текущих целей оптимизации:

Мы можем преобразовать ее в следующую экстремальную задачу по Лагранжиану:
Выведенный здесь, мы можем решить его с помощью некоторых математических инструментов\alpha_iПриходить. когда мы спрашиваем\alpha_iПосле этого мы можем вернуть w,b к исходной формуле и получить:

5. Опорные векторы

Очень важным понятием в машине опорных векторов является опорный вектор, давайте посмотрим на формулу в приведенном выше выводе:

В красной части выше для тех точек, которые не находятся на «Улице», их значение должно быть больше 0, поэтому для получения максимального значения лучше всего оставить\alpha_i=0, поэтому в формуле суждения нам нужно только вычислить\alpha_i!=0те изx_iи скалярное произведение вновь добавленной точки x.
Описание изображения:

6. Функция ядра

Изменение линейного пространства на нелинейное пространство, что делает данные линейно разделимыми:

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

7. Обработка выбросов

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

То есть есть обязательный запас по ширине улицы каждой точки:
Кроме того, есть место для целей оптимизации:
Затем тем же методом, что и выше, мы можем, наконец, перейти к следующей задаче:
По сравнению с предыдущими результатами вы можете видеть, что единственное отличие состоит в том, что у каждого α есть верхний предел C.

8. Резюме

В этой статье вводится роль машины опорных векторов, шаг за шагом выводится процесс решения машины опорных векторов, затем дается понятие «опорного вектора» и, наконец, вводится метод ядра и метод обработки выбросов для решения нелинейной сепарабельной задачи. данные проблема классификации.

9. Ссылка

Серия опорных векторов

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

这个时代,每个人都是超级个体!关注我,一起成长!