Подтвердить что ты не робот

SVM - твердые или мягкие поля?

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

4b9b3361

Ответ 1

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

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

enter image description here

Чтобы понять, что делает SVM с мягким полем, лучше взглянуть на него в двойной формулировке, где вы можете видеть, что у него та же цель максимизации маржи (маржа может быть отрицательной), что и у SVM с жестким полем, но с дополнительным ограничением, что каждый множитель Лагранжа, связанный с опорным вектором, ограничен C. По существу, это ограничивает влияние любой отдельной точки на границе решения, для деривации, см. Предложение 6.12 в Cristianini/Shaw-Taylor "Введение в опорный вектор". Машины и другие основанные на ядре методы обучения ".

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

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

enter image description here

Значение опорных векторов:

Для SVM с жестким полем опорные векторы - это точки, которые "на полях". На рисунке выше, C = 1000 довольно близко к SVM с жестким полем, и вы можете видеть, что точки, которые будут касаться поля, обозначены кружочками (на этом рисунке запас почти равен 0, поэтому он по сути такой же, как и у разделяющей гиперплоскости). )

Для мягкого поля SVM легче объяснить их в терминах двойных переменных. Ваш предиктор опорных векторов в терминах двойных переменных является следующей функцией.

enter image description here

Здесь alphas и b - это параметры, которые можно найти во время процедуры обучения, xi, yi - ваш тренировочный набор, а x - новая точка данных. Вспомогательные векторы - это точки данных из обучающего набора, которые включены в предиктор, т.е. Те, которые имеют ненулевой альфа-параметр.

Ответ 2

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