Incremental and Decremental Support Vector Machine Learning

Matlab code, and examples

Gert Cauwenberghs


This site provides freely downloadable Matlab code, data files, and example scripts for incremental SVM classification, including exact leave-one-out (LOO) cross-validation.

To start, run test_2d.m or test_diabetes.m at the Matlab prompt. Make sure to have all *.m and *.mat files in your directory. Use the Matlab "help" function to find syntax and more information on the implemented functions. Some of the parameters are available as global variables in the workspace (see test*.m for examples).

This software is in the public domain; there are no implied warranties of any kind! Send bug reports to


The gzipped, tarred file incremental.tar.gz or zipped file contain all matlab functions along with scripts, sample data, and sample output. The file structure of the incremental/ directory is as follows:
      1934 Nov 13  2007 README
       811 Jan 14  2001 SetFont.m
       326 Jan 14  2001 SetMarker.m
     31172 Jan 14  2001 atraj.eps
      2328 Jan 14  2001 data.mat
    100144 Jan 12  2001 diabetes.mat
     10416 Jan 14  2001 gctraj.eps
       385 Jun 30  1999 genlindata.m
       723 Jan 14  2001 gennonlindata.m
     79053 Jan 14  2001 gtraj.eps
       896 Jun  6  2002 kernel.m
      2328 Jul  2  1999 lindata100.mat
     18528 Jun 30  1999 lindata1000.mat
      2808 Jan 14  2001 nonlindata100.mat
     37697 Jan 14  2001 points.eps
     79217 Jan 14  2001 pointsc.eps
      1759 Jan 13  2001 svcm_run.m
      2167 Jan 13  2001 svcm_test.m
     31930 Jun  7  2002 svcm_train.m
      2725 Jan 14  2001 test_2d.m
       528 Jan 14  2001 test_diabetes.m
    189240 Jan 14  2001 traj.mat

Matlab functions and scripts:
  svcm_*.m     support vector classification machine
  kernel.m     kernel function used in svcm_*.m
  test*.m      example demo scripts
  Set*.m       graphics formatting
  gen*.m       data generating functions

Matlab sample data:
  *.mat        vectors x [L,N], and labels y [L,1] (-1 or 1)

Sample output display:
  *.eps        encapsulated PostScript


G. Cauwenberghs and T. Poggio, "Incremental and Decremental Support Vector Machine Learning," in Adv. Neural Information Processing Systems (NIPS*2000), Cambridge MA: MIT Press, vol. 13, 2001.

C.P. Diehl and G. Cauwenberghs, "SVM Incremental Learning, Adaptation and Optimization," Proc. IEEE Int. Joint Conf. Neural Networks (IJCNN'2003), Portland OR, July 20-23, 2003.

Other incremental SVM code

SVM incremental on-line classification, LOO evaluation, and hyperparameter optimization (Chris Diehl):

SVM incremental on-line regression (Francesco Parrella):

Last updated November 13, 2007