What can cause liblinear to reach the maximum number of iterations?

I use liblinear with my program to classify across multiple classes using a solver L2R_L2LOSS_SVC_DUAL. In the current test setup, I have 1600 instances of 9 classes with 1000 functions each.

I am trying to determine the optimal C parameter for training with 5x cross-validation, but even with a little C 1.0 liblinear reaches the maximum number of iterations:

................................................................................
....................
optimization finished, #iter = 1000

WARNING: reaching max number of iterations
Using -s 2 may be faster (also see FAQ)

Objective value = -637.100923
nSV = 783

The FAQ section mentions two possible reasons:

  • Data is not scalable.
  • Large parameter C is used.
  • Many instances are used with few features, so the solver L2R_L2LOSS_SVCcan be faster.

. - , , [0,1].

liblinear :

struct parameter svmParams;
svmParams.solver_type = L2R_L2LOSS_SVC_DUAL;
svmParams.eps = 0.1;
svmParams.nr_weight = 0;
svmParams.weight_label = NULL;
svmParams.weight = NULL;
svmParams.p = 0.1;
svmParams.C = 1.0;

: , FAQ, , liblinear ?

+4

All Articles