SVM Rank regularization parameter

411 Views Asked by At

When learning a ranking function with SVM Rank, should the values of regularization parameter C be the same as the ones used in classification?

The reason why I am asking is that SVM Rank website suggests that the parameter should be C = C_light * n, where n is the number of different queries. The way I interpreted this is that C_light is the value of C in classification problem. But now, C can become quite big and it takes really a lot of time to learn a ranking function. Should I take values for C just as in classification? Am I interpreting the website incorrectly?

Link: SVM Rank

1

There are 1 best solutions below

0
On

Keep in mind that suggestions like those are heuristics. There are several things you want to keep in mind when choosing a value for C.

I like to start by choosing values that enable the algorithm to finish very quickly, then start incrementing it upwards, looking at how both execution time and model accuracy are varying.

You can stop increasing it if: - accuracy decreases - it starts to take so long that it's just not worth it

Keep the suggested value of C in mind just as a sanity check / ballpark suggestion. If the value you come up with is much much different, and especially if your SVM is performing badly, it's a sign that there's a bug or something is wrong.