**** MATLAB files in this directory:

  align_lorentz.m
  align_ortho.m
  linear_max_margin.m
  load_mnist.m
  main_DoS.m
  main_linear.m 
  main_separable.m

It should be possible to reproduce all the results of the paper with these files.

To do so, however, it will be necessary to download the INFIMNIST data set. The INFIMNIST data set is available here:
  https://leon.bottou.org/projects/infimnist
The code will also need to be updated with the location of the INFIMNIST directory. See in particular line 13 of main_DoS.m and main_linear.m and line 15 of main_separable.m.

**** Description of main files:

main_DoS.m outputs the results in Figures 4-5 of the paper for a DoS classifier with a particular number of hidden units per class. That number is set on line 31, and it can be modified to train models of higher capacity.

main_linear.m outputs the results in Figures 4-5 of the paper for a linear classifier.

main_separable.m outputs the results in Figure 3 of the paper. This file relies on the CVX package for convex optimization; see lines 5-6. CVX is freely available here:
  http://cvxr.com/cvx/download/
  
The remaining files are helper functions:

align_lorentz.m performs the transformation described in step 1 on page 7.

align_ortho.m performs the transformation described in step 2 on page 7.

linear_max_margin.m determines whether a labeled data set is linearly separable by attempting to compute the maximum-margin separating hyperplane.

**** WARNINGS ****

The code restores the default path of MATLAB, so be sure to save any customized path information before executing these files.