1
$\begingroup$

I have 200 training set data with a feature dimension of 1711. I get 50 support vectors; is there a rule of thumb for how many support vectors I should get for N training set data in order for the model to be generalized? Obviously, having 200 support vectors for 200 training set data is bad overfitting. I was wandering if there was a rule of thumb (eg- % of N training data) for number of support vectors.

The relationship between the number of support vectors and the number of features

I came upon this question where it says the number of features may or may not increase the number of support vectors depending on the separability of the data, but that's all I've found so far.

$\endgroup$
1
$\begingroup$

As stated in your linked question, there cannot be a rule of thumb. It only depends on the problem, i.e the distributions of your target and your features.

And that is also not the question you have to ask. The only thing you should be interested is, does this svm overfit the training data or not. And therefore you have to use techniques like cross validation, or simply resereve some data as a testsample and check the result there. There is no way around!

$\endgroup$
1
$\begingroup$

You may find $\nu$-svm interesting. It re-parameterises the problem to give bounds on the number of support vectors and the misclassification rate. Google "nu svm", or follow the links at https://stackoverflow.com/questions/11230955/what-is-the-meaning-of-the-nu-parameter-in-scikit-learns-svm-class

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.