0
$\begingroup$

I'm working on a protein multi-classification problem, using libsvm and the edit distance kernel. This kernel depends on a parameter $\gamma$. I'm able to get the best parameters ($\gamma$ and $C$) through grid search. But if I use a kernel that depends from 3 or more parameters, the grid search is computationally heavy, so I'm thinking about approaching the problem with an evolution strategy (for instance CMA-ES). Is there a way to do this in libsvm?

$\endgroup$

1 Answer 1

0
$\begingroup$

That's not the most efficient or easiest approach.

Indeed SVMs require parameters tuning, but typically they are quite robust on relatively large ranges of params (assuming you scaled features).

In practice you will tune params working on a log scale. For example you start by searching an optimal set for C among values 1,100,1000,10K. Similarly for g, for example the values .001, 0.01, .1, and so on for any other hyper-parameter. If you find some values that work best for your problem, for example C=10, g=0.01 you may try a next round of tuning, looking the range (-5, 5) with step 1 for C and the values (0.005, 0.006, ...0, 0.015) for g. If you see that performance doesn't increase by some significant factor for the different combinations there's no point of trying to fine tune more.

$\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.