Машины опорных векторов являются проблемой оптимизации.Они пытаются найти гиперплоскость, которая разделяет два класса с наибольшим запасом.Опорные векторы - это точки, попадающие в это поле.Это легче понять, если построить его от простого к более сложному.
Линейный линейный SVM с жестким запасом
В обучающем наборе, в котором данные являются линейно разделимыми, иВы используете жесткий край (без провисания), опорные векторы - это точки, которые лежат вдоль опорных гиперплоскостей (гиперплоскостей, параллельных разделительной гиперплоскости по краям поля)
Все опорные векторы лежат точно на полях.Независимо от количества измерений или размера набора данных, число опорных векторов может быть всего 2.
Линейный линейный SVM с мягким полем
Но что еслинаш набор данных не является линейно разделимым?Введем мягкий запас SVM.Мы больше не требуем, чтобы наши точки данных находились за пределами поля, мы позволяем некоторому количеству их отклоняться от границы к границе.Мы используем слабый параметр C, чтобы контролировать это.(nu в nu-SVM) Это дает нам более широкий запас и большую погрешность в обучающем наборе данных, но улучшает обобщение и / или позволяет нам найти линейное разделение данных, которое не может быть линейно разделено.
Теперь число опорных векторов зависит от того, насколько мы допускаем слабину, и от распределения данных.Если мы допустим большое ослабление, у нас будет большое количество векторов поддержки.Если мы допустим очень небольшой провал, у нас будет очень мало векторов поддержки.Точность зависит от определения правильного уровня провала для анализируемых данных.По некоторым данным будет невозможно получить высокий уровень точности, мы просто должны найти наилучшее соответствие, которое сможем.
Нелинейный SVM
Это подводит наск нелинейному SVM.Мы все еще пытаемся линейно разделить данные, но теперь мы пытаемся сделать это в пространстве более высокого измерения.Это делается с помощью функции ядра, которая, конечно, имеет свой собственный набор параметров.Когда мы переводим это обратно в исходное пространство признаков, результат получается нелинейным:
Теперь число опорных векторов по-прежнему зависит от того, сколько мы допустим, ноэто также зависит от сложности нашей модели.Каждый поворот в окончательной модели в нашем входном пространстве требует определения одного или нескольких векторов поддержки.В конечном итоге, результатом SVM являются опорные векторы и альфа, которые, по сути, определяют, какое влияние этот конкретный опорный вектор оказывает на окончательное решение.
Здесь точность зависит от компромисса между моделью высокой сложности, которая может переопределить данные, и большим запасом, который неправильно классифицирует некоторые обучающие данные в интересах лучшего обобщения.Количество векторов поддержки может варьироваться от очень немногих до каждой отдельной точки данных, если вы полностью перегоняете свои данные.Этот компромисс контролируется через C и путем выбора параметров ядра и ядра.
Я полагаю, когда вы говорили о производительности, вы имели в виду точность, но я подумал, что я также буду говорить о производительности с точки зрения сложности вычислений.Для того, чтобы проверить точку данных с использованием модели SVM, необходимо вычислить скалярное произведение каждого опорного вектора с контрольной точкой.Поэтому вычислительная сложность модели является линейной по числу опорных векторов.Меньшее число векторов поддержки означает более быструю классификацию контрольных точек.
Хороший ресурс: Учебное пособие по машинам опорных векторов для распознавания образов