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


12

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

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


Каков был тип и стиль этих дополнительных функций? Где они похожи на варианты существующих функций или некоторые более свежие функции, которые, по вашему мнению, могут иметь дополнительную разрешающую способность?
— Филип Окли

Это проблема классификации документов, а дополнительные функции - просто слова. Я использовал униграмму для построения пространственного объекта.
— user3269

Учитывая ответ @ marc, который сделал изменение, увеличилось ли число векторов с количеством признаков, или наоборот.
— Филипп Окли

@Phillip, мой первоначальный ответ был неверным. Я думаю, что отредактированный ответ точен сейчас.
— Марк Шиверс

Ответы:


13

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

minw,ξ,b{12‖w‖2+C∑i=1nξi}

st yi(w⋅xi−b)≥1−ξi,    ξi≥0, для всех i=1,…n

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.