Es muy probable que el problema sea el número de vectores de soporte: si la fracción de puntos mal clasificados es sólo del 5%, en su caso tendrá al menos 29K vectores de soporte.
Hay varias técnicas diferentes que se pueden utilizar para lograr una solución más escasa; véase, por ejemplo aquí o aquí (entre otros muchos).
Una sencilla técnica alternativa que puede utilizar (que se inspira en este documento que utiliza límites de compresión en los que se observa el número de bits que se necesitan para codificar una solución que clasifique correctamente todos los puntos de entrenamiento), consiste en crear una nueva solución dispersa a partir de los vectores de soporte. La idea se basa en el hecho de que:
- Un plano de decisión que clasifique todos los puntos de los márgenes como +1/-1 será muy escaso y clasificará correctamente la gran mayoría de los puntos (en particular los que están más allá del margen).
- Los puntos mal clasificados pueden ser una gran fracción, pero -al ser erróneos- no hacen un buen trabajo de apoyo a la separación entre las clases, en particular si tienen grandes pérdidas. Además, cualquier modificación de la solución no puede hacerla funcionar peor desde la perspectiva de la pérdida 0-1 para estos puntos.
- Los puntos que están cerca del límite de decisión, pero que siguen siendo clasificados correctamente, son más sensibles a ser clasificados erróneamente que los puntos que están lejos del límite. Estos puntos también son más importantes para definir la forma "local" del límite de decisión.
Basándonos en lo anterior, definimos el siguiente enfoque. Sea $\delta \in [0,1)$ ser un límite para los puntos del tercer grupo, por ejemplo $\delta = 0.1$ significaría que consideraríamos todos los puntos con pérdida en el rango $[1-\delta, 1)$ para estar en ese grupo. Que el primer grupo sea $M$ (en el caso de los SV en el margen, se trata de SV no vinculados que tienen $0 \leq \alpha_i < C$ y el tercer grupo sea $P_\delta$ . Entonces resolvemos el siguiente programa lineal para crear una nueva solución definida como $w = \sum_i \beta_i y_i x_i$ resolviendo:
$$ \min_{i \in M \bigcup P_\delta} \sum |\beta_i| \\ \textrm{s.t.}\\ \forall j \in M: \sum \beta_i y_i y_j k(x_i,x_j) = 1 \\ \forall j \in P_\delta: \sum \beta_i y_i y_j k(x_i,x_j) > 0 $$ El número de puntos adicionales mal clasificados según este enfoque será bastante pequeño (y de hecho puede ser negativo, ya que algunos puntos previamente mal clasificados pueden ser ahora clasificados correctamente), mientras que la solución será significativamente más escasa.