Взаимосвязь между количеством векторов поддержки и количеством функций

12

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

Я хотел бы знать, как объяснить такой сценарий.

user3269
источник
Каков был тип и стиль этих дополнительных функций? Где они похожи на варианты существующих функций или некоторые более свежие функции, которые, по вашему мнению, могут иметь дополнительную разрешающую способность?
Филип Окли
Это проблема классификации документов, а дополнительные функции - просто слова. Я использовал униграмму для построения пространственного объекта.
user3269
Учитывая ответ @ marc, который сделал изменение, увеличилось ли число векторов с количеством признаков, или наоборот.
Филипп Окли
@Phillip, мой первоначальный ответ был неверным. Я думаю, что отредактированный ответ точен сейчас.
Марк Шиверс

Ответы:

13

Если вы посмотрите на проблему оптимизации, которую решает SVM:

minw,ξ,b{12w2+Ci=1nξi}

st yi(wxib)1ξi,    ξi0, для всех i=1,n

опорные векторы - это те где соответствующие . Другими словами, они являются точками данных, которые либо неправильно классифицированы, либо близки к границе.xiξi>0

Теперь давайте сравним решение этой проблемы, когда у вас есть полный набор функций, со случаем, когда вы отбрасываете некоторые функции. Удаление объекта функционально эквивалентно сохранению объекта, но добавление противопоказания для объекта , от которого мы хотим отказаться. wj=0j

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

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

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

Марк Шиверс
источник