Batching: A Growing-Batch Quasi-Newton Method

By Mark Schmidt (2011)
Last updated 7 July 2019.

Summary

This code contains a Matlab implementation of a growing-batch quasi-Newton method, described in the following paper: Clicking on the image belows gives a presentation giving an overview of this work:



The code also contains a variant that exploits sparsity in the sum ("support vectors") described in an addendum here

Download and Examples

To use the code, download and unzip hybrid.zip.

Once this is done, type the following in Matlab:

>> cd hybrid                   % Change to the unzipped directory
>> addpath(genpath(pwd))       % Add all sub-directories to the path
>> mexAll                      % Compile mex files (not necessary on all systems)
>> example_batching            % An example of using the method
>> example_batchingL2SVM       % An example of using the sparse variant
To produce the plots in the paper, run expBatching_plotAll. If you delete the results files, you can re-run the experiments from the paper using expBatching_runAll (this is slow because some operations are not implemented efficiently in the loss functions, and because the methods that do not use the full batch frequently evaluate the objective function for tracking purposes).
Mark Schmidt > Software > batching