La relación entre la cantidad de vectores de soporte y la cantidad de características

12

Ejecuté un SVM contra un conjunto de datos dado e hice la siguiente observación: Si cambio la cantidad de características para construir el clasificador, la cantidad de vectores de soporte resultantes también cambiará.

Me gustaría saber cómo explicar este tipo de escenario.

user3269
fuente
¿Cuál fue el tipo y el estilo de esas características adicionales? ¿Dónde se parecen variantes de las características existentes, o algunas características más nuevas que creías que podrían tener un poder de resolución adicional?
Philip Oakley
Este es un problema de clasificación de documentos, y las características adicionales son solo palabras. Usé unigram para construir espacio de características.
user3269
Dada la respuesta de @marc, que fue el cambio, el número de vectores aumentó con el número de características, o al revés.
Philip Oakley
@Phillip, mi respuesta original fue incorrecta. Creo que la respuesta editada es precisa ahora.
Marc tiembla el

Respuestas:

13

Si observa el problema de optimización que SVM resuelve:

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

st yi(wxib)1ξi,    ξi0, para todo i=1,n

los vectores de soporte son aquellos donde el correspondiente . En otras palabras, son los puntos de datos que están mal clasificados o cerca del límite.xiξi>0

Ahora comparemos la solución a este problema cuando tenga un conjunto completo de características, en el caso en que descarte algunas características. Tirar una característica es funcionalmente equivalente a mantener la característica, pero agregar una contraint para la característica que deseamos descartar. wj=0j

Cuando compara estos dos problemas de optimización y trabaja con las matemáticas, resulta que no existe una relación sólida entre el número de características y el número de vectores de soporte. Podría ir en cualquier dirección.

Es útil pensar en un caso simple. Imagine un caso de 2 dim donde sus características negativas y positivas están agrupadas alrededor de (-1, -1) y (1,1), respectivamente, y son separables con un hiperplano de separación diagonal con 3 vectores de soporte. Ahora imagine dejar caer la función del eje y, por lo que sus datos ahora se proyectan en el eje x. Si los datos aún son separables, digamos en x = 0, probablemente solo te quedarán 2 vectores de soporte, uno en cada lado, por lo que agregar la función y aumentaría el número de vectores de soporte. Sin embargo, si los datos ya no son separables, obtendría al menos un vector de soporte para cada punto que está en el lado equivocado de x = 0, en cuyo caso agregar la función y reduciría el número de vectores de soporte.

Entonces, si esta intuición es correcta, si está trabajando en espacios de características de dimensiones muy altas, o está usando un núcleo que se asigna a un espacio de características de dimensiones altas, entonces es más probable que sus datos sean separables, por lo que agregar una característica tenderá simplemente agregar otro vector de soporte. Mientras que si sus datos no son actualmente separables y agrega una característica que mejora significativamente la capacidad de separación, es más probable que vea una disminución en el número de vectores de soporte.

Marc tiembla
fuente