Я запустил SVM для данного набора данных и сделал следующее наблюдение: если я изменю количество функций для построения классификатора, число результирующих векторов поддержки также будет изменено.
Я хотел бы знать, как объяснить такой сценарий.
Я запустил SVM для данного набора данных и сделал следующее наблюдение: если я изменю количество функций для построения классификатора, число результирующих векторов поддержки также будет изменено.
Я хотел бы знать, как объяснить такой сценарий.
Ответы:
Если вы посмотрите на проблему оптимизации, которую решает SVM:
st для всех
опорные векторы - это те где соответствующие . Другими словами, они являются точками данных, которые либо неправильно классифицированы, либо близки к границе.
Теперь давайте сравним решение этой проблемы, когда у вас есть полный набор функций, со случаем, когда вы отбрасываете некоторые функции. Удаление объекта функционально эквивалентно сохранению объекта, но добавление противопоказания для объекта , от которого мы хотим отказаться.
Когда вы сравниваете эти две задачи оптимизации и прорабатываете математику, оказывается, что нет жесткой связи между количеством функций и числом векторов поддержки. Это может пойти в любую сторону.
Полезно подумать о простом случае. Представьте себе 2-мерный случай, когда ваши отрицательные и положительные черты сгруппированы вокруг (-1, -1) и (1,1), соответственно, и разделяются диагональной разделяющей гиперплоскостью с 3 опорными векторами. Теперь представьте, что вы опускаете объект по оси Y, поэтому ваши данные теперь проецируются по оси X. Если данные по-прежнему разделимы, скажем, при x = 0, у вас, вероятно, останется только 2 опорных вектора, по одному на каждой стороне, поэтому добавление функции y увеличит количество опорных векторов. Однако, если данные больше не могут быть разделены, вы получите по крайней мере один опорный вектор для каждой точки, которая находится на неправильной стороне x = 0, и в этом случае добавление функции y уменьшит количество опорных векторов.
Итак, если эта интуиция верна, если вы работаете в пространственных объектах с очень большими измерениями или используете ядро, которое отображается в пространственное пространство с большими измерениями, то ваши данные с большей вероятностью будут разделены, поэтому добавление объекта будет иметь тенденцию просто добавить еще один опорный вектор. Принимая во внимание, что если ваши данные в настоящее время не являются разделимыми, и вы добавляете функцию, которая значительно улучшает разделимость, то вы с большей вероятностью увидите уменьшение числа векторов поддержки.