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.
machine-learning
classification
svm
kernel-trick
user3269
fuente
fuente
Respuestas:
Si observa el problema de optimización que SVM resuelve:
styi(w⋅xi−b)≥1−ξi, ξi≥0,
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=0 j
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.
fuente