The prediction time depends on number of support vector, but I want to do prediction faster.
How can I set number of support vectors in libsvm to const value?
Maybe I can find N support vectors and then reduce it to K (K< N) by some approximation?
As stated in other answers, the easier way to control the number of support vectors is by playing with C and kernel parameters. However, there are a few interesting papers on that topic:
Building Support Vector Machines with Reduced Classifier Complexity PDF
An Efficient Method for Simplifying Support Vector Machines PDF
A Study on Reduced Support Vector Machines PDF
And unfortunately I couldn't find a public source for this one:
An Algorithm for Reducing the Number of Support Vectors (http://link.springer.com/chapter/10.1007%2F1-4020-3432-6_12?LI=true#page-1)
Number of support vectors depends on training data and parameters c, and chosen kernel parameters (e.g. gaussian has Gamma).
As far as I know there is no explicit way how to define number of support vectors. Just a clue: maybe some extreme values like c=0 would make some extreme number of support vectors - but supposedly it is not what you are looking for ...
Likely, better approach would be to find parameters setting that would give you number of support vectors you need and results are still reasonable.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With