Divide-and-Conquer kernel SVM (DC-SVM)


The Program

DC-SVM implements a divide-and-conquer procedure for speeding up kernel SVM training.
Details can be found in the following paper.

A Divide-and-Conquer Solver for Kernel Support Vector Machines
Cho-Jui Hsieh, Si Si, and Inderjit S. Dhillon
ICML, 2014

Please acknowledge the use of the code with a citation.


Download

You can download the code here. The latest implementation is based on LIBSVM.


Example on ijcnn1 dataset (included in the package)

>> demo_ijcnn
Start training Gaussian kernel SVM with early prediction
RBF kernel, DCSVM-early test accuracy 0.983959, training time 5.57 seconds
Start training Gaussian kernel SVM
Training Level 4
Training Level 3
Training Level 2
Training Level 1
RBF kernel, DC-SVM test accuracy 0.983915, training time 31.44 seconds
Start training polynomial kernel SVM with early prediction
polynomial kernel, DC-SVM early test accuracy 0.985998, training time 29.59 seconds
Start training polynomial kernel SVM
Training Level 4
Training Level 3
Training Level 2
Training Level 1
polynomial kernel, DC-SVM test accuracy 0.971189, training time 43.45 seconds



Dependency

Please see README attached in the tarball for more details.


Bug reports and comments are always appreciated. We would like to know who showed interest in our work, feel free to contact us.